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 #=========================================================
172 SET(EXE_ICON vvIcon.rc)
176 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
179 LINK_DIRECTORIES(${QT_INCLUDES})
180 ADD_EXECUTABLE(vv ${vv_SRCS} vv.cxx ${vv_UI_CXX} ${EXE_ICON})
181 TARGET_LINK_LIBRARIES(vv clitkCommon clitkDicomRTStruct clitkFilters ${ITK_LIBRARIES} QVTK vtkHybrid)
183 IF (CLITK_VV_USE_BDCM)
184 TARGET_LINK_LIBRARIES(vv bdcm)
185 ENDIF (CLITK_VV_USE_BDCM)
186 #=========================================================
188 #=========================================================
189 # Install options (also used by CPack)
190 IF(UNIX AND NOT APPLE)
191 INSTALL (FILES ${EXECUTABLE_OUTPUT_PATH}/vv DESTINATION . PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
192 INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/ducky.png DESTINATION .)
195 #FOREACH(LIB QtCore QtGui QtOpenGL QtNetwork QtSql)
196 # INSTALL(FILES "${QT_LIBRARY_DIR}/lib${LIB}.so.${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}"
197 # RENAME "lib${LIB}.so.${QT_VERSION_MAJOR}"
200 ENDIF(UNIX AND NOT APPLE)
203 INCLUDE(InstallRequiredSystemLibraries)
204 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/ducky.png DESTINATION bin)
205 INSTALL(FILES ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/vv.exe DESTINATION bin)
206 INSTALL(FILES ${QT_PLUGINS_DIR}/../bin/QtCore4.dll DESTINATION bin)
207 INSTALL(FILES ${QT_PLUGINS_DIR}/../bin/QtGui4.dll DESTINATION bin)
210 #=========================================================
212 SET(CPACK_PACKAGE_NAME vv)
213 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "vv, the 4D slicer : let's jump into a new dimension !")
214 SET(CPACK_PACKAGE_VENDOR "Creatis-CLB")
215 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
216 SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
217 SET(CPACK_PACKAGE_VERSION_MAJOR "1")
218 SET(CPACK_PACKAGE_VERSION_MINOR "1")
219 SET(CPACK_PACKAGE_VERSION_PATCH "0")
220 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "vv")
222 SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/ducky.png")
223 SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/${CMAKE_BUILD_TYPE}/vv.exe")
224 SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} The 4D slicer")
225 SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/rio/vv")
226 SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/rio")
227 SET(CPACK_NSIS_MODIFY_PATH ON)
229 SET(CPACK_STRIP_FILES "bin/vv")
230 SET(CPACK_SOURCE_STRIP_FILES "")
232 SET(CPACK_PACKAGE_EXECUTABLES "vv" "vv")