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 #=========================================================
12 # vvToolWidgetWithStepsBase
16 # vvToolFooWithWidgetBase
19 vvToolSimpleInputSelectorWidget
20 vvToolInputSelectorWidget
22 vvToolStructureSetManager
27 # vvToolConnectedComponentLabeling
30 #=========================================================
31 # List of vv source files
37 vvQProgressDialogITKCommand.cxx
38 vvQDicomSeriesSelector.cxx
40 vvSegmentationDialog.cxx
41 vvSurfaceViewerDialog.cxx
45 vvDeformationDialog.cxx
47 vvDeformableRegistration.cxx
49 vvInteractorStyleNavigator.cxx
60 vvSlicerManagerCommand.cxx
62 vvMaximumIntensityProjection.cxx
68 vvImageMapToWLColors.cxx
69 vvIntensityValueSlider.cxx
72 vvBinaryImageOverlayActor.cxx
73 vvStructureSetActor.cxx
76 vvLabelImageLoaderWidget.cxx
82 #=========================================================
84 #=========================================================
86 FIND_PACKAGE(Qt4 REQUIRED)
99 vvQDicomSeriesSelector.h
100 vvSegmentationDialog.h
101 vvSurfaceViewerDialog.h
102 vvDeformationDialog.h
105 vvIntensityValueSlider.h
107 vvStructureSetActor.h
109 vvLabelImageLoaderWidget.h
114 QT4_WRAP_UI(vv_UI_CXX
115 qt_ui/vvMainWindow.ui
118 qt_ui/vvOverlayPanel.ui
119 qt_ui/vvLandmarksPanel.ui
120 qt_ui/vvHelpDialog.ui
121 qt_ui/vvDocumentation.ui
122 qt_ui/vvProgressDialog.ui
123 qt_ui/vvDicomSeriesSelector.ui
124 qt_ui/vvSegmentationDialog.ui
125 qt_ui/vvSurfaceViewerDialog.ui
126 qt_ui/vvDeformationDialog.ui
127 qt_ui/vvStructSelector.ui
128 qt_ui/vvDummyWindow.ui #For testing
129 qt_ui/vvIntensityValueSlider.ui
130 qt_ui/vvLabelImageLoaderWidget.ui
133 QT4_ADD_RESOURCES(vv_SRCS vvIcons.qrc)
136 foreach(tool ${vv_TOOLS})
137 SET(vv_SRCS ${vv_SRCS} ${tool}.cxx)
138 QT4_WRAP_CPP(vv_SRCS ${tool}.h)
139 QT4_WRAP_UI(vv_UI_CXX qt_ui/${tool}.ui)
142 # if Windows and Qt was built as a static lib then don't set QT_DLL flag
145 IF(EXISTS ${QT_LIBRARY_DIR}/QtCore.prl)
146 FILE(READ ${QT_LIBRARY_DIR}/QtCore.prl QT_CORE_PRL)
147 IF(${QT_CORE_PRL} MATCHES "static")
149 ENDIF(${QT_CORE_PRL} MATCHES "static")
150 ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtCore.prl)
153 ADD_DEFINITIONS(-DQT_DLL)
156 ADD_DEFINITIONS(-DQT_THREAD_SUPPORT)
161 ${QT_QTGUI_INCLUDE_DIR}
162 ${QT_QTCORE_INCLUDE_DIR}
163 ${CMAKE_CURRENT_BINARY_DIR}
164 ${CMAKE_CURRENT_SOURCE_DIR}
166 #=========================================================
168 #=========================================================
169 #support for parallel deformable registration with OpenMP
171 IF(CMAKE_COMPILER_IS_GNUCC)
172 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
173 ENDIF(CMAKE_COMPILER_IS_GNUCC)
175 #=========================================================
177 #=========================================================
185 SET(EXE_ICON vvIcon.rc)
188 LINK_DIRECTORIES(${QT_INCLUDES})
189 ADD_EXECUTABLE(vv ${vv_SRCS} vv.cxx ${vv_UI_CXX} ${EXE_ICON})
190 ADD_DEPENDENCIES(vv clitkToolsGgoLib clitkSegmentationGgoLib)
191 TARGET_LINK_LIBRARIES(vv clitkDicomRTStruct
192 #Libs for generic filters with long compilation times
194 clitkImageResampleLib
195 clitkBinarizeImageLib
196 #Libs for _ggo.c files
197 clitkSegmentationGgoLib clitkToolsGgoLib
198 clitkRegistrationGgoLib
199 clitkCommon ${ITK_LIBRARIES} QVTK vtkHybrid)
201 #=========================================================
203 #=========================================================
204 # Install options (also used by CPack)
205 IF(UNIX AND NOT APPLE)
206 INSTALL (FILES ${EXECUTABLE_OUTPUT_PATH}/vv DESTINATION . PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
207 INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/ducky.png DESTINATION .)
210 #FOREACH(LIB QtCore QtGui QtOpenGL QtNetwork QtSql)
211 # INSTALL(FILES "${QT_LIBRARY_DIR}/lib${LIB}.so.${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}"
212 # RENAME "lib${LIB}.so.${QT_VERSION_MAJOR}"
215 ENDIF(UNIX AND NOT APPLE)
218 #INCLUDE(InstallRequiredSystemLibraries)
219 INSTALL(FILES ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/vv.exe DESTINATION .)
220 #INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/ducky.png DESTINATION .)
222 #=========================================================
224 #=========================================================
226 SET(CPACK_PACKAGE_NAME "vv")
227 SET(CPACK_SOURCE_PACKAGE_FILE_NAME "vv-src")
228 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "vv, the 4D slicer : let's jump into a new dimension !")
229 SET(CPACK_PACKAGE_VENDOR "Creatis-CLB")
230 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
231 SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
232 SET(CPACK_PACKAGE_VERSION_MAJOR "1")
233 SET(CPACK_PACKAGE_VERSION_MINOR "1")
234 SET(CPACK_PACKAGE_VERSION_PATCH "0")
235 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "vv")
238 # There is a bug in NSI that does not handle full unix paths properly. Make
239 # sure there is at least one set of four (4) backlasshes.
240 SET(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\icons\\\\ducky.ico")
241 SET(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_BUILD_TYPE}\\\\vv.exe")
242 SET(CPACK_NSIS_DISPLAY_NAME "vv - The 4D slicer")
243 SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/rio/vv")
244 SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/rio")
245 SET(CPACK_NSIS_CONTACT "vv@creatis.insa-lyon.fr")
246 SET(CPACK_NSIS_CREATE_ICONS_EXTRA "CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\vv.lnk\\\" \\\"$INSTDIR\\\\vv.exe\\\" ")
247 SET(CPACK_NSIS_DELETE_ICONS_EXTRA "Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\vv.lnk\\\" ")
248 #SET(CPACK_NSIS_MODIFY_PATH ON) SR: buggy, wait for cmake updates for a fix
249 #SET(CPACK_BINARY_ZIP ON)
251 SET(CPACK_GENERATOR "STGZ")
252 SET(CPACK_SOURCE_GENERATOR "TGZ")
255 #=========================================================