1 cmake_minimum_required(VERSION 2.4)
3 #=========================================================
4 # To avoid warning with some version
5 if(COMMAND cmake_policy)
6 cmake_policy(SET CMP0003 NEW)
7 endif(COMMAND cmake_policy)
8 #=========================================================
10 #=========================================================
11 # List of vv source files
17 vvQProgressDialogITKCommand.cxx
18 vvQDicomSeriesSelector.cxx
20 vvSegmentationDialog.cxx
21 vvSurfaceViewerDialog.cxx
24 vvDeformationDialog.cxx
26 vvDeformableRegistration.cxx
28 vvInteractorStyleNavigator.cxx
39 vvSlicerManagerCommand.cxx
41 vvMaximumIntensityProjection.cxx
47 vvImageMapToWLColors.cxx
48 vvIntensityValueSlider.cxx
52 vvToolMedianFilter.cxx
55 # vvToolFooWithWidgetBase.cxx
58 vvToolSimpleInputSelectorWidget.cxx
59 vvToolInputSelectorWidget.cxx
61 vvBinaryImageOverlayActor.cxx
64 vvToolStructureSetManager.cxx
65 vvStructureSetActor.cxx
70 #=========================================================
72 #=========================================================
74 FIND_PACKAGE(Qt4 REQUIRED)
87 vvQDicomSeriesSelector.h
88 vvSegmentationDialog.h
89 vvSurfaceViewerDialog.h
93 vvIntensityValueSlider.h
96 # vvToolFooWithWidgetBase.h
100 vvToolSimpleInputSelectorWidget.h
101 vvToolInputSelectorWidget.h
106 vvToolStructureSetManager.h
107 vvStructureSetActor.h
112 QT4_WRAP_UI(vv_UI_CXX
113 qt_ui/vvMainWindow.ui
116 qt_ui/vvOverlayPanel.ui
117 qt_ui/vvLandmarksPanel.ui
118 qt_ui/vvHelpDialog.ui
119 qt_ui/vvDocumentation.ui
120 qt_ui/vvProgressDialog.ui
121 qt_ui/vvDicomSeriesSelector.ui
122 qt_ui/vvSegmentationDialog.ui
123 qt_ui/vvSurfaceViewerDialog.ui
124 qt_ui/vvDeformationDialog.ui
125 qt_ui/vvStructSelector.ui
126 qt_ui/vvDummyWindow.ui #For testing
127 qt_ui/vvIntensityValueSlider.ui
128 qt_ui/vvToolSimpleInputSelectorWidget.ui
129 qt_ui/vvToolInputSelectorWidget.ui
130 qt_ui/vvToolWidgetBase.ui
131 qt_ui/vvToolMedianFilter.ui
132 qt_ui/vvToolRigidReg.ui
134 qt_ui/vvToolCropImage.ui
135 qt_ui/vvToolBinarize.ui
136 qt_ui/vvToolImageArithm.ui
137 qt_ui/vvToolStructureSetManager.ui
138 qt_ui/vvToolResample.ui
141 QT4_ADD_RESOURCES(vv_SRCS vvIcons.qrc)
143 ADD_DEFINITIONS(-DQT_DLL)
144 ADD_DEFINITIONS(-DQT_THREAD_SUPPORT)
149 ${QT_QTGUI_INCLUDE_DIR}
150 ${QT_QTCORE_INCLUDE_DIR}
151 ${CMAKE_CURRENT_BINARY_DIR}
152 ${CMAKE_CURRENT_SOURCE_DIR}
154 #=========================================================
156 #=========================================================
157 #support for parallel deformable registration with OpenMP
159 IF(CMAKE_COMPILER_IS_GNUCC)
160 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp -march=native")
161 ENDIF(CMAKE_COMPILER_IS_GNUCC)
163 #=========================================================
165 #=========================================================
171 LINK_DIRECTORIES(${QT_INCLUDES})
172 ADD_EXECUTABLE(vv ${vv_SRCS} vv.cxx ${vv_UI_CXX} ${EXE_ICON})
173 TARGET_LINK_LIBRARIES(vv clitkCommon clitkDicomRTStruct clitkFilters ${ITK_LIBRARIES} QVTK)
175 IF (CLITK_VV_USE_BDCM)
176 TARGET_LINK_LIBRARIES(vv bdcm)
177 ENDIF (CLITK_VV_USE_BDCM)
178 #=========================================================
180 #=========================================================
181 # Install options (also used by CPack)
182 IF(UNIX AND NOT APPLE)
186 FOREACH(LIB QtCore QtGui QtOpenGL QtWebKit QtXmlPatterns QtNetwork QtSql)
187 INSTALL(FILES "${QT_LIBRARY_DIR}/lib${LIB}.so.${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}"
188 RENAME "lib${LIB}.so.${QT_VERSION_MAJOR}"
193 FOREACH(LIB QVTK vtkQtChart vtkViews vtkInfovis vtkWidgets vtkHybrid vtkRendering vtkImaging vtkGraphics vtkverdict
194 vtkIO vtkFiltering vtkCommon vtkDICOMParser vtkmetaio vtksqlite vtkpng vtktiff vtkjpeg vtkexpat vtksys
195 vtkftgl vtkfreetype vtkexoIIc vtkNetCDF vtklibxml2 vtkzlib vtkalglib)
196 INSTALL(FILES "${VTK_DIR}/bin/lib${LIB}.so.${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR}.0"
197 RENAME "lib${LIB}.so.${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR}"
202 FOREACH(LIB ITKAlgorithms ITKStatistics ITKFEM itkNetlibSlatec ITKNumerics ITKBasicFilters ITKIO ITKNrrdIO itkgdcm
203 itkjpeg12 itkjpeg16 itkopenjpeg itkpng itktiff itkjpeg8 ITKSpatialObject ITKCommon itkvnl_inst
204 itkvnl_algo itkv3p_netlib itkvnl itkvcl ITKMetaIO itksys ITKDICOMParser ITKEXPAT ITKniftiio ITKznz itkzlib)
205 INSTALL(FILES "${ITK_DIR}/bin/lib${LIB}.so.${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.0"
206 RENAME "lib${LIB}.so.${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}"
209 ENDIF(UNIX AND NOT APPLE)
212 SET(EXE_ICON vvIcon.rc)
215 #=========================================================
217 INCLUDE(InstallRequiredSystemLibraries)
219 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "vv, the 4D slicer : let's jump into a new dimension !")
220 SET(CPACK_PACKAGE_VENDOR "Creatis-CLB")
221 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
222 SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
223 SET(CPACK_PACKAGE_VERSION_MAJOR "1")
224 SET(CPACK_PACKAGE_VERSION_MINOR "1")
225 SET(CPACK_PACKAGE_VERSION_PATCH "0")
226 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "vv")
227 #IF(WIN32 AND NOT UNIX)
228 # There is a bug in NSI that does not handle full unix paths properly. Make
229 # sure there is at least one set of four (4) backlasshes.
230 # SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\ducky.png")
231 # SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/${CMAKE_BUILD_TYPE}\\\\vv.exe")
232 # SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} The 4D slicer")
233 # SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/rio")
234 # SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/rio")
235 # SET(CPACK_NSIS_MODIFY_PATH ON)
236 #ELSE(WIN32 AND NOT UNIX)
237 # SET(CPACK_STRIP_FILES "bin/vv")
238 # SET(CPACK_SOURCE_STRIP_FILES "")
239 #ENDIF(WIN32 AND NOT UNIX)
240 SET(CPACK_PACKAGE_EXECUTABLES "vv" "vv")