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