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