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})
55 NAMES vtkGUISupportQt-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}
56 HINTS ${VTK_LIBRARY_DIRS}
57 PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
61 vtkGUISupportQtOpenGL-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}
62 HINTS ${VTK_LIBRARY_DIRS}
63 PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
65 MARK_AS_ADVANCED(FORCE VTK_USES_QT)
66 MARK_AS_ADVANCED(FORCE VTK_USES_QT_OPENGL)
67 IF(VTK_USES_QT AND VTK_USES_QT_OPENGL)
68 FIND_PACKAGE(Qt4 REQUIRED)
69 INCLUDE(${QT_USE_FILE})
70 ELSE(VTK_USES_QT AND VTK_USES_QT_OPENGL)
71 MESSAGE(FATAL_ERROR "VTK ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION} was not compiled with Qt4 support!")
72 ENDIF(VTK_USES_QT AND VTK_USES_QT_OPENGL)
74 FIND_PACKAGE(Qt4 REQUIRED)
75 INCLUDE(${QT_USE_FILE})
79 ## ================================================
80 ## = Do not allow to build inside the source tree =
81 ## ================================================
83 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
84 MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
85 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
87 ## =====================================
88 ## = Where to put executables and libs =
89 ## =====================================
91 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
92 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
94 CMAKE_BACKWARDS_COMPATIBILITY
95 EXECUTABLE_OUTPUT_PATH
99 ## ==============================
100 ## = Subdirs containing headers =
101 ## ==============================
104 ${PROJECT_SOURCE_DIR}/lib
105 ${PROJECT_SOURCE_DIR}/lib/third_party
106 ${PROJECT_BINARY_DIR}/lib
107 ${PROJECT_BINARY_DIR}/lib/third_party
111 ${PROJECT_SOURCE_DIR}/lib/third_party/glext
115 ## ===========================
116 ## = Subdirs containing code =
117 ## ===========================