1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
13 FOREACH(policy ${policies})
15 CMAKE_POLICY(SET ${policy} NEW)
16 ENDIF(POLICY ${policy})
23 PROJECT(FrontAlgorithms)
27 SET(prj_VER "${prj_MAJ_VER}.${prj_MIN_VER}.${prj_REL_VER}")
28 SET(prj_sVER "${prj_MAJ_VER}")
34 OPTION(BUILD_EXAMPLES "Build examples" OFF)
35 OPTION(BUILD_PLUGINS "Build plugins" OFF)
41 # NOTE: It seems that by default on Visual Studio Compiler supports c++11,
42 # so it only need to be test on other O.S.
44 INCLUDE(CheckCXXCompilerFlag)
45 CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
46 CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
47 IF(COMPILER_SUPPORTS_CXX11)
48 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
49 ELSEIF(COMPILER_SUPPORTS_CXX0X)
50 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
52 MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
56 # Prepare header to build shared libs (windows)
57 INCLUDE(GenerateExportHeader)
60 FIND_PACKAGE(cpPlugins REQUIRED)
62 ## ================================================
63 ## = Do not allow to build inside the source tree =
64 ## ================================================
66 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
67 MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
68 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
70 ## =====================================
71 ## = Where to put executables and libs =
72 ## =====================================
74 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
75 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
77 CMAKE_BACKWARDS_COMPATIBILITY
78 EXECUTABLE_OUTPUT_PATH
82 ## ==============================
83 ## = Subdirs containing headers =
84 ## ==============================
89 ${PROJECT_SOURCE_DIR}/lib
90 ${PROJECT_BINARY_DIR}/lib
91 ${PROJECT_SOURCE_DIR}/plugins
92 ${PROJECT_BINARY_DIR}/plugins
95 ## ===========================
96 ## = Subdirs containing code =
97 ## ===========================