1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
12 FOREACH(policy ${policies})
14 CMAKE_POLICY(SET ${policy} NEW)
15 ENDIF(POLICY ${policy})
23 SET(prj_MAJOR_VERSION "0")
24 SET(prj_MINOR_VERSION "0")
25 SET(prj_RELEASE_VERSION "1")
28 "${prj_MAJOR_VERSION}.${prj_MINOR_VERSION}.${prj_RELEASE_VERSION}"
35 OPTION(USE_QT4 "Build Qt4-based code" OFF)
36 OPTION(BUILD_EXAMPLES "Build examples" OFF)
38 ## ========================
39 ## = Packages and options =
40 ## ========================
42 # Prepare header to build shared libs (windows)
43 INCLUDE(GenerateExportHeader)
46 FIND_PACKAGE(ITK REQUIRED)
47 FIND_PACKAGE(VTK REQUIRED)
49 INCLUDE(${ITK_USE_FILE})
50 INCLUDE(${VTK_USE_FILE})
52 # Do not use itk-vtk glue --> problems ahead!!!
54 MESSAGE(FATAL_ERROR "ITKVtkGlue module is available. Please re-compile your ITK without it. It could lead to nasty compilation problems... Just waiting for Kitware to solve it.")
55 ENDIF(ITKVtkGlue_LOADED)
59 FIND_PACKAGE(Qt4 REQUIRED)
60 INCLUDE(${QT_USE_FILE})
62 ## Check for required vtk-qt4 modules
68 FOREACH(vtk_module ${vtk_required_modules})
69 IF(NOT ${vtk_module}_LOADED)
72 "${vtk_module} module is required but not available."
75 ENDIF(NOT ${vtk_module}_LOADED)
76 ENDFOREACH(vtk_module)
80 ## ================================================
81 ## = Do not allow to build inside the source tree =
82 ## ================================================
84 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
85 MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
86 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
88 ## =====================================
89 ## = Where to put executables and libs =
90 ## =====================================
92 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
93 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
95 CMAKE_BACKWARDS_COMPATIBILITY
96 EXECUTABLE_OUTPUT_PATH
100 ## ==============================
101 ## = Subdirs containing headers =
102 ## ==============================
105 ${PROJECT_SOURCE_DIR}/lib
106 ${PROJECT_SOURCE_DIR}/lib/third_party
107 ${PROJECT_SOURCE_DIR}/lib/third_party/ItkVtkGlue
108 ${PROJECT_BINARY_DIR}/lib
109 ${PROJECT_BINARY_DIR}/lib/third_party
110 ${PROJECT_BINARY_DIR}/lib/third_party/ItkVtkGlue
114 ${PROJECT_SOURCE_DIR}/lib/third_party/glext
116 ENDIF(WIN32 OR APPLE)
118 ## ===========================
119 ## = Subdirs containing code =
120 ## ===========================