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 vvToolWidgetWithStepsBase.cxx
53 vvToolMedianFilter.cxx
56 # vvToolFooWithWidgetBase.cxx
59 vvToolSimpleInputSelectorWidget.cxx
60 vvToolInputSelectorWidget.cxx
62 vvBinaryImageOverlayActor.cxx
65 vvToolStructureSetManager.cxx
66 vvStructureSetActor.cxx
70 # vvToolExtractLung.cxx
71 # vvToolConnectedComponentLabeling.cxx
73 #=========================================================
75 #=========================================================
77 FIND_PACKAGE(Qt4 REQUIRED)
90 vvQDicomSeriesSelector.h
91 vvSegmentationDialog.h
92 vvSurfaceViewerDialog.h
96 vvIntensityValueSlider.h
99 # vvToolFooWithWidgetBase.h
103 vvToolSimpleInputSelectorWidget.h
104 vvToolInputSelectorWidget.h
106 vvToolWidgetWithStepsBase.h
110 vvToolStructureSetManager.h
111 vvStructureSetActor.h
114 # vvToolExtractLung.h
115 # vvToolConnectedComponentLabeling.h
118 QT4_WRAP_UI(vv_UI_CXX
119 qt_ui/vvMainWindow.ui
122 qt_ui/vvOverlayPanel.ui
123 qt_ui/vvLandmarksPanel.ui
124 qt_ui/vvHelpDialog.ui
125 qt_ui/vvDocumentation.ui
126 qt_ui/vvProgressDialog.ui
127 qt_ui/vvDicomSeriesSelector.ui
128 qt_ui/vvSegmentationDialog.ui
129 qt_ui/vvSurfaceViewerDialog.ui
130 qt_ui/vvDeformationDialog.ui
131 qt_ui/vvStructSelector.ui
132 qt_ui/vvDummyWindow.ui #For testing
133 qt_ui/vvIntensityValueSlider.ui
134 qt_ui/vvToolSimpleInputSelectorWidget.ui
135 qt_ui/vvToolInputSelectorWidget.ui
136 qt_ui/vvToolWidgetBase.ui
137 qt_ui/vvToolWidgetWithStepsBase.ui
138 qt_ui/vvToolMedianFilter.ui
139 qt_ui/vvToolRigidReg.ui
141 qt_ui/vvToolCropImage.ui
142 qt_ui/vvToolBinarize.ui
143 qt_ui/vvToolImageArithm.ui
144 qt_ui/vvToolStructureSetManager.ui
145 qt_ui/vvToolResample.ui
146 # qt_ui/vvToolExtractLung.ui
147 # qt_ui/vvToolConnectedComponentLabeling.ui
150 QT4_ADD_RESOURCES(vv_SRCS vvIcons.qrc)
153 # if Windows and Qt was built as a static lib then don't set QT_DLL flag
156 IF(EXISTS ${QT_LIBRARY_DIR}/QtCore.prl)
157 FILE(READ ${QT_LIBRARY_DIR}/QtCore.prl QT_CORE_PRL)
158 IF(${QT_CORE_PRL} MATCHES "static")
160 ENDIF(${QT_CORE_PRL} MATCHES "static")
161 ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtCore.prl)
164 ADD_DEFINITIONS(-DQT_DLL)
167 ADD_DEFINITIONS(-DQT_THREAD_SUPPORT)
172 ${QT_QTGUI_INCLUDE_DIR}
173 ${QT_QTCORE_INCLUDE_DIR}
174 ${CMAKE_CURRENT_BINARY_DIR}
175 ${CMAKE_CURRENT_SOURCE_DIR}
177 #=========================================================
179 #=========================================================
180 #support for parallel deformable registration with OpenMP
182 IF(CMAKE_COMPILER_IS_GNUCC)
183 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
184 ENDIF(CMAKE_COMPILER_IS_GNUCC)
186 #=========================================================
188 #=========================================================
196 SET(EXE_ICON vvIcon.rc)
199 LINK_DIRECTORIES(${QT_INCLUDES})
200 ADD_EXECUTABLE(vv ${vv_SRCS} vv.cxx ${vv_UI_CXX} ${EXE_ICON})
201 TARGET_LINK_LIBRARIES(vv clitkCommon clitkDicomRTStruct clitkFilters clitkSegmentationFilters ${ITK_LIBRARIES} QVTK vtkHybrid)
203 #=========================================================
205 #=========================================================
206 # Install options (also used by CPack)
207 IF(UNIX AND NOT APPLE)
208 INSTALL (FILES ${EXECUTABLE_OUTPUT_PATH}/vv DESTINATION . PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
209 INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/ducky.png DESTINATION .)
212 #FOREACH(LIB QtCore QtGui QtOpenGL QtNetwork QtSql)
213 # INSTALL(FILES "${QT_LIBRARY_DIR}/lib${LIB}.so.${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}"
214 # RENAME "lib${LIB}.so.${QT_VERSION_MAJOR}"
217 ENDIF(UNIX AND NOT APPLE)
220 #INCLUDE(InstallRequiredSystemLibraries)
221 INSTALL(FILES ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/vv.exe DESTINATION .)
222 #INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/ducky.png DESTINATION .)
224 #=========================================================
226 #=========================================================
228 SET(CPACK_PACKAGE_NAME "vv")
229 SET(CPACK_SOURCE_PACKAGE_FILE_NAME "vv-src")
230 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "vv, the 4D slicer : let's jump into a new dimension !")
231 SET(CPACK_PACKAGE_VENDOR "Creatis-CLB")
232 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
233 SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
234 SET(CPACK_PACKAGE_VERSION_MAJOR "1")
235 SET(CPACK_PACKAGE_VERSION_MINOR "1")
236 SET(CPACK_PACKAGE_VERSION_PATCH "0")
237 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "vv")
240 # There is a bug in NSI that does not handle full unix paths properly. Make
241 # sure there is at least one set of four (4) backlasshes.
242 SET(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\icons\\\\ducky.ico")
243 SET(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_BUILD_TYPE}\\\\vv.exe")
244 SET(CPACK_NSIS_DISPLAY_NAME "vv - The 4D slicer")
245 SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/rio/vv")
246 SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/rio")
247 SET(CPACK_NSIS_CONTACT "vv@creatis.insa-lyon.fr")
248 SET(CPACK_NSIS_CREATE_ICONS_EXTRA "CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\vv.lnk\\\" \\\"$INSTDIR\\\\vv.exe\\\" ")
249 SET(CPACK_NSIS_DELETE_ICONS_EXTRA "Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\vv.lnk\\\" ")
250 #SET(CPACK_NSIS_MODIFY_PATH ON) SR: buggy, wait for cmake updates for a fix
251 #SET(CPACK_BINARY_ZIP ON)
253 SET(CPACK_GENERATOR "STGZ")
254 SET(CPACK_SOURCE_GENERATOR "TGZ")
257 #=========================================================