]> Creatis software - clitk.git/blobdiff - vv/CMakeLists.txt
- add future structure set manager
[clitk.git] / vv / CMakeLists.txt
index 1938625afc7f12a147b302c1e4cd871ef02fffed..18347c28efae755e3e905c6cd0dca8b6ba62aad1 100644 (file)
@@ -1,13 +1,6 @@
 cmake_minimum_required(VERSION 2.4)
 #=========================================================
 INCLUDE(${PROJECT_SOURCE_DIR}/cmake/common.cmake)
-#=========================================================
-
-#Set a reasonable build mode default if the user hasn't set any
-if (NOT CMAKE_BUILD_TYPE)
-  set(CMAKE_BUILD_TYPE RelWithDebInfo)
-endif (NOT CMAKE_BUILD_TYPE)
-
 #=========================================================
 # Find ITK (required)
 FIND_PACKAGE(ITK)
@@ -49,7 +42,7 @@ endif(COMMAND cmake_policy)
 LINK_LIBRARIES (
   #ITKIO
   clitkCommon
-  clitkGGO
+  clitkDicomRTStruct
   clitkFilters
   ${QT_QTCORE_LIBRARY}
   ${QT_QTGUI_LIBRARY}
@@ -60,6 +53,7 @@ LINK_LIBRARIES (
   vtkGraphics
   vtkWidgets
   vtkImaging
+  QVTK
   )
 
 LINK_DIRECTORIES(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR} )
@@ -75,17 +69,13 @@ SET(vv_SRCS
   vvLandmarksPanel.cxx
   vvQProgressDialogITKCommand.cxx
   vvQDicomSeriesSelector.cxx
-  QVTKWidget.cxx
   QTreePushButton.cxx
-  vvResamplerDialog.cxx
   vvSegmentationDialog.cxx
   vvSurfaceViewerDialog.cxx
+  vvMainWindowBase.cxx
   vvMainWindow.cxx
   vvDeformationDialog.cxx
-  vvInit.cxx
   vvImageWarp.cxx
-  nkitkXDRImageIOFactory.cxx  
-  nkitkXDRImageIOReader.cxx  
   vvDeformableRegistration.cxx
   vtkVOXImageWriter.cxx
   vvInteractorStyleNavigator.cxx
@@ -106,19 +96,32 @@ SET(vv_SRCS
   vvMeshActor.cxx
   vvMeshReader.cxx
   vvStructSelector.cxx
-  vvCropDialog.cxx
   vvMidPosition.cxx
   vvImageMapToWLColors.cxx
   vvIntensityValueSlider.cxx
   vvToolManager.cxx
   vvToolCreatorBase.cxx
+  vvToolWidgetBase.cxx
+  vvToolMedianFilter.cxx
+#  vvToolFoo.cxx
+#  vvToolFooWithWidgetBase.cxx
+  vvToolCropImage.cxx
   vvToolBinarize.cxx
+  vvToolSimpleInputSelectorWidget.cxx
   vvToolInputSelectorWidget.cxx
+  vvImageContour.cxx
+  vvBinaryImageOverlayActor.cxx
+  vvToolImageArithm.cxx
+  vvToolConvert.cxx
+  vvToolStructureSetManager.cxx
+  vvStructureSetActor.cxx
+  vvROIActor.cxx
+  vvToolResample.cxx
   )
 
 QT4_WRAP_CPP(vv_SRCS 
+  vvMainWindowBase.h 
   vvMainWindow.h 
-  QVTKWidget.h 
   QTreePushButton.h 
   vvInfoPanel.h 
   vvLinkPanel.h 
@@ -128,17 +131,27 @@ QT4_WRAP_CPP(vv_SRCS
   vvHelpDialog.h  
   vvProgressDialog.h 
   vvQDicomSeriesSelector.h 
-  vvResamplerDialog.h
   vvSegmentationDialog.h
   vvSurfaceViewerDialog.h
   vvDeformationDialog.h
   vvSlicerManager.h
   vvStructSelector.h
-  vvCropDialog.h
   vvIntensityValueSlider.h
   vvToolCreatorBase.h
+#  vvToolFoo.h
+#  vvToolFooWithWidgetBase.h
+  vvToolMedianFilter.h
   vvToolBinarize.h
+  vvToolSimpleInputSelectorWidget.h
   vvToolInputSelectorWidget.h
+  vvToolWidgetBase.h
+  vvToolCropImage.h
+  vvToolImageArithm.h
+  vvToolConvert.h
+  vvToolStructureSetManager.h
+  vvStructureSetActor.h
+  vvROIActor.h
+  vvToolResample.h
   )
 
 QT4_WRAP_UI(vv_UI_CXX 
@@ -153,14 +166,20 @@ QT4_WRAP_UI(vv_UI_CXX
   qt_ui/vvDicomSeriesSelector.ui 
   qt_ui/vvSegmentationDialog.ui
   qt_ui/vvSurfaceViewerDialog.ui
-  qt_ui/vvResamplerDialog.ui
   qt_ui/vvDeformationDialog.ui
   qt_ui/vvStructSelector.ui
-  qt_ui/vvCropDialog.ui
   qt_ui/vvDummyWindow.ui #For testing
   qt_ui/vvIntensityValueSlider.ui
-  qt_ui/vvToolBinarize.ui
+  qt_ui/vvToolSimpleInputSelectorWidget.ui
   qt_ui/vvToolInputSelectorWidget.ui
+  qt_ui/vvToolWidgetBase.ui
+  qt_ui/vvToolMedianFilter.ui
+#  qt_ui/vvToolFoo.ui
+  qt_ui/vvToolCropImage.ui
+  qt_ui/vvToolBinarize.ui
+  qt_ui/vvToolImageArithm.ui
+  qt_ui/vvToolStructureSetManager.ui
+  qt_ui/vvToolResample.ui
   )
 
 SET(vvUI_RCCS vvIcons.qrc)
@@ -168,10 +187,11 @@ QT4_ADD_RESOURCES(vv_SRCS ${vvUI_RCCS})
 
 #=========================================================
 #support for parallel deformable registration with OpenMP
+IF(NOT __APPLE__)
 IF(CMAKE_COMPILER_IS_GNUCC)
   SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp -march=native")
 ENDIF(CMAKE_COMPILER_IS_GNUCC)
-
+ENDIF(NOT __APPLE__)
 #=========================================================
 
 IF (CLITK_VV_USE_BDCM)
@@ -236,45 +256,51 @@ ENDIF (CLITK_VV_USE_BDCM)
 #=========================================================
 # Installation file
 INSTALL(TARGETS vv vv
-  RUNTIME DESTINATION bin CONFIGURATIONS relwithdebinfo
-  LIBRARY DESTINATION lib CONFIGURATIONS relwithdebinfo
-  ARCHIVE DESTINATION lib CONFIGURATIONS relwithdebinfo)
+  RUNTIME DESTINATION bin CONFIGURATIONS ${CMAKE_BUILD_TYPE}
+  LIBRARY DESTINATION lib CONFIGURATIONS ${CMAKE_BUILD_TYPE}
+  ARCHIVE DESTINATION lib CONFIGURATIONS ${CMAKE_BUILD_TYPE})
 INSTALL(FILES ${vv_HDRS} DESTINATION include)
 
 IF(WIN32)
-  INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/ducky.png DESTINATION bin)
-  INSTALL (FILES ${EXECUTABLE_OUTPUT_PATH}relwithdebinfo/vv.exe DESTINATION bin)
+  INSTALL (FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/ducky.png DESTINATION bin)
+  INSTALL (FILES ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/vv.exe DESTINATION bin)
   INSTALL (FILES ${QT_PLUGINS_DIR}/../bin/QtCore4.dll DESTINATION bin)
   INSTALL (FILES ${QT_PLUGINS_DIR}/../bin/QtGui4.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkCommon.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtksys.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkRendering.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkGraphics.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkImaging.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkFiltering.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkGenericFiltering.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkIO.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/verdict.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/QVTK.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/QVTKWidgetPlugin.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkDICOMParser.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkexoIIc.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkexpat.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkmetaio.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkftgl.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkfreetype.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkGenericFiltering.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkHybrid.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkInfovis.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkjpeg.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtklibxml2.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkNetCDF.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkpng.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtktiff.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkViews.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkVolumeRendering.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkWidgets.dll DESTINATION bin)
-  INSTALL (FILES ${VTK_DIR}/bin/relwithdebinfo/vtkzlib.dll DESTINATION bin)
+  INSTALL (FILES ${QT_PLUGINS_DIR}/../bin/QtWebKit4.dll DESTINATION bin)
+  INSTALL (FILES ${QT_PLUGINS_DIR}/../bin/QtOpenGL4.dll DESTINATION bin)
+  INSTALL (FILES ${QT_PLUGINS_DIR}/../bin/phonon4.dll DESTINATION bin)
+  INSTALL (FILES ${QT_PLUGINS_DIR}/../bin/QtXmlPatterns4.dll DESTINATION bin)
+  INSTALL (FILES ${QT_PLUGINS_DIR}/../bin/QtNetwork4.dll DESTINATION bin)
+  INSTALL (FILES ${QT_PLUGINS_DIR}/../bin/QtSql4.dll DESTINATION bin)
+  INSTALL (FILES ${ITK_DIR}/bin/${CMAKE_BUILD_TYPE}/itkCommon.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkCommon.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtksys.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkRendering.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkGraphics.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkImaging.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkFiltering.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkGenericFiltering.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkIO.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkverdict.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/QVTK.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkDICOMParser.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkexoIIc.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkexpat.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkmetaio.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkftgl.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkfreetype.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkHybrid.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkInfovis.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkjpeg.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtklibxml2.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkNetCDF.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkpng.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtktiff.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkViews.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkWidgets.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkzlib.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkQtChart.dll DESTINATION bin)
+  INSTALL (FILES ${VTK_DIR}/bin/${CMAKE_BUILD_TYPE}/vtkalglib.dll DESTINATION bin)
 ENDIF(WIN32)
 
 IF(UNIX)
@@ -292,14 +318,14 @@ SET(CPACK_PACKAGE_VENDOR "Creatis, CLB/RIO Team")
 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
 SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
 SET(CPACK_PACKAGE_VERSION_MAJOR "1")
-SET(CPACK_PACKAGE_VERSION_MINOR "0")
+SET(CPACK_PACKAGE_VERSION_MINOR "1")
 SET(CPACK_PACKAGE_VERSION_PATCH "0")
 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "vv ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
 IF(WIN32 AND NOT UNIX)
   # There is a bug in NSI that does not handle full unix paths properly. Make
   # sure there is at least one set of four (4) backlasshes.
-  SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\ducky.png")
-  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/relwithdebinfo\\\\vv.exe")
+#  SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\ducky.png")
+#  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin/${CMAKE_BUILD_TYPE}\\\\vv.exe")
   SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} The 4D slicer")
   SET(CPACK_NSIS_HELP_LINK "http://www.creatis.insa-lyon.fr/rio")
   SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.creatis.insa-lyon.fr/rio")