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
29 OPTION(BUILD_EXAMPLES "Build demos" OFF)
30 OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON)
31 OPTION(BUILD_FINAL_APPLICATION "Build final application" ON)
34 SET(cpm_LIBRARY_TYPE SHARED)
35 ELSE(BUILD_SHARED_LIBS)
36 SET(cpm_LIBRARY_TYPE STATIC)
37 ENDIF(BUILD_SHARED_LIBS)
42 INCLUDE(GenerateExportHeader)
44 FIND_PACKAGE(ITK REQUIRED)
45 INCLUDE(${ITK_USE_FILE})
47 FIND_PACKAGE(VTK REQUIRED)
48 INCLUDE(${VTK_USE_FILE})
50 IF(BUILD_FINAL_APPLICATION)
51 FIND_PACKAGE(Qt4 REQUIRED)
52 INCLUDE(${QT_USE_FILE})
54 FIND_PACKAGE(cpPlugins REQUIRED)
55 ENDIF(BUILD_FINAL_APPLICATION)
57 ## ================================================
58 ## = Do not allow to build inside the source tree =
59 ## ================================================
61 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
62 MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
63 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
65 ## =====================================
66 ## = Where to put executables and libs =
67 ## =====================================
69 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
70 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
72 CMAKE_BACKWARDS_COMPATIBILITY
73 EXECUTABLE_OUTPUT_PATH
77 ## ==============================
78 ## = Subdirs containing headers =
79 ## ==============================
82 ${PROJECT_SOURCE_DIR}/lib
83 ${PROJECT_SOURCE_DIR}/lib/third_party
84 ${PROJECT_BINARY_DIR}/lib
87 ## ===========================
88 ## = Subdirs containing code =
89 ## ===========================