]> Creatis software - gdcm.git/blobdiff - vtk/CMakeLists.txt
using EXPORT should help...
[gdcm.git] / vtk / CMakeLists.txt
index bf3f5532779998cc76b61d4f2e3c6ca50aa8df37..c14c477a825485a2cd5a6ecfb95c218fa301745f 100644 (file)
@@ -3,8 +3,16 @@
 # Rebuild gdcm whenever a file starting with vtk* is modified
 INCLUDE_REGULAR_EXPRESSION("^vtk.*$")
 
+     if(COMMAND cmake_policy)
+       cmake_policy(SET CMP0003 NEW)
+     endif(COMMAND cmake_policy)
+
 #-----------------------------------------------------------------------------
 # Include the VTK library
+
+# EED 5/Mars/2010
+SET(VTK_BUILD_SETTINGS_FILE OFF)
+
 INCLUDE(${VTK_USE_FILE})
 
 # Need gdcm header files
@@ -13,10 +21,21 @@ INCLUDE_DIRECTORIES(
   ${GDCM_BINARY_DIR}/
 )
 
-SET(VTKGDCM_LIB_SRCS
-  vtkGdcmReader.cxx
-  vtkGdcmWriter.cxx
-)
+# Depending on VTK version build more stuff:
+IF("${VTK_MAJOR_VERSION}" GREATER 4)
+  SET(VTKGDCM_LIB_SRCS
+    vtkGdcmReader.cxx
+    vtkGdcmWriter.cxx
+    vtkImageColorViewer.cxx
+    vtkImageMapToWindowLevelColors2.cxx
+    vtkGdcm4DSplitter.cxx
+  )
+ELSE("${VTK_MAJOR_VERSION}" GREATER 4)
+  SET(VTKGDCM_LIB_SRCS
+    vtkGdcmReader.cxx
+    vtkGdcmWriter.cxx
+  )
+ENDIF("${VTK_MAJOR_VERSION}" GREATER 4)
 
 #-----------------------------------------------------------------------------
 # Create vtkgdcm library
@@ -27,6 +46,11 @@ TARGET_LINK_LIBRARIES(vtkgdcm
   vtkIO
   vtkFiltering
 )
+IF("${VTK_MAJOR_VERSION}" GREATER 4)
+  TARGET_LINK_LIBRARIES(vtkgdcm
+    vtkRendering
+  )
+ENDIF("${VTK_MAJOR_VERSION}" GREATER 4)
 
 #-----------------------------------------------------------------------------
 SET(vtkgdcmdemo_SOURCES
@@ -39,25 +63,123 @@ TARGET_LINK_LIBRARIES(vtkgdcmdemo
   vtkRendering
 )
 
+#-----------------------------------------------------------------------------
+SET(Bmp2Dcm_SOURCES
+  Bmp2Dcm.cxx
+)
+
+ADD_EXECUTABLE(Bmp2Dcm ${Bmp2Dcm_SOURCES})
+TARGET_LINK_LIBRARIES(Bmp2Dcm
+  vtkgdcm
+  vtkImaging
+)
+
+#-----------------------------------------------------------------------------
+#ADD_EXECUTABLE(exUnMosaic2 exUnMosaic2.cxx)
+#TARGET_LINK_LIBRARIES(exUnMosaic2
+#  vtkgdcm
+  ##vtkRendering
+#)
+
+#ADD_EXECUTABLE(exUnMosaic3 exUnMosaic3.cxx)
+#TARGET_LINK_LIBRARIES(exUnMosaic3
+#  vtkgdcm
+#  #vtkRendering
+#)
+
+#ADD_EXECUTABLE(exUnMosaic4 exUnMosaic4.cxx)
+#TARGET_LINK_LIBRARIES(exUnMosaic4
+#  vtkgdcm
+#  #vtkRendering
+#)
 #-----------------------------------------------------------------------------
 SET(vtkgdcmViewer_SOURCES
   vtkgdcmViewer.cxx
 )
-ADD_EXECUTABLE(vtkgdcmViewer ${vtkgdcmViewer_SOURCES})
+
+SET(vtkgdcmViewer2_SOURCES
+  vtkgdcmViewer2.cxx
+)
+
+# let's do some APPLE/WIN32 magic here
+#IF(WIN32)
+#  SET(GUI_EXECUTABLE WIN32)
+#ENDIF(WIN32)
+IF(APPLE)
+  IF(VTK_USE_CARBON)
+    SET(GUI_EXECUTABLE MACOSX_BUNDLE)
+  ENDIF(VTK_USE_CARBON)
+  IF(VTK_USE_COCOA)
+    SET(GUI_EXECUTABLE MACOSX_BUNDLE)
+  ENDIF(VTK_USE_COCOA)
+  # when using X11 on Apple you don't need this...
+ENDIF(APPLE)
+
+ADD_EXECUTABLE(vtkgdcmViewer ${GUI_EXECUTABLE} ${vtkgdcmViewer_SOURCES})
 TARGET_LINK_LIBRARIES(vtkgdcmViewer
   vtkgdcm
   vtkRendering
 )
-ADD_EXECUTABLE(vtkgdcmViewer2 vtkgdcmViewer2.cxx)
+
+#ADD_EXECUTABLE(vtkJPEGViewer ${GUI_EXECUTABLE} ${vtkJPEGViewer_SOURCES})
+#TARGET_LINK_LIBRARIES( vtkJPEGViewer
+#  vtkRendering
+#)
+
+#ADD_EXECUTABLE(vtkJPEGViewer2 ${GUI_EXECUTABLE} ${vtkJPEGViewer2_SOURCES})
+#TARGET_LINK_LIBRARIES( vtkJPEGViewer2
+#  vtkgdcm
+#  vtkRendering
+#)
+
+#-----------------------------------------------------------------------------
+SET(test4DSplitter_SOURCES
+  test4DSplitter.cxx
+)
+
+ADD_EXECUTABLE(test4DSplitter ${GUI_EXECUTABLE} ${test4DSplitter_SOURCES})
+TARGET_LINK_LIBRARIES( test4DSplitter
+  ${test4DSplitter_LINK_LIBRARIES} 
+)
+
+#-----------------------------------------------------------------------------
+#SET(testEmilie1_SOURCES
+#  testEmilie1.cxx
+#)
+#
+#ADD_EXECUTABLE(testEmilie1 ${GUI_EXECUTABLE} ${testEmilie1_SOURCES})
+#TARGET_LINK_LIBRARIES( testEmilie1
+#  vtkgdcm 
+#)
+#-----------------------------------------------------------------------------
+
+ADD_EXECUTABLE(vtkgdcmViewer2 ${GUI_EXECUTABLE} vtkgdcmViewer2.cxx)
 TARGET_LINK_LIBRARIES(vtkgdcmViewer2
   vtkgdcm
   vtkRendering
 )
 
+ADD_EXECUTABLE(vtkgdcmSerieViewer ${GUI_EXECUTABLE} vtkgdcmSerieViewer.cxx)
+TARGET_LINK_LIBRARIES(vtkgdcmSerieViewer
+  vtkgdcm
+  vtkRendering
+)
+
+ADD_EXECUTABLE(vtkgdcmSerieViewer2 ${GUI_EXECUTABLE} vtkgdcmSerieViewer2.cxx)
+TARGET_LINK_LIBRARIES(vtkgdcmSerieViewer2
+  vtkgdcm
+  vtkRendering
+)
+
 #-----------------------------------------------------------------------------
 SET(vtkWriteDicom_SOURCES
   vtkWriteDicom.cxx
 )
+
+SET(vtkWriteDicomExtended_SOURCES
+  vtkWriteDicomExtended.cxx  
+)
+
 ADD_EXECUTABLE(vtkWriteDicom ${vtkWriteDicom_SOURCES})
 TARGET_LINK_LIBRARIES(vtkWriteDicom
   vtkgdcm
@@ -65,12 +187,28 @@ TARGET_LINK_LIBRARIES(vtkWriteDicom
   vtkRendering
 )
 
+ADD_EXECUTABLE(vtkWriteDicomExtended ${vtkWriteDicomExtended_SOURCES})
+TARGET_LINK_LIBRARIES(vtkWriteDicomExtended
+  vtkgdcm
+  vtkIO
+  vtkRendering
+)
 #-----------------------------------------------------------------------------
 # Install vtk header
-INSTALL_FILES(/include/gdcm FILES vtkGdcmReader.h)
-INSTALL_FILES(/include/gdcm FILES vtkGdcmWriter.h)
+IF(NOT GDCM_INSTALL_NO_DEVELOPMENT)
+  INSTALL_FILES(${GDCM_INSTALL_INCLUDE_DIR} FILES vtkGdcmReader.h)
+  INSTALL_FILES(${GDCM_INSTALL_INCLUDE_DIR} FILES vtkGdcmWriter.h)
+  INSTALL_FILES(${GDCM_INSTALL_INCLUDE_DIR} FILES vtkGdcm4DSplitter.h)
+ENDIF(NOT GDCM_INSTALL_NO_DEVELOPMENT)
+
+IF(NOT GDCM_INSTALL_NO_LIBRARIES)
+  INSTALL_TARGETS(${GDCM_INSTALL_LIB_DIR} vtkgdcm)
+  INSTALL_TARGETS(${GDCM_INSTALL_BIN_DIR} vtkgdcmViewer)
+  INSTALL_TARGETS(${GDCM_INSTALL_BIN_DIR} vtkgdcmViewer)
+
+ # INSTALL_TARGETS(${GDCM_INSTALL_BIN_DIR} vtkJPEGViewer)
+ # INSTALL_TARGETS(${GDCM_INSTALL_BIN_DIR} vtkJPEGViewer2)
 
-INSTALL_TARGETS(/lib/gdcm/ vtkgdcm)
-INSTALL_TARGETS(/bin/ vtkgdcmViewer)
-INSTALL_TARGETS(/bin/ vtkgdcmViewer2)
+  INSTALL_TARGETS(${GDCM_INSTALL_BIN_DIR} vtkgdcmSerieViewer)
+ENDIF(NOT GDCM_INSTALL_NO_LIBRARIES)