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