]> Creatis software - creaImageIO.git/blob - src/CMakeLists.txt
changes for X64 compilation.
[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 IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 8)
124
125 message("charlie ${CMAKE_SYSTEM_PROCESSOR}")
126 endif()
127 #if ( ${CMAKE_EXE_LINKER_FLAGS} MATCHES "message:x64")message("charlie ${CMAKE_SYSTEM_PROCESSOR}")endif()
128
129 if( BUILD_CREA_PACS)
130         SET (SRCS
131                 ${PRIMITIVE_SRCS}
132                 ${SOURCES_CREAIMAGEIO_PACS}
133                 ${HEADER_CREAIMAGEIO_PACS}
134                 )
135 else (BUILD_CREA_PACS)
136 IF(USE_XERCES)
137         SET (SRCS
138                 ${PRIMITIVE_SRCS}
139                 ${SOURCES_CREAIMAGEIO_OUTPUT}
140                 )
141 ELSE(USE_XERCES)
142         SET (SRCS
143                 ${PRIMITIVE_SRCS}
144                 )
145 ENDIF(USE_XERCES)
146 endif (BUILD_CREA_PACS)
147
148 OPTION(${LIBRARY_NAME}_BUILD_SHARED 
149   "Build ${LIBRARY_NAME} as a shared library (dynamic) ?" ON)
150 IF (${LIBRARY_NAME}_BUILD_SHARED)
151   SET(CREAIMAGEIO_BUILD_SHARED SHARED)
152   crea_DEFINE(CREAIMAGEIO_BUILD_SHARED)
153 ENDIF(${LIBRARY_NAME}_BUILD_SHARED)
154
155 crea_DEFINE(CREAIMAGEIO_EXPORT_SYMBOLS)
156
157 ADD_LIBRARY(${LIBRARY_NAME} ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
158
159 IF(USE_QT4)
160 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
161       ${QT_LIBRARIES})
162 ENDIF(USE_QT4)
163
164 IF(USE_WXWIDGETS)
165 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
166       ${WXWIDGETS_LIBRARIES})
167 ENDIF(USE_WXWIDGETS)
168
169
170 IF (NOT USE_XERCES)
171 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
172   ${crea_LIBRARIES}
173   ${creaBruker_LIBRARIES}
174   ${WXWIDGETS_LIBRARIES}
175   ${VTK_LIBRARIES}
176   ${GDCM_LIBRARIES}
177   ${BOOST_LIBRARIES}
178   sqlite3)
179 ELSE(NOT USE_XERCES)
180 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
181   ${crea_LIBRARIES}
182   ${creaBruker_LIBRARIES}
183   ${WXWIDGETS_LIBRARIES}
184   ${VTK_LIBRARIES}
185   ${GDCM_LIBRARIES}
186   ${BOOST_LIBRARIES}
187   ${XERCES_LIBRARIES}
188   sqlite3)  
189 ENDIF(NOT USE_XERCES)
190   
191  
192 #----------------------------------------------------------------------------
193 # INSTALLS LIBRARY
194 FILE(GLOB HEADERS "*.h" "*.txx")
195 INSTALL(
196   FILES ${HEADERS}
197   DESTINATION include/${LIBRARY_NAME}
198   )
199   
200
201 IF (WIN32)
202   SET(CREAIMAGEIO_LIB_PATH bin)
203 ELSE (WIN32)
204   SET(CREAIMAGEIO_LIB_PATH lib)
205 ENDIF(WIN32)
206
207 INSTALL(
208   TARGETS ${LIBRARY_NAME} 
209   DESTINATION ${CREAIMAGEIO_LIB_PATH})
210
211      # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
212   SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
213   SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME})
214   
215 #  FILE(RELATIVE_PATH 
216 #    ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS 
217 #    ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
218 #    )
219 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
220     src
221     win32
222 )
223
224
225   IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
226     SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
227   ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
228     FILE(RELATIVE_PATH 
229       CILFC_EXECUTABLE_OUTPUT_REL_PATH
230       ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
231   ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
232
233   IF(UNIX)
234     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
235       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
236     SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
237   ELSE(UNIX)
238     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
239       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
240     SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS bin)
241   ENDIF(UNIX)
242   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
243   
244   SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE)
245 SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE 
246   ${PROJECT_SOURCE_DIR}/src/Additional${LIBRARY_NAME}Config.cmake.in)
247 SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE 
248   ${PROJECT_SOURCE_DIR}/src/AdditionalUse${LIBRARY_NAME}.cmake.in)
249
250   # Invoke the advanced macro
251   CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
252 IF (WIN32)
253         SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
254         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/bin/share/gimmick)
255 ELSE (WIN32)
256         SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
257         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/share/gimmick)
258 ENDIF (WIN32)
259 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
260
261   
262 #CREA_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
263 #-----------------------------------------------------------------------------
264
265 OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
266 IF(BUILD_DOXYGEN_DOC)
267   SUBDIRS(doxygen)
268 ENDIF(BUILD_DOXYGEN_DOC)
269
270 INCLUDE_DIRECTORIES(
271 #  ${PROJECT_BINARY_DIR}
272   ${PROJECT_SOURCE_DIR}/src
273
274   )