]> Creatis software - creaImageIO.git/blob - src/CMakeLists.txt
Add a simple dialog box to select file(s or directory or data from creaImageIO database
[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  
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                 creaImageIODicomScanner.cpp)
51 ENDIF(USE_GDCM2)
52
53  # Image Readers
54 FILE(GLOB SOURCES_CREAIMAGEIO_IMG_READER
55           creaImageIOSimpleView.cpp
56           creaImageIOAbstractImageReader.cpp
57           creaImageIOImageReader.cpp
58           creaImageIOUltrasonixImageReader.cpp
59           creaImageIOVtkImageReader.cpp
60           creaImageIOMultiThreadImageReader.cpp
61           ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
62           )
63
64
65 # The wxWidgets-based components
66 if (USE_WXWIDGETS)
67 FILE(GLOB SOURCES_CREAIMAGEIO_WX
68           creaImageIOWxSimpleDlg.cpp
69           creaImageIOWxAttributeSelectionPanel.cpp
70           creaImageIOWxCustomizeConfigPanel.cpp
71           creaImageIOWxDescriptorPanel.cpp
72           creaImageIOWxEditFieldsPanel.cpp
73           creaImageIOWxExportDlg.cpp
74           creaImageIOWxDumpPanel.cpp
75           creaImageIOWxGimmickView.cpp
76           creaImageIOWxGimmickReaderDialog.cpp
77       creaImageIOWxGimmickFrame.cpp
78       creaImageIOWxGimmickPanel.cpp
79       creaImageIOWxGimmickTools.cpp
80       creaImageIOWxListenerPanel.cpp
81       creaImageIOWxPACSConnectionPanel.cpp
82           creaImageIOWxTreeView.cpp
83           )
84 endif()
85
86 # Header Files    
87 FILE(GLOB HEADER_CREAIMAGEIO creaImageIOImagePointerHolder.h)
88 FILE(GLOB SOURCES_CREAIMAGEIO_PACS PACS/*.cpp)
89 FILE(GLOB HEADER_CREAIMAGEIO_PACS PACS/*.h)
90
91
92 SOURCE_GROUP("Source Files" FILES ${SOURCES_CREAIMAGEIO})
93 SOURCE_GROUP("Header Files" FILES ${HEADER_CREAIMAGEIO})
94 SOURCE_GROUP("Source Files\\GUI" FILES ${SOURCES_CREAIMAGEIO_WX})
95 if(BUILD_CREA_PACS)
96         SOURCE_GROUP("Source Files\\PACS" FILES ${SOURCES_CREAIMAGEIO_PACS})
97         SOURCE_GROUP("Header Files\\PACS" FILES ${HEADER_CREAIMAGEIO_PACS})
98 endif(BUILD_CREA_PACS)
99 SOURCE_GROUP("Source Files\\Readers" FILES ${SOURCES_CREAIMAGEIO_IMG_READER}
100                                                                                         ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER})
101 SOURCE_GROUP("Source Files\\Tree" FILES ${SOURCES_CREAIMAGEIO_TREE})
102
103
104 SET( PRIMITIVE_SRCS
105  ${SOURCES_CREAIMAGEIO}
106  ${HEADER_CREAIMAGEIO}
107  ${SOURCES_CREAIMAGEIO_IMG_READER}
108  ${SOURCES_CREAIMAGEIO_IMG_DICOM_READER}
109  ${SOURCES_CREAIMAGEIO_WX}
110  ${SOURCES_CREAIMAGEIO_TREE}
111 )
112
113 if( BUILD_CREA_PACS)
114         SET (SRCS
115                 ${PRIMITIVE_SRCS}
116                 ${SOURCES_CREAIMAGEIO_PACS}
117                 ${HEADER_CREAIMAGEIO_PACS}
118                 )
119 else (BUILD_CREA_PACS)
120         SET (SRCS
121                 ${PRIMITIVE_SRCS}
122                 )
123 endif (BUILD_CREA_PACS)
124
125
126
127
128 OPTION(${LIBRARY_NAME}_BUILD_SHARED 
129   "Build ${LIBRARY_NAME} as a shared library (dynamic) ?" ON)
130 IF (${LIBRARY_NAME}_BUILD_SHARED)
131   SET(CREAIMAGEIO_BUILD_SHARED SHARED)
132   crea_DEFINE(CREAIMAGEIO_BUILD_SHARED)
133 ENDIF(${LIBRARY_NAME}_BUILD_SHARED)
134
135 crea_DEFINE(CREAIMAGEIO_EXPORT_SYMBOLS)
136
137 ADD_LIBRARY(${LIBRARY_NAME} ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
138
139
140 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
141   ${crea_LIBRARIES}
142   ${creaBruker_LIBRARIES}
143   ${WXWIDGETS_LIBRARIES}
144   ${VTK_LIBRARIES}
145   ${GDCM_LIBRARIES}
146   ${BOOST_LIBRARIES}
147   sqlite3)
148
149 #----------------------------------------------------------------------------
150 # INSTALLS LIBRARY
151 FILE(GLOB HEADERS "*.h" "*.txx")
152 INSTALL(
153   FILES ${HEADERS}
154   DESTINATION include/${LIBRARY_NAME}
155   )
156   
157
158 IF (WIN32)
159   SET(CREAIMAGEIO_LIB_PATH bin)
160 ELSE (WIN32)
161   SET(CREAIMAGEIO_LIB_PATH lib)
162 ENDIF(WIN32)
163
164 INSTALL(
165   TARGETS ${LIBRARY_NAME} 
166   DESTINATION ${CREAIMAGEIO_LIB_PATH})
167
168      # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
169   SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
170   SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME})
171   
172 #  FILE(RELATIVE_PATH 
173 #    ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS 
174 #    ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
175 #    )
176 SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS
177     src
178     win32
179 )
180
181
182   IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
183     SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
184   ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
185     FILE(RELATIVE_PATH 
186       CILFC_EXECUTABLE_OUTPUT_REL_PATH
187       ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
188   ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
189
190   IF(UNIX)
191     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
192       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
193     SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
194   ELSE(UNIX)
195     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
196       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
197     SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS bin)
198   ENDIF(UNIX)
199   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
200   
201   SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE)
202 SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE 
203   ${PROJECT_SOURCE_DIR}/src/Additional${LIBRARY_NAME}Config.cmake.in)
204 SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE 
205   ${PROJECT_SOURCE_DIR}/src/AdditionalUse${LIBRARY_NAME}.cmake.in)
206
207   # Invoke the advanced macro
208   CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
209 IF (WIN32)
210         SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
211         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/bin/Shared/gimmick)
212 ELSE (WIN32)
213         SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/src/data)
214         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/share/gimmick)
215 ENDIF (WIN32)
216 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
217
218   
219 #CREA_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
220 #-----------------------------------------------------------------------------
221
222 OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
223 IF(BUILD_DOXYGEN_DOC)
224   SUBDIRS(doxygen)
225 ENDIF(BUILD_DOXYGEN_DOC)
226
227 INCLUDE_DIRECTORIES(
228 #  ${PROJECT_BINARY_DIR}
229   ${PROJECT_SOURCE_DIR}/src
230 #  ${PROJECT_SOURCE_DIR}/src/CppSQLite3
231   )