X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=f0fe19b1a9e849fcdfa333382f65de3c6f954398;hb=refs%2Fheads%2Fsandbox;hp=b246500138d55b5dea06e4feb4a4141795b0440d;hpb=30e076310c78a53c513b98605e64d661acc954de;p=FrontAlgorithms.git diff --git a/CMakeLists.txt b/CMakeLists.txt index b246500..f0fe19b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,110 +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_MAJ_VER "0") -SET(prj_MIN_VER "0") -SET(prj_REL_VER "1") -SET(prj_VER "${prj_MAJ_VER}.${prj_MIN_VER}.${prj_REL_VER}") -SET(prj_sVER "${prj_MAJ_VER}") - -## =========== -## = Options = -## =========== - -## OPTION(BUILD_EXAMPLES "Build examples" OFF) -OPTION(BUILD_PLUGINS "Build plugins" OFF) - -## ============ -## = Packages = -## ============ - -# NOTE: It seems that by default on Visual Studio Compiler supports c++11, -# so it only need to be test on other O.S. -IF(NOT MSVC) - INCLUDE(CheckCXXCompilerFlag) - CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) - CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) - IF(COMPILER_SUPPORTS_CXX11) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - ELSEIF(COMPILER_SUPPORTS_CXX0X) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") - ELSE() - MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") - ENDIF() -ENDIF(NOT MSVC) - -# 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} - ${PROJECT_BINARY_DIR} - ${PROJECT_SOURCE_DIR}/lib - ${PROJECT_BINARY_DIR}/lib - ${PROJECT_SOURCE_DIR}/plugins - ${PROJECT_BINARY_DIR}/plugins - ) - -## =========================== -## = Subdirs containing code = -## =========================== - -SUBDIRS( - cmake - lib - appli - ) -IF(BUILD_PLUGINS) - SUBDIRS( - plugins - ) -ENDIF(BUILD_PLUGINS) +## ========================================================================= +## @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$ +