]> Creatis software - creaImageIO.git/blob - CMakeLists.txt
Avoid boost 1.46 troubles
[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 5)
22 SET(CREA_VERBOSE_CMAKE TRUE)
23
24 #==================================
25 # Find crea (mandatory, to use macros)
26 FIND_PACKAGE(crea REQUIRED)
27 IF (crea_FOUND)
28   INCLUDE(${crea_USE_FILE})
29 ENDIF(crea_FOUND)
30 #==================================
31
32 #==================================
33 # Do not allow to build inside the source tree
34 CREA_PREVENT_IN_SOURCE_BUILD()
35 #==================================
36
37 message("link directory ${GDCM_INCLUDE_DIR} ?!? ")
38
39 # For boost 1.46 troubles...  // JPR.
40 add_definitions(-DBOOST_FILESYSTEM_VERSION=2)
41
42 SET(USE_GDCM_VTK ON)
43
44 SET(USE_VTK ON)
45 SET(USE_ITK OFF)
46 SET(USE_BOOST ON)
47 OPTION(USE_WXWIDGETS "Use WxWidgets GUI" ON)
48 OPTION(USE_QT4 "USE QT4GUI"       OFF)
49 OPTION(USE_XERCES "USE Xerces if you want to use an beta version of outputModel" OFF)
50 OPTION(USE_INSTALL_APP "install only useful applications" ON)
51
52 IF(USE_QT4)
53         IF(USE_WXWIDGETS)
54                  MESSAGE(ERROR "CANNOT USE QT WXWIDGETS IN SAME TIME")
55         ENDIF(USE_WXWIDGETS)
56 ENDIF(USE_QT4)
57                  
58 IF(QT4_FOUND)
59  IF (WIN32)
60  MESSAGE("So ... ${QT_DIR}")
61                 INCLUDE_DIRECTORIES(${QT_DIR}/../include)               
62                 LINK_DIRECTORIES(${QT_DIR}/../lib)
63  ENDIF(WIN32)
64 ENDIF(QT4_FOUND)
65 #
66 # ----------------- manual setting GDCM/GDCM2 JPR
67 #                
68 OPTION(USE_GDCM "Use gdcm 1.3" ON)
69 OPTION(USE_GDCM2 "Use gdcm 2.0.14 at least" OFF)
70
71  MESSAGE(STATUS "GDCM LIB ....= ${GDCM_LIBRARIES}")
72 IF(USE_GDCM2)
73         OPTION(USE_GDCM_ANOM "use gdcm2 anonymizer tool" OFF)
74         #TO DO TEST IF GDCM_USE_SYSTEM_OPENSSL is valid
75 ENDIF(USE_GDCM2)
76 CREA_FIND_AND_USE_LIBRARIES()
77
78 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
79 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
80 MARK_AS_ADVANCED(
81   CMAKE_BACKWARDS_COMPATIBILITY
82   EXECUTABLE_OUTPUT_PATH 
83   LIBRARY_OUTPUT_PATH
84   )
85
86 IF(WIN32)
87         IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 4)
88                 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
89                 LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
90         endif()
91         IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 8)
92                 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win64)
93                 LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win64)
94         endif()
95 ENDIF(WIN32)
96
97 SET(LIBNAME creaImageIO)
98         INCLUDE_DIRECTORIES(
99     ${PROJECT_BINARY_DIR}
100     ${PROJECT_SOURCE_DIR}/src
101     )
102 ADD_SUBDIRECTORY(src)
103
104
105 OPTION(BUILD_CREA_BRUKER "Build creaIRM with creaBruker?" ON)
106
107 IF (BUILD_CREA_BRUKER)
108         FIND_PACKAGE(creaBruker REQUIRED)
109         IF (creaBruker_FOUND)
110                 INCLUDE(${creaBruker_USE_FILE})
111                 CREA_DEFINE(BUILD_BRUKER)
112         ENDIF(creaBruker_FOUND)
113 ENDIF (BUILD_CREA_BRUKER)
114
115
116 # To Use PACS connection library
117 OPTION(BUILD_CREA_PACS "Build creaImageIO with PACS connection library ?" OFF)
118 IF (BUILD_CREA_PACS)
119         CREA_DEFINE(BUILD_PACS)
120 ENDIF(BUILD_CREA_PACS)
121
122 #==================================
123 # Subdirs
124
125 ADD_SUBDIRECTORY(appli)
126 ADD_SUBDIRECTORY(bbtk)
127 ADD_SUBDIRECTORY(tests)
128
129 IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 4)
130         ADD_SUBDIRECTORY(win32)
131 endif()
132 IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 8)
133         ADD_SUBDIRECTORY(win64)
134 endif()
135
136 ADD_SUBDIRECTORY(install)
137 #==================================
138
139 ENABLE_TESTING()