]> Creatis software - creaImageIO.git/blob - src/CMakeLists.txt
1aff598a837784e55f34fa594fb3a26d4f956b79
[creaImageIO.git] / src / CMakeLists.txt
1 SET( SRCS
2   # SQLite 
3   CppSQLite3
4   
5   # wxTreeListCtrl
6   treelistctrl.cpp
7
8   # Image readers
9   creaImageIOImageReader
10   creaImageIOMultiThreadImageReader
11
12   # Dicom database management
13   creaImageIODicomNode
14   creaImageIODicomNodeComparators
15   creaImageIODicomNodeTypeDescription
16   creaImageIODicomDatabaseStructure
17   creaImageIODicomDatabase
18   creaImageIOField
19
20   # The Gimmick! widgets
21   creaImageIOWxGimmick
22   creaImageIOWxGimmickSettings
23   creaImageIOWxGimmickFieldsView
24
25   creaImageIOWxGimmickDialog
26
27
28 #  creaImageIOWxDicomDatabaseTreeView
29 #  creaImageIOWxDicomDatabaseTreeViewSettings
30 #  creaImageIOWxDicomNodeFieldsView
31   
32   # File selector wxDialog using a DDB tree view
33 #  creaImageIOWxDicomFilesSelectorDialog
34
35   # wx-free function which opens a file selector dialog 
36 #  BlockScopeWxApp
37 #  creaImageIODicomFilesSelectorDialog
38
39 )
40
41
42
43 OPTION(creaImageIO_BUILD_SHARED 
44   "Build creaImageIO as a shared library (dynamic) ?" ON)
45 IF (creaImageIO_BUILD_SHARED)
46   SET(CREAIMAGEIO_BUILD_SHARED SHARED)
47   crea_DEFINE(CREAIMAGEIO_BUILD_SHARED)
48 ENDIF(creaImageIO_BUILD_SHARED)
49
50 crea_DEFINE(CREAIMAGEIO_EXPORT_SYMBOLS)
51
52 ADD_LIBRARY(creaImageIO ${CREAIMAGEIO_BUILD_SHARED} ${SRCS})
53
54
55
56 TARGET_LINK_LIBRARIES(creaImageIO 
57   ${crea_LIBRARIES}
58   ${WXWIDGETS_LIBRARIES}
59   ${VTK_LIBRARIES}
60   ${GDCM_LIBRARIES}
61   ${BOOST_LIBRARIES}
62   sqlite3)
63
64 #----------------------------------------------------------------------------
65 # INSTALLS LIBRARY
66 FILE(GLOB HEADERS "*.h")
67 INSTALL(
68   FILES ${HEADERS}
69   DESTINATION include/creaImageIO
70   )
71 IF (WIN32)
72   SET(CREAIMAGEIO_LIB_PATH bin)
73 ELSE (WIN32)
74   SET(CREAIMAGEIO_LIB_PATH lib)
75 ENDIF(WIN32)
76
77 INSTALL(
78   TARGETS creaImageIO 
79   DESTINATION ${CREAIMAGEIO_LIB_PATH})
80
81   
82    # Sets the settings for macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
83    SET(LIBRARY_NAME creaImageIO)
84   SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
85   SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME})
86   
87   FILE(RELATIVE_PATH 
88     ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS 
89     ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
90     )
91   IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
92     SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
93   ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
94     FILE(RELATIVE_PATH 
95       CILFC_EXECUTABLE_OUTPUT_REL_PATH
96       ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
97   ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
98
99   IF(UNIX)
100     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
101       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
102     SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
103   ELSE(UNIX)
104     SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
105       ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
106     SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS bin)
107   ENDIF(UNIX)
108   SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
109   
110   SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE)
111 SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE 
112   ${PROJECT_SOURCE_DIR}/src/AdditionalcreaImageIOConfig.cmake.in)
113 SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE 
114   ${PROJECT_SOURCE_DIR}/src/AdditionalUsecreaImageIO.cmake.in)
115
116   # Invoke the advanced macro
117   CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
118
119   
120 #CREA_INSTALL_LIBRARY_FOR_CMAKE(creaImageIO)
121 #-----------------------------------------------------------------------------
122
123 OPTION( BUILD_DOXYGEN_DOC "Build doxygen doc ?" OFF)
124 IF(BUILD_DOXYGEN_DOC)
125   SUBDIRS(doxygen)
126 ENDIF(BUILD_DOXYGEN_DOC)