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 OPTION(BUILD_SHARED_LIBRARIES "Build libraries as shared" OFF)
40 IF(BUILD_SHARED_LIBRARIES)
41 SET(LIBRARY_TYPE SHARED)
42 ELSE(BUILD_SHARED_LIBRARIES)
43 SET(LIBRARY_TYPE STATIC)
44 ENDIF(BUILD_SHARED_LIBRARIES)
46 ## ========================
47 ## = Packages and options =
48 ## ========================
50 # Prepare header to build shared libs (windows)
51 INCLUDE(GenerateExportHeader)
54 FIND_PACKAGE(Boost 1.30 COMPONENTS filesystem system REQUIRED)
56 INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
60 FIND_PACKAGE(ITK REQUIRED)
61 FIND_PACKAGE(VTK REQUIRED)
63 INCLUDE(${ITK_USE_FILE})
64 INCLUDE(${VTK_USE_FILE})
66 # Do not use itk-vtk glue --> problems ahead!!!
68 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.")
69 ENDIF(ITKVtkGlue_LOADED)
73 FIND_PACKAGE(Qt4 REQUIRED)
74 INCLUDE(${QT_USE_FILE})
76 ## Check for required vtk-qt4 modules
82 FOREACH(vtk_module ${vtk_required_modules})
83 IF(NOT ${vtk_module}_LOADED)
86 "${vtk_module} module is required but not available."
89 ENDIF(NOT ${vtk_module}_LOADED)
90 ENDFOREACH(vtk_module)
94 ## ================================================
95 ## = Do not allow to build inside the source tree =
96 ## ================================================
98 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
99 MESSAGE(FATAL_ERROR "Building in the source tree is not allowed.")
100 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
102 ## =====================================
103 ## = Where to put executables and libs =
104 ## =====================================
106 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
107 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
109 CMAKE_BACKWARDS_COMPATIBILITY
110 EXECUTABLE_OUTPUT_PATH
114 ## ==============================
115 ## = Subdirs containing headers =
116 ## ==============================
119 ${PROJECT_SOURCE_DIR}/lib
120 ${PROJECT_SOURCE_DIR}/lib/third_party
121 ${PROJECT_SOURCE_DIR}/lib/third_party/ItkVtkGlue
122 ${PROJECT_BINARY_DIR}/lib
123 ${PROJECT_BINARY_DIR}/lib/third_party
124 ${PROJECT_BINARY_DIR}/lib/third_party/ItkVtkGlue
128 ${PROJECT_SOURCE_DIR}/lib/third_party/glext
130 ENDIF(WIN32 OR APPLE)
132 ## ===========================
133 ## = Subdirs containing code =
134 ## ===========================