1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
13 FOREACH(policy ${policies})
15 CMAKE_POLICY(SET ${policy} NEW)
16 ENDIF(POLICY ${policy})
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 # Prepare header to build shared libs (windows)
44 INCLUDE(GenerateExportHeader)
47 FIND_PACKAGE(ITK REQUIRED)
48 FIND_PACKAGE(VTK REQUIRED)
50 INCLUDE(${ITK_USE_FILE})
51 INCLUDE(${VTK_USE_FILE})
53 # Do not use itk-vtk glue --> problems ahead!!!
55 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.")
56 ENDIF(ITKVtkGlue_LOADED)
60 FIND_PACKAGE(Qt4 REQUIRED)
61 INCLUDE(${QT_USE_FILE})
63 ## Check for required vtk-qt4 modules
69 FOREACH(vtk_module ${vtk_required_modules})
70 IF(NOT ${vtk_module}_LOADED)
73 "${vtk_module} module is required but not available."
76 ENDIF(NOT ${vtk_module}_LOADED)
77 ENDFOREACH(vtk_module)
81 ## ================================================
82 ## = Do not allow to build inside the source tree =
83 ## ================================================
85 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
86 MESSAGE(FATAL_ERROR "Building in the source tree is not allowed.")
87 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
89 ## =====================================
90 ## = Where to put executables and libs =
91 ## =====================================
93 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
94 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
96 CMAKE_BACKWARDS_COMPATIBILITY
97 EXECUTABLE_OUTPUT_PATH
101 ## ==============================
102 ## = Subdirs containing headers =
103 ## ==============================
106 ${PROJECT_SOURCE_DIR}/lib
107 ${PROJECT_SOURCE_DIR}/lib/third_party
108 ${PROJECT_SOURCE_DIR}/lib/third_party/ItkVtkGlue
109 ${PROJECT_BINARY_DIR}/lib
110 ${PROJECT_BINARY_DIR}/lib/third_party
111 ${PROJECT_BINARY_DIR}/lib/third_party/ItkVtkGlue
115 ${PROJECT_SOURCE_DIR}/lib/third_party/glext
117 ENDIF(WIN32 OR APPLE)
119 ## ===========================
120 ## = Subdirs containing code =
121 ## ===========================