]> Creatis software - FrontAlgorithms.git/blob - CMakeLists.txt
Merge
[FrontAlgorithms.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2
3 ## ============
4 ## = Policies =
5 ## ============
6
7 SET(
8   policies
9   CMP0015
10   CMP0020
11   CMP0042
12   )
13 FOREACH(policy ${policies})
14   IF(POLICY ${policy})
15     CMAKE_POLICY(SET ${policy} NEW)
16   ENDIF(POLICY ${policy})
17 ENDFOREACH(policy)
18
19 ## ================
20 ## = Project name =
21 ## ================
22
23 PROJECT(FrontAlgorithms)
24 SET(prj_MAJOR_VERSION   "0")
25 SET(prj_MINOR_VERSION   "0")
26 SET(prj_RELEASE_VERSION "1")
27 SET(
28   prj_VERSION
29   "${prj_MAJOR_VERSION}.${prj_MINOR_VERSION}.${prj_RELEASE_VERSION}"
30   )
31
32 ## ===========
33 ## = Options =
34 ## ===========
35
36 OPTION(BUILD_EXAMPLES "Build examples" OFF)
37 OPTION(BUILD_SHARED_LIBS "Build shared libs" OFF)
38
39 IF(BUILD_SHARED_LIBS)
40   SET(LIB_TYPE SHARED)
41 ELSE(BUILD_SHARED_LIBS)
42   SET(LIB_TYPE STATIC)
43 ENDIF(BUILD_SHARED_LIBS)
44
45 ## ============
46 ## = Packages =
47 ## ============
48
49 # Prepare header to build shared libs (windows)
50 INCLUDE(GenerateExportHeader)
51
52 # Find cpPlugins
53 FIND_PACKAGE(cpPlugins REQUIRED)
54
55 ## ================================================
56 ## = Do not allow to build inside the source tree =
57 ## ================================================
58
59 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
60   MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
61 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
62
63 ## =====================================
64 ## = Where to put executables and libs =
65 ## =====================================
66
67 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
68 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
69 MARK_AS_ADVANCED(
70   CMAKE_BACKWARDS_COMPATIBILITY
71   EXECUTABLE_OUTPUT_PATH
72   LIBRARY_OUTPUT_PATH
73   )
74
75 ## ==============================
76 ## = Subdirs containing headers =
77 ## ==============================
78
79 INCLUDE_DIRECTORIES(
80   ${PROJECT_SOURCE_DIR}/lib
81   ${PROJECT_BINARY_DIR}/lib
82   )
83
84 ## ===========================
85 ## = Subdirs containing code =
86 ## ===========================
87
88 SUBDIRS(
89   cmake
90   lib
91   appli
92   )
93
94 ## eof - $RCSfile$