]> Creatis software - creaImageIO.git/blob - CMakeLists.txt
- new version
[creaImageIO.git] / CMakeLists.txt
1 #
2 # Test CMake version
3 CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
4
5 #MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )
6 # for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
7 IF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
8   CMAKE_POLICY(SET CMP0003 NEW)
9   CMAKE_POLICY(SET CMP0005 NEW)
10   CMAKE_POLICY(SET CMP0011 NEW)
11 ENDIF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
12
13 ###################################
14 PROJECT(creaImageIO)
15 ###################################
16
17 #==================================
18 # The project version
19 SET(PROJECT_MAJOR_VERSION 0)
20 SET(PROJECT_MINOR_VERSION 2)
21 SET(PROJECT_BUILD_VERSION 6)
22 SET(CREA_VERBOSE_CMAKE TRUE)
23
24 # JPR 4 mars 2011
25 set (CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Module)
26
27 #==================================
28 # Find crea (mandatory, to use macros)
29 FIND_PACKAGE(crea REQUIRED)
30 IF (crea_FOUND)
31   INCLUDE(${crea_USE_FILE})
32 ENDIF(crea_FOUND)
33 #==================================
34
35 #==================================
36 # Do not allow to build inside the source tree
37 CREA_PREVENT_IN_SOURCE_BUILD()
38 #==================================
39
40
41 # For boost 1.46 troubles...  // JPR.
42 add_definitions(-DBOOST_FILESYSTEM_VERSION=2)
43
44 SET(USE_GDCM_VTK ON)
45
46 SET(USE_VTK ON)
47
48 SET(USE_BOOST ON)
49 OPTION(USE_WXWIDGETS "Use WxWidgets GUI" ON)
50 OPTION(USE_QT4 "USE QT4GUI"       OFF)
51 OPTION(USE_XERCES "USE Xerces if you want to use an beta version of outputModel" OFF)
52 OPTION(USE_INSTALL_APP "install only useful applications" ON)
53
54 IF(USE_QT4)
55         IF(USE_WXWIDGETS)
56                  MESSAGE(ERROR "CANNOT USE QT WXWIDGETS IN SAME TIME")
57         ENDIF(USE_WXWIDGETS)
58 ENDIF(USE_QT4)
59                  
60 IF(QT4_FOUND)
61  IF (WIN32)
62  MESSAGE("So ... ${QT_DIR}")
63                 INCLUDE_DIRECTORIES(${QT_DIR}/../include)               
64                 LINK_DIRECTORIES(${QT_DIR}/../lib)
65  ENDIF(WIN32)
66 ENDIF(QT4_FOUND)
67 #
68 # ----------------- manual setting GDCM/GDCM2 JPR
69 #                
70 OPTION(USE_GDCM "Use gdcm 1.3" ON)
71 OPTION(USE_GDCM2 "Use gdcm 2.0.14 at least" OFF)
72
73  MESSAGE(STATUS "GDCM LIB ....= ${GDCM_LIBRARIES}")
74 IF(USE_GDCM2)
75         OPTION(USE_GDCM_ANOM "use gdcm2 anonymizer tool" OFF)
76         #TO DO TEST IF GDCM_USE_SYSTEM_OPENSSL is valid
77 ENDIF(USE_GDCM2)
78 OPTION(USE_ITK "use ITK" ON)
79 CREA_FIND_AND_USE_LIBRARIES()
80
81 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
82 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
83 MARK_AS_ADVANCED(
84   CMAKE_BACKWARDS_COMPATIBILITY
85   EXECUTABLE_OUTPUT_PATH 
86   LIBRARY_OUTPUT_PATH
87   )
88
89 IF(WIN32)
90         IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 4)
91                 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
92                 LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
93         endif()
94         IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 8)
95                 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win64)
96                 LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win64)
97         endif()
98 ENDIF(WIN32)
99
100 SET(LIBNAME creaImageIO)
101         INCLUDE_DIRECTORIES(
102     ${PROJECT_BINARY_DIR}
103     ${PROJECT_SOURCE_DIR}/src
104     )
105 ADD_SUBDIRECTORY(src)
106
107
108 OPTION(BUILD_CREA_BRUKER "Build creaIRM with creaBruker?" ON)
109
110 IF (BUILD_CREA_BRUKER)
111         FIND_PACKAGE(creaBruker REQUIRED)
112         IF (creaBruker_FOUND)
113                 INCLUDE(${creaBruker_USE_FILE})
114                 CREA_DEFINE(BUILD_BRUKER)
115         ENDIF(creaBruker_FOUND)
116 ENDIF (BUILD_CREA_BRUKER)
117
118
119 # To Use PACS connection library
120 OPTION(BUILD_CREA_PACS "Build creaImageIO with PACS connection library ?" OFF)
121 IF (BUILD_CREA_PACS)
122         CREA_DEFINE(BUILD_PACS)
123 ENDIF(BUILD_CREA_PACS)
124
125 #==================================
126 # Subdirs
127
128 ADD_SUBDIRECTORY(appli)
129 ADD_SUBDIRECTORY(bbtk)
130
131 #EED 31/05/2011   not compiling 
132 #ADD_SUBDIRECTORY(tests)
133
134 IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 4)
135         ADD_SUBDIRECTORY(win32)
136 endif()
137 IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 8)
138         ADD_SUBDIRECTORY(win64)
139 endif()
140
141 ADD_SUBDIRECTORY(install)
142 #==================================
143
144
145 #EED 31/05/2011   not compiling 
146 #ENABLE_TESTING()