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
24 SET(prj_MAJOR_VERSION "0")
25 SET(prj_MINOR_VERSION "0")
26 SET(prj_RELEASE_VERSION "1")
29 "${prj_MAJOR_VERSION}.${prj_MINOR_VERSION}.${prj_RELEASE_VERSION}"
36 OPTION(USE_QT4 "Build Qt4-based code" OFF)
37 OPTION(BUILD_EXAMPLES "Build examples" OFF)
39 ## ========================
40 ## = Packages and options =
41 ## ========================
43 INCLUDE(GenerateExportHeader)
45 FIND_PACKAGE(VTK REQUIRED)
46 FIND_PACKAGE(ITK REQUIRED)
47 INCLUDE(${ITK_USE_FILE})
49 ## Check for required modules
50 IF(NOT ITKVtkGlue_LOADED)
51 MESSAGE(FATAL_ERROR "ITKVtkGlue module is required but not available.")
52 ENDIF(NOT ITKVtkGlue_LOADED)
55 FIND_PACKAGE(Qt4 REQUIRED)
56 INCLUDE(${QT_USE_FILE})
58 ## Check for required modules
59 IF(NOT vtkGUISupportQt_LOADED)
62 "vtkGUISupportQt module is required but not available."
64 ENDIF(NOT vtkGUISupportQt_LOADED)
65 IF(NOT vtkGUISupportQtOpenGL_LOADED)
68 "vtkGUISupportQtOpenGL module is required but not available."
70 ENDIF(NOT vtkGUISupportQtOpenGL_LOADED)
73 ## ================================================
74 ## = Do not allow to build inside the source tree =
75 ## ================================================
77 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
78 MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
79 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
81 ## =====================================
82 ## = Where to put executables and libs =
83 ## =====================================
85 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
86 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
88 CMAKE_BACKWARDS_COMPATIBILITY
89 EXECUTABLE_OUTPUT_PATH
93 ## ==============================
94 ## = Subdirs containing headers =
95 ## ==============================
98 ${PROJECT_SOURCE_DIR}/lib
99 ${PROJECT_SOURCE_DIR}/lib/third_party
100 ${PROJECT_BINARY_DIR}/lib
101 ${PROJECT_BINARY_DIR}/lib/third_party
105 ${PROJECT_SOURCE_DIR}/lib/third_party/glext
109 ## ===========================
110 ## = Subdirs containing code =
111 ## ===========================