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(ITK REQUIRED)
46 INCLUDE(${ITK_USE_FILE})
48 FIND_PACKAGE(VTK REQUIRED)
49 INCLUDE(${VTK_USE_FILE})
54 NAMES vtkGUISupportQt-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}
55 HINTS ${VTK_LIBRARY_DIRS}
56 PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
60 vtkGUISupportQtOpenGL-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}
61 HINTS ${VTK_LIBRARY_DIRS}
62 PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
64 MARK_AS_ADVANCED(FORCE VTK_USES_QT)
65 MARK_AS_ADVANCED(FORCE VTK_USES_QT_OPENGL)
66 IF(VTK_USES_QT AND VTK_USES_QT_OPENGL)
67 FIND_PACKAGE(Qt4 REQUIRED)
68 INCLUDE(${QT_USE_FILE})
69 ELSE(VTK_USES_QT AND VTK_USES_QT_OPENGL)
70 MESSAGE(FATAL_ERROR "VTK ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION} was not compiled with Qt4 support!")
71 ENDIF(VTK_USES_QT AND VTK_USES_QT_OPENGL)
74 ## ================================================
75 ## = Do not allow to build inside the source tree =
76 ## ================================================
78 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
79 MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
80 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
82 ## =====================================
83 ## = Where to put executables and libs =
84 ## =====================================
86 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
87 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
89 CMAKE_BACKWARDS_COMPATIBILITY
90 EXECUTABLE_OUTPUT_PATH
94 ## ==============================
95 ## = Subdirs containing headers =
96 ## ==============================
99 ${PROJECT_SOURCE_DIR}/lib
100 ${PROJECT_SOURCE_DIR}/lib/third_party
101 ${PROJECT_BINARY_DIR}/lib
102 ${PROJECT_BINARY_DIR}/lib/third_party
106 ${PROJECT_SOURCE_DIR}/lib/third_party/glext
110 ## ===========================
111 ## = Subdirs containing code =
112 ## ===========================