CMAKE_MINIMUM_REQUIRED(VERSION 2.8) ## ============ ## = Policies = ## ============ SET( policies CMP0020 CMP0042 ) FOREACH(policy ${policies}) IF(POLICY ${policy}) CMAKE_POLICY(SET ${policy} NEW) ENDIF(POLICY ${policy}) ENDFOREACH(policy) ## ================ ## = 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 = ## ============ # 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) 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$