]> Creatis software - clitk.git/blob - common/CMakeLists.txt
672023e08e723cd8b38abe99d2b4cd1639257bc1
[clitk.git] / common / CMakeLists.txt
1 #=========================================================
2 # make clitk libraries*
3 CONFIGURE_FILE(clitkConfiguration.h.in ${PROJECT_BINARY_DIR}/clitkConfiguration.h)
4
5 SET(clitkCommon_SRC
6   clitkCommon.cxx 
7   clitkListOfPair.cxx
8   clitkTimer.cxx
9   clitkImageCommon.cxx
10   clitkTransformUtilities.cxx
11   clitkIO.cxx
12   clitkGateAsciiImageIO.cxx
13   clitkGateAsciiImageIOFactory.cxx
14   clitkVoxImageIO.cxx  
15   clitkVoxImageIOFactory.cxx
16   clitkVfImageIO.cxx  
17   clitkVfImageIOFactory.cxx
18   clitkXdrImageIOReader.cxx  
19   clitkXdrImageIOWriter.cxx  
20   clitkXdrImageIOFactory.cxx
21   rtkHisImageIO.cxx  
22   rtkHisImageIOFactory.cxx
23   rtkHndImageIO.cxx
24   rtkHndImageIOFactory.cxx
25   rtkEdfImageIO.cxx
26   rtkEdfImageIOFactory.cxx
27   rtkXRadImageIO.cxx
28   rtkXRadImageIOFactory.cxx
29   rtkImagXImageIO.cxx
30   rtkImagXImageIOFactory.cxx
31   rtkImagXXMLFileReader.cxx
32   clitkEsrfHstImageIO.cxx  
33   clitkEsrfHstImageIOFactory.cxx
34   clitkEsrfHstXMLFileReader.cxx
35   clitkDicomRTDoseIO.cxx
36   clitkDicomRTDoseIOFactory.cxx
37   clitkOrientation.cxx
38   clitkImageToImageGenericFilterBase.cxx
39   clitkExceptionObject.cxx
40   clitkFilterBase.cxx
41   clitkMemoryUsage.cxx
42   vvImage.cxx
43   vvImageReader.cxx
44   vvImageWriter.cxx
45 )
46 IF(CLITK_PRIVATE_FEATURES)
47   SET(clitkCommon_SRC ${clitkCommon_SRC}
48     ${PROJECT_SOURCE_DIR}/private_features/clitkUsfImageIO.cxx
49     ${PROJECT_SOURCE_DIR}/private_features/clitkUsfImageIOFactory.cxx
50     ${PROJECT_SOURCE_DIR}/private_features/clitkUSVoxImageIO.cxx
51     ${PROJECT_SOURCE_DIR}/private_features/clitkUSVoxImageIOFactory.cxx
52     ${PROJECT_SOURCE_DIR}/private_features/clitkSvlImageIO.cxx
53     ${PROJECT_SOURCE_DIR}/private_features/clitkSvlImageIOFactory.cxx
54     )
55 ENDIF(CLITK_PRIVATE_FEATURES)
56
57 ### Declare clitkCommon library
58 ADD_LIBRARY(clitkCommon STATIC ${clitkCommon_SRC})
59
60 IF(CLITK_MEMORY_INFO)
61   TARGET_LINK_LIBRARIES(clitkCommon statgrab)
62 ENDIF(CLITK_MEMORY_INFO)
63
64 ### Check if ITK was compiled with SYSTEM_GDCM = ON and set the gdcm libraries accordingly
65 SET(CLITK_USE_SYSTEM_GDCM FALSE)
66 IF(ITK_VERSION_MAJOR LESS "4")
67   IF(ITK_USE_SYSTEM_GDCM)
68     SET(CLITK_USE_SYSTEM_GDCM TRUE) 
69   ENDIF(ITK_USE_SYSTEM_GDCM)
70 ELSE(ITK_VERSION_MAJOR LESS "4")
71   SET(GDCM_INCLUDE_INSTALL ".*include/gdcm-.*")
72   SET(GDCM_INCLUDE_BUILD ".*/Source/MediaStorageAndFileFormat")
73   IF(ITKGDCM_INCLUDE_DIRS MATCHES ${GDCM_INCLUDE_BUILD} OR ITKGDCM_INCLUDE_DIRS MATCHES ${GDCM_INCLUDE_INSTALL})
74     SET(CLITK_USE_SYSTEM_GDCM TRUE)
75   ENDIF(ITKGDCM_INCLUDE_DIRS MATCHES ${GDCM_INCLUDE_BUILD} OR ITKGDCM_INCLUDE_DIRS MATCHES ${GDCM_INCLUDE_INSTALL})
76 ENDIF(ITK_VERSION_MAJOR LESS "4")
77
78 IF(CLITK_USE_SYSTEM_GDCM)
79   SET(CLITK_GDCM_LIBRARIES gdcmDSED) 
80 ENDIF(CLITK_USE_SYSTEM_GDCM)
81
82 TARGET_LINK_LIBRARIES(clitkCommon vtkCommon vtkImaging ${ITK_LIBRARIES} ${CLITK_GDCM_LIBRARIES})
83
84 IF (CLITK_USE_SYSTEM_GDCM)
85   DD(CLITK_USE_SYSTEM_GDCM)
86   FIND_PACKAGE(GDCM REQUIRED)
87   INCLUDE(${GDCM_USE_FILE})
88   
89   FIND_LIBRARY(LIBVTKGDCM vtkgdcm ${GDCM_LIBRARY_DIRS})
90   SET(GDCM_LIBRARIES ${LIBVTKGDCM})
91
92   DD(GDCM_USE_FILE)
93   DD(GDCM_LIBRARY_DIRS)
94   DD(GDCM_LIBRARIES)
95
96   ADD_LIBRARY(clitkDicomRTStruct STATIC
97     clitkDicomRT_Contour.cxx
98     clitkDicomRT_ROI.cxx
99     clitkDicomRT_StructureSet.cxx
100     clitkDicomRTStruct2ImageFilter.cxx
101     vtkGDCMPolyDataReader.cxx
102     vtkGDCMPolyDataWriter.cxx
103     )
104   TARGET_LINK_LIBRARIES(clitkDicomRTStruct ${ITK_LIBRARIES} ${GDCM_LIBRARIES})
105
106 ELSE()
107   ADD_LIBRARY(clitkDicomRTStruct STATIC
108     clitkDicomRT_Contour.cxx
109     clitkDicomRT_ROI.cxx
110     clitkDicomRT_StructureSet.cxx
111     clitkDicomRTStruct2ImageFilter.cxx
112     )
113 ENDIF()
114
115
116 TARGET_LINK_LIBRARIES(clitkDicomRTStruct vtkHybrid ${CLITK_GDCM_LIBRARIES} ${GDCM_LIBRARIES} ) 
117
118 #ADD_LIBRARY(clitkCommonShared SHARED ${clitkCommon_SRC})
119 #SET_TARGET_PROPERTIES(clitkCommonShared PROPERTIES COMPILE_FLAGS -fPIC)
120