]> Creatis software - creaImageIO.git/blob - src2/CMakeLists.txt
Set GDCM2 library as available DICOM Reader
[creaImageIO.git] / src2 / CMakeLists.txt
1 SET(LIBRARY_NAME creaImageIO2)
2
3
4 FILE(GLOB SOURCES_CREAIMAGEIO  
5   # SQLite 
6   CppSQLite3.cpp
7   # 
8   creaImageIOGimmick.cpp
9   creaImageIOSynchron.cpp
10   creaImageIOPACSConnection.cpp
11
12   # Abstract views
13   creaImageIOTreeView.cpp
14
15   # settings
16   creaImageIOSettings.cpp
17
18    BlockScopeWxApp.cpp
19   creaImageIOGimmickReaderDialog.cpp
20   creaImageIOExternalGimmick.cpp
21   #  Viewer
22   creaImageIOWxViewer.cpp
23   creaImageIOGimmickView.cpp
24   creaImageIOListener.cpp
25 )
26  
27  
28  
29  # Attributed tree data structure
30 FILE(GLOB SOURCES_CREAIMAGEIO_TREE
31           creaImageIOTree.cpp
32           creaImageIOTreeAttributeDescriptor.cpp
33           creaImageIOTreeDescriptor.cpp
34           creaImageIOTreeNode.cpp
35           creaImageIOTreeLevelDescriptor.cpp
36             # Tree Handlers
37           creaImageIOTreeHandler.cpp
38           creaImageIOTreeHandlerImageAdder.cpp
39           creaImageIOSQLiteTreeHandler.cpp
40           )
41 IF(USE_GDCM)
42  FILE(GLOB SOURCES_CREAIMAGEIO_IMG_DICOM_READER
43                 creaImageIODicomImageReader.cpp)
44 ENDIF(USE_GDCM)
45
46           
47 IF(USE_GDCM2)
48  FILE(GLOB SOURCES_CREAIMAGEIO_IMG_DICOM_READER
49                 creaImageIODicomImageReader2.cpp)
50 ENDIF(USE_GDCM2)
51
52  # Image Readers
53 FILE(GLOB SOURCES_CREAIMAGEIO_IMG_READER
54           creaImageIOAbstractImageReader.cpp
55           creaImageIOImageReader.cpp
56           creaImageIOUltrasonixImageReader.cpp
57           creaImageIOVtkImageReader.cpp
58           creaImageIOMultiThreadImageReader.cpp
59           ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
60           )
61
62
63 # The wxWidgets-based components
64 if (USE_WXWIDGETS)
65 FILE(GLOB SOURCES_CREAIMAGEIO_WX
66           creaImageIOWxAttributeSelectionPanel.cpp
67           creaImageIOWxCustomizeConfigPanel.cpp
68           creaImageIOWxDescriptorPanel.cpp
69           creaImageIOWxEditFieldsPanel.cpp
70           creaImageIOWxExportDlg.cpp
71           creaImageIOWxDumpPanel.cpp
72           creaImageIOWxGimmickView.cpp
73           creaImageIOWxGimmickReaderDialog.cpp
74       creaImageIOWxGimmickFrame.cpp
75       creaImageIOWxGimmickPanel.cpp
76       creaImageIOWxGimmickTools.cpp
77       creaImageIOWxListenerPanel.cpp
78       creaImageIOWxPACSConnectionPanel.cpp
79           creaImageIOWxTreeView.cpp
80           )
81 endif()
82
83 # Header Files    
84 FILE(GLOB HEADER_CREAIMAGEIO creaImageIOImagePointerHolder.h)
85 FILE(GLOB SOURCES_CREAIMAGEIO_PACS PACS/*.cpp)
86 FILE(GLOB HEADER_CREAIMAGEIO_PACS PACS/*.h)
87
88
89 SOURCE_GROUP("Source Files" FILES ${SOURCES_CREAIMAGEIO})
90 SOURCE_GROUP("Header Files" FILES ${HEADER_CREAIMAGEIO})
91 SOURCE_GROUP("Source Files\\GUI" FILES ${SOURCES_CREAIMAGEIO_WX})
92 if(BUILD_CREA_PACS)
93         SOURCE_GROUP("Source Files\\PACS" FILES ${SOURCES_CREAIMAGEIO_PACS})
94         SOURCE_GROUP("Header Files\\PACS" FILES ${HEADER_CREAIMAGEIO_PACS})
95 endif(BUILD_CREA_PACS)
96 SOURCE_GROUP("Source Files\\Readers" FILES ${SOURCES_CREAIMAGEIO_IMG_READER}
97                                                                                         ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER})
98 SOURCE_GROUP("Source Files\\Tree" FILES ${SOURCES_CREAIMAGEIO_TREE})
99
100
101 SET( PRIMITIVE_SRCS
102  ${SOURCES_CREAIMAGEIO}
103  ${HEADER_CREAIMAGEIO}
104  ${SOURCES_CREAIMAGEIO_IMG_READER}
105  ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
106  ${SOURCES_CREAIMAGEIO_WX}
107  ${SOURCES_CREAIMAGEIO_TREE}
108 )
109
110 if( BUILD_CREA_PACS)
111         SET (SRCS
112                 ${PRIMITIVE_SRCS}
113                 ${SOURCES_CREAIMAGEIO_PACS}
114                 ${HEADER_CREAIMAGEIO_PACS}
115                 )
116 else (BUILD_CREA_PACS)
117         SET (SRCS
118                 ${PRIMITIVE_SRCS}
119                 )
120 endif (BUILD_CREA_PACS)
121
122
123
124
125 OPTION(${LIBRARY_NAME}_BUILD_SHARED 
126   "Build ${LIBRARY_NAME} as a shared library (dynamic) ?" ON)
127 IF (${LIBRARY_NAME}_BUILD_SHARED)
128   SET(CREAIMAGEIO_BUILD_SHARED SHARED)
129   crea_DEFINE(CREAIMAGEIO_BUILD_SHARED)
130 ENDIF(${LIBRARY_NAME}_BUILD_SHARED)
131
132 crea_DEFINE(CREAIMAGEIO_EXPORT_SYMBOLS)
133
134 ADD_LIBRARY(${LIBRARY_NAME} ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
135
136
137 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
138   ${crea_LIBRARIES}
139   ${creaBruker_LIBRARIES}
140   ${WXWIDGETS_LIBRARIES}
141   ${VTK_LIBRARIES}
142   ${GDCM_LIBRARIES}
143   ${BOOST_LIBRARIES}
144   sqlite3)
145
146 #----------------------------------------------------------------------------
147 # INSTALLS LIBRARY
148 FILE(GLOB HEADERS "*.h" "*.txx")
149 INSTALL(
150   FILES ${HEADERS}
151   DESTINATION include/${LIBRARY_NAME}
152   )
153   
154
155 IF (WIN32)
156   SET(CREAIMAGEIO_LIB_PATH bin)
157 ELSE (WIN32)
158   SET(CREAIMAGEIO_LIB_PATH lib)
159 ENDIF(WIN32)
160
161 INSTALL(
162   TARGETS ${LIBRARY_NAME} 
163   DESTINATION ${CREAIMAGEIO_LIB_PATH})
164
165      # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
166   SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
167   SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME})
168   
169 #  FILE(RELATIVE_PATH 
170 #    ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS 
171 #    ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
172 #    )
173 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
174     src2
175     win32
176 )
177
178
179   IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
180     SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
181   ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
182     FILE(RELATIVE_PATH 
183       CILFC_EXECUTABLE_OUTPUT_REL_PATH
184       ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
185   ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
186
187   IF(UNIX)
188     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
189       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
190     SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
191   ELSE(UNIX)
192     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
193       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
194     SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS bin)
195   ENDIF(UNIX)
196   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
197   
198   SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE)
199 SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE 
200   ${PROJECT_SOURCE_DIR}/src2/Additional${LIBRARY_NAME}Config.cmake.in)
201 SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE 
202   ${PROJECT_SOURCE_DIR}/src2/AdditionalUse${LIBRARY_NAME}.cmake.in)
203
204   # Invoke the advanced macro
205   CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
206 IF (WIN32)
207         SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src2/data)
208         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/bin/Shared/gimmick)
209 ELSE (WIN32)
210         SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src2/data)
211         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Shared/gimmick)
212 ENDIF (WIN32)
213 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
214
215   
216 #CREA_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
217 #-----------------------------------------------------------------------------
218
219 OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
220 IF(BUILD_DOXYGEN_DOC)
221   SUBDIRS(doxygen)
222 ENDIF(BUILD_DOXYGEN_DOC)
223
224 INCLUDE_DIRECTORIES(
225 #  ${PROJECT_BINARY_DIR}
226   ${PROJECT_SOURCE_DIR}/src2
227 #  ${PROJECT_SOURCE_DIR}/src2/CppSQLite3
228   )