1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
3 # for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
5 COMMAND cmake_policy AND
6 ${CMAKE_MAJOR_VERSION} EQUAL 2 AND
7 ${CMAKE_MINOR_VERSION} GREATER 4
9 CMAKE_POLICY(SET CMP0003 NEW)
10 CMAKE_POLICY(SET CMP0005 NEW)
11 CMAKE_POLICY(SET CMP0011 NEW)
12 CMAKE_POLICY(SET CMP0012 NEW)
14 COMMAND cmake_policy AND
15 ${CMAKE_MAJOR_VERSION} EQUAL 2 AND
16 ${CMAKE_MINOR_VERSION} GREATER 4
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}")
33 OPTION(BUILD_EXAMPLES "Build examples" OFF)
34 OPTION(BUILD_SHARED_LIBS "Build shared libs" OFF)
38 ELSE(BUILD_SHARED_LIBS)
40 ENDIF(BUILD_SHARED_LIBS)
46 INCLUDE(GenerateExportHeader)
48 FIND_PACKAGE(VTK REQUIRED)
49 FIND_PACKAGE(ITK REQUIRED)
50 INCLUDE(${ITK_USE_FILE})
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)
57 OPTION(USE_cpPlugins "Build cpPlugins based stuff" OFF)
59 FIND_PACKAGE(cpPlugins REQUIRED)
62 ## ================================================
63 ## = Do not allow to build inside the source tree =
64 ## ================================================
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})
70 ## =====================================
71 ## = Where to put executables and libs =
72 ## =====================================
74 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
75 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
77 CMAKE_BACKWARDS_COMPATIBILITY
78 EXECUTABLE_OUTPUT_PATH
82 ## ==============================
83 ## = Subdirs containing headers =
84 ## ==============================
87 ${PROJECT_SOURCE_DIR}/lib
88 ${PROJECT_BINARY_DIR}/lib
91 ## ===========================
92 ## = Subdirs containing code =
93 ## ===========================