X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=f0fe19b1a9e849fcdfa333382f65de3c6f954398;hb=refs%2Fheads%2Fsandbox;hp=5bf1a02de46646e08d9459923c97558beb66a203;hpb=ab4b440668b2007d94345967ac154c4b20aa389f;p=FrontAlgorithms.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 5bf1a02..f0fe19b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,94 +1,47 @@ -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(FrontAlgorithms) -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(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 cpPlugins -FIND_PACKAGE(cpPlugins REQUIRED) - -## ================================================ -## = 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 - ) +## ========================================================================= +## @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co) +## ========================================================================= + +cmake_minimum_required(VERSION 3.0) + +## == Basic project configuration +set(prj_NAME fpa) +set(prj_MAJ 1) +set(prj_MIN 0) +set(prj_REL 0) + +## == Project definition +project(${prj_NAME} VERSION "${prj_MAJ}.${prj_MIN}.${prj_REL}") + +## == Project policies +set(_new_policies CMP0015 CMP0020 CMP0042 CMP0053) +set(_old_policies CMP0006) +foreach(_p ${_new_policies}) + if(POLICY ${_p}) + cmake_policy(SET ${_p} NEW) + endif(POLICY ${_p}) +endforeach(_p) +foreach(_p ${_old_policies}) + if(POLICY ${_p}) + cmake_policy(SET ${_p} OLD) + endif(POLICY ${_p}) +endforeach(_p) + +## == Find cpPlugins +find_package(cpPlugins CONFIG REQUIRED) + +## == Find eigen3 (http://eigen.tuxfamily.org) +find_package(Eigen3 QUIET CONFIG) +if(Eigen3_FOUND) + include(${EIGEN3_USE_FILE}) +endif(Eigen3_FOUND) + +## == Build packages +set(fpa_BUILD 1) +subdirs(lib examples appli) + +## == Installation commands +include(${cpPlugins_INSTALL_FILE}) ## eof - $RCSfile$ +