CMAKE_MINIMUM_REQUIRED(VERSION 2.6) # for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003") IF( COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4 ) CMAKE_POLICY(SET CMP0003 NEW) CMAKE_POLICY(SET CMP0005 NEW) CMAKE_POLICY(SET CMP0011 NEW) CMAKE_POLICY(SET CMP0012 NEW) ENDIF( COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4 ) ## ================ ## = Project name = ## ================ PROJECT(FrontAlgorithms) SET(FrontAlgorithms_MAJOR_VERSION "0") SET(FrontAlgorithms_MINOR_VERSION "0") SET(FrontAlgorithms_RELEASE_VERSION "1") SET(FrontAlgorithms_VERSION "${FrontAlgorithms_MAJOR_VERSION}.${FrontAlgorithms_MINOR_VERSION}.${FrontAlgorithms_RELEASE_VERSION}") ## =========== ## = Options = ## =========== OPTION(BUILD_EXAMPLES "Build examples" OFF) OPTION(BUILD_SHARED_LIBS "Build shared libs" OFF) IF(BUILD_SHARED_LIBS) SET(LIB_TYPE SHARED) ELSE(BUILD_SHARED_LIBS) SET(LIB_TYPE STATIC) ENDIF(BUILD_SHARED_LIBS) ## ============ ## = Packages = ## ============ INCLUDE(GenerateExportHeader) FIND_PACKAGE(VTK REQUIRED) FIND_PACKAGE(ITK REQUIRED) INCLUDE(${ITK_USE_FILE}) ## Check for required modules IF(NOT ITKVtkGlue_LOADED) MESSAGE(FATAL_ERROR "ITKVtkGlue module is required but not available.") ENDIF(NOT ITKVtkGlue_LOADED) OPTION(USE_cpPlugins "Build cpPlugins based stuff" OFF) IF(USE_cpPlugins) FIND_PACKAGE(cpPlugins REQUIRED) ENDIF(USE_cpPlugins) ## ================================================ ## = 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_BINARY_DIR}/lib ) ## =========================== ## = Subdirs containing code = ## =========================== SUBDIRS( cmake lib appli ) ## eof - $RCSfile$