CMAKE_MINIMUM_REQUIRED(VERSION 2.8) ## ============ ## = Policies = ## ============ SET( policies CMP0015 CMP0020 CMP0042 ) FOREACH(policy ${policies}) IF(POLICY ${policy}) CMAKE_POLICY(SET ${policy} NEW) ENDIF(POLICY ${policy}) ENDFOREACH(policy) ## ================ ## = Project name = ## ================ PROJECT(cpPlugins) SET(prj_MAJOR_VERSION "0") SET(prj_MINOR_VERSION "0") SET(prj_RELEASE_VERSION "1") SET( prj_VERSION "${prj_MAJOR_VERSION}.${prj_MINOR_VERSION}.${prj_RELEASE_VERSION}" ) ## =========== ## = Options = ## =========== OPTION(USE_QT4 "Build Qt4-based code" OFF) OPTION(BUILD_EXAMPLES "Build examples" OFF) ## ======================== ## = Packages and options = ## ======================== # Prepare header to build shared libs (windows) INCLUDE(GenerateExportHeader) # Find ITK and VTK FIND_PACKAGE(ITK REQUIRED) FIND_PACKAGE(VTK REQUIRED) INCLUDE(${ITK_USE_FILE}) INCLUDE(${VTK_USE_FILE}) # Do not use itk-vtk glue --> problems ahead!!! IF(ITKVtkGlue_LOADED) 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.") ENDIF(ITKVtkGlue_LOADED) SET(QT4_FOUND "0") IF(USE_QT4) FIND_PACKAGE(Qt4 REQUIRED) INCLUDE(${QT_USE_FILE}) ## Check for required vtk-qt4 modules SET( vtk_required_modules vtkGUISupportQt vtkGUISupportQtOpenGL ) FOREACH(vtk_module ${vtk_required_modules}) IF(NOT ${vtk_module}_LOADED) MESSAGE( FATAL_ERROR "${vtk_module} module is required but not available." ) SET(QT4_FOUND "0") ENDIF(NOT ${vtk_module}_LOADED) ENDFOREACH(vtk_module) SET(QT4_FOUND "1") ENDIF(USE_QT4) ## ================================================ ## = Do not allow to build inside the source tree = ## ================================================ IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR}) MESSAGE(FATAL_ERROR "Building in the source tree is not allowed.") ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR}) ## ===================================== ## = Where to put executables and libs = ## ===================================== SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}) SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}) MARK_AS_ADVANCED( CMAKE_BACKWARDS_COMPATIBILITY EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH ) ## ============================== ## = Subdirs containing headers = ## ============================== INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib ${PROJECT_SOURCE_DIR}/lib/third_party ${PROJECT_SOURCE_DIR}/lib/third_party/ItkVtkGlue ${PROJECT_BINARY_DIR}/lib ${PROJECT_BINARY_DIR}/lib/third_party ${PROJECT_BINARY_DIR}/lib/third_party/ItkVtkGlue ) IF(WIN32 OR APPLE) INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/third_party/glext ) ENDIF(WIN32 OR APPLE) ## =========================== ## = Subdirs containing code = ## =========================== SUBDIRS( cmake lib appli ) ## eof - $RCSfile$