]> Creatis software - creaImageIO.git/blob - src/CMakeLists.txt
*** empty log message ***
[creaImageIO.git] / src / CMakeLists.txt
1 SET(LIBRARY_NAME creaImageIO)
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  # Attributed tree data structure
28 FILE(GLOB SOURCES_CREAIMAGEIO_TREE
29           creaImageIOTree.cpp
30           creaImageIOTreeAttributeDescriptor.cpp
31           creaImageIOTreeDescriptor.cpp
32           creaImageIOTreeNode.cpp
33           creaImageIOTreeLevelDescriptor.cpp
34             # Tree Handlers
35           creaImageIOTreeHandler.cpp
36           creaImageIOTreeHandlerImageAdder.cpp
37           creaImageIOSQLiteTreeHandler.cpp
38           creaImageIOOutputModel.cpp
39           )
40 IF(USE_GDCM)
41  FILE(GLOB SOURCES_CREAIMAGEIO_IMG_DICOM_READER
42                 creaImageIODicomImageReader.cpp)
43 ENDIF(USE_GDCM)
44           
45 IF(USE_GDCM2)
46  FILE(GLOB SOURCES_CREAIMAGEIO_IMG_DICOM_READER
47                 creaImageIODicomImageReader2.cpp
48                 creaImageIODicomScanner.cpp)
49 ENDIF(USE_GDCM2)
50
51  # Image Readers
52 FILE(GLOB SOURCES_CREAIMAGEIO_IMG_READER
53           creaImageIOSimpleView.cpp
54           creaImageIOAbstractImageReader.cpp
55           creaImageIOImageReader.cpp
56           creaImageIOUltrasonixImageReader.cpp
57           creaImageIOVtkImageReader.cpp
58           creaImageIOMultiThreadImageReader.cpp
59           ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
60           )
61
62 # The wxWidgets-based components
63 if (USE_WXWIDGETS)
64 FILE(GLOB SOURCES_CREAIMAGEIO_WX
65           creaImageIOWxSimpleDlg.cpp
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           creaImageIOWxOutputDlg.cpp
81           )
82 endif()
83
84
85 IF(USE_XERCES)
86 FILE(GLOB SOURCES_CREAIMAGEIO_OUTPUT
87           creaImageIOOutputModel.cpp
88           creaImageIOOutputModelParser.cpp
89           )
90 SOURCE_GROUP("Source Files\\Output" FILES ${SOURCES_CREAIMAGEIO_OUTPUT})         
91 ENDIF(USE_XERCES)
92
93
94
95
96 # Header Files    
97 FILE(GLOB HEADER_CREAIMAGEIO creaImageIOImagePointerHolder.h  CppSQLite3.h)
98 FILE(GLOB SOURCES_CREAIMAGEIO_PACS PACS/*.cpp)
99 FILE(GLOB HEADER_CREAIMAGEIO_PACS PACS/*.h)
100
101
102 SOURCE_GROUP("Source Files" FILES ${SOURCES_CREAIMAGEIO})
103 SOURCE_GROUP("Header Files" FILES ${HEADER_CREAIMAGEIO})
104 SOURCE_GROUP("Source Files\\GUI" FILES ${SOURCES_CREAIMAGEIO_WX})
105 if(BUILD_CREA_PACS)
106         SOURCE_GROUP("Source Files\\PACS" FILES ${SOURCES_CREAIMAGEIO_PACS})
107         SOURCE_GROUP("Header Files\\PACS" FILES ${HEADER_CREAIMAGEIO_PACS})
108 endif(BUILD_CREA_PACS)
109 SOURCE_GROUP("Source Files\\Readers" FILES ${SOURCES_CREAIMAGEIO_IMG_READER}
110                                                                                         ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER})
111 SOURCE_GROUP("Source Files\\Tree" FILES ${SOURCES_CREAIMAGEIO_TREE})
112
113
114 SET( PRIMITIVE_SRCS
115  ${SOURCES_CREAIMAGEIO}
116  ${HEADER_CREAIMAGEIO}
117  ${SOURCES_CREAIMAGEIO_IMG_READER}
118  ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
119  ${SOURCES_CREAIMAGEIO_WX}
120  ${SOURCES_CREAIMAGEIO_TREE}
121 )
122
123
124 #if ( ${CMAKE_EXE_LINKER_FLAGS} MATCHES "message:x64")message("charlie ${CMAKE_SYSTEM_PROCESSOR}")endif()
125
126 if( BUILD_CREA_PACS)
127         SET (SRCS
128                 ${PRIMITIVE_SRCS}
129                 ${SOURCES_CREAIMAGEIO_PACS}
130                 ${HEADER_CREAIMAGEIO_PACS}
131                 )
132 else (BUILD_CREA_PACS)
133 IF(USE_XERCES)
134         SET (SRCS
135                 ${PRIMITIVE_SRCS}
136                 ${SOURCES_CREAIMAGEIO_OUTPUT}
137                 )
138 ELSE(USE_XERCES)
139         SET (SRCS
140                 ${PRIMITIVE_SRCS}
141                 )
142 ENDIF(USE_XERCES)
143 endif (BUILD_CREA_PACS)
144
145 OPTION(${LIBRARY_NAME}_BUILD_SHARED 
146   "Build ${LIBRARY_NAME} as a shared library (dynamic) ?" ON)
147 IF (${LIBRARY_NAME}_BUILD_SHARED)
148   SET(CREAIMAGEIO_BUILD_SHARED SHARED)
149   crea_DEFINE(CREAIMAGEIO_BUILD_SHARED)
150 ENDIF(${LIBRARY_NAME}_BUILD_SHARED)
151
152 crea_DEFINE(CREAIMAGEIO_EXPORT_SYMBOLS)
153
154 ADD_LIBRARY(${LIBRARY_NAME} ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
155
156 IF(USE_QT4)
157 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
158       ${QT_LIBRARIES})
159 ENDIF(USE_QT4)
160
161 IF(USE_WXWIDGETS)
162 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
163       ${WXWIDGETS_LIBRARIES})
164 ENDIF(USE_WXWIDGETS)
165
166
167 IF (NOT USE_XERCES)
168 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
169   ${crea_LIBRARIES}
170   ${creaBruker_LIBRARIES}
171   ${WXWIDGETS_LIBRARIES}
172   ${VTK_LIBRARIES}
173   ${GDCM_LIBRARIES}
174   ${BOOST_LIBRARIES}
175   sqlite3)
176 ELSE(NOT USE_XERCES)
177 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
178   ${crea_LIBRARIES}
179   ${creaBruker_LIBRARIES}
180   ${WXWIDGETS_LIBRARIES}
181   ${VTK_LIBRARIES}
182   ${GDCM_LIBRARIES}
183   ${BOOST_LIBRARIES}
184   ${XERCES_LIBRARIES}
185   sqlite3)  
186 ENDIF(NOT USE_XERCES)
187   
188  
189 #----------------------------------------------------------------------------
190 # INSTALLS LIBRARY
191 FILE(GLOB HEADERS "*.h" "*.txx")
192 INSTALL(
193   FILES ${HEADERS}
194   DESTINATION include/${LIBRARY_NAME}
195   )
196   
197
198 SET(CREAIMAGEIO_LIB_PATH ${CMAKE_CREA_LIB_PATH} )
199
200 INSTALL(
201   TARGETS ${LIBRARY_NAME} 
202   DESTINATION ${CREAIMAGEIO_LIB_PATH})
203
204      # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
205   SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
206   SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME})
207   
208 #  FILE(RELATIVE_PATH 
209 #    ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS 
210 #    ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
211 #    )
212 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
213     src
214     win32
215 )
216
217
218   IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
219     SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
220   ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
221     FILE(RELATIVE_PATH 
222       CILFC_EXECUTABLE_OUTPUT_REL_PATH
223       ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
224   ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
225
226
227
228   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS ${CMAKE_CREA_LIB_PATH} )
229
230   IF(UNIX)
231     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
232       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
233   ELSE(UNIX)
234     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
235       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
236   ENDIF(UNIX)
237   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
238   
239   SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE)
240 SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE 
241   ${PROJECT_SOURCE_DIR}/src/Additional${LIBRARY_NAME}Config.cmake.in)
242 SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE 
243   ${PROJECT_SOURCE_DIR}/src/AdditionalUse${LIBRARY_NAME}.cmake.in)
244
245   # Invoke the advanced macro
246   CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
247 IF (WIN32)
248         SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
249         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/bin/share/gimmick)
250 ELSE (WIN32)
251         SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
252         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/share/gimmick)
253 ENDIF (WIN32)
254 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
255
256   
257 #CREA_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
258 #-----------------------------------------------------------------------------
259
260 OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
261 IF(BUILD_DOXYGEN_DOC)
262   SUBDIRS(doxygen)
263 ENDIF(BUILD_DOXYGEN_DOC)
264
265 INCLUDE_DIRECTORIES(
266 #  ${PROJECT_BINARY_DIR}
267   ${PROJECT_SOURCE_DIR}/src
268
269   )