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