]> Creatis software - FrontAlgorithms.git/blob - CMakeLists.txt
Gaussian model estimator debugged
[FrontAlgorithms.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 # for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
4 IF(
5     COMMAND cmake_policy AND
6     ${CMAKE_MAJOR_VERSION} EQUAL 2 AND
7     ${CMAKE_MINOR_VERSION} GREATER 4
8     )
9   CMAKE_POLICY(SET CMP0003 NEW)
10   CMAKE_POLICY(SET CMP0005 NEW)
11   CMAKE_POLICY(SET CMP0011 NEW)
12   CMAKE_POLICY(SET CMP0012 NEW)
13 ENDIF(
14   COMMAND cmake_policy AND
15   ${CMAKE_MAJOR_VERSION} EQUAL 2 AND
16   ${CMAKE_MINOR_VERSION} GREATER 4
17   )
18
19 ## ================
20 ## = Project name =
21 ## ================
22
23 PROJECT(FrontAlgorithms)
24 SET(FrontAlgorithms_MAJOR_VERSION   "0")
25 SET(FrontAlgorithms_MINOR_VERSION   "0")
26 SET(FrontAlgorithms_RELEASE_VERSION "1")
27 SET(FrontAlgorithms_VERSION "${FrontAlgorithms_MAJOR_VERSION}.${FrontAlgorithms_MINOR_VERSION}.${FrontAlgorithms_RELEASE_VERSION}")
28
29 ## ===========
30 ## = Options =
31 ## ===========
32
33 OPTION(BUILD_EXAMPLES "Build examples" OFF)
34 OPTION(BUILD_SHARED_LIBS "Build shared libs" OFF)
35
36 IF(BUILD_SHARED_LIBS)
37   SET(LIB_TYPE SHARED)
38 ELSE(BUILD_SHARED_LIBS)
39   SET(LIB_TYPE STATIC)
40 ENDIF(BUILD_SHARED_LIBS)
41
42 ## ============
43 ## = Packages =
44 ## ============
45
46 INCLUDE(GenerateExportHeader)
47
48 FIND_PACKAGE(VTK REQUIRED)
49 FIND_PACKAGE(ITK REQUIRED)
50 INCLUDE(${ITK_USE_FILE})
51
52 ## Check for required modules
53 IF(NOT ITKVtkGlue_LOADED)
54   MESSAGE(FATAL_ERROR "ITKVtkGlue module is required but not available.")
55 ENDIF(NOT ITKVtkGlue_LOADED)
56
57 OPTION(USE_cpPlugins "Build cpPlugins based stuff" OFF)
58 IF(USE_cpPlugins)
59   FIND_PACKAGE(cpPlugins REQUIRED)
60 ENDIF(USE_cpPlugins)
61
62 ## ================================================
63 ## = Do not allow to build inside the source tree =
64 ## ================================================
65
66 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
67   MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
68 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
69
70 ## =====================================
71 ## = Where to put executables and libs =
72 ## =====================================
73
74 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
75 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
76 MARK_AS_ADVANCED(
77   CMAKE_BACKWARDS_COMPATIBILITY
78   EXECUTABLE_OUTPUT_PATH
79   LIBRARY_OUTPUT_PATH
80   )
81
82 ## ==============================
83 ## = Subdirs containing headers =
84 ## ==============================
85
86 INCLUDE_DIRECTORIES(
87   ${PROJECT_SOURCE_DIR}/lib
88   ${PROJECT_BINARY_DIR}/lib
89   )
90
91 ## ===========================
92 ## = Subdirs containing code =
93 ## ===========================
94
95 SUBDIRS(
96   cmake
97   lib
98   appli
99   )
100
101 ## eof - $RCSfile$