1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
13 FOREACH(policy ${policies})
15 CMAKE_POLICY(SET ${policy} NEW)
16 ENDIF(POLICY ${policy})
23 PROJECT(FrontAlgorithms)
24 SET(prj_MAJOR_VERSION "0")
25 SET(prj_MINOR_VERSION "0")
26 SET(prj_RELEASE_VERSION "1")
29 "${prj_MAJOR_VERSION}.${prj_MINOR_VERSION}.${prj_RELEASE_VERSION}"
36 OPTION(BUILD_EXAMPLES "Build examples" OFF)
37 OPTION(BUILD_SHARED_LIBS "Build shared libs" OFF)
41 ELSE(BUILD_SHARED_LIBS)
43 ENDIF(BUILD_SHARED_LIBS)
49 # NOTE: It seems that by default on Visual Studio Compiler supports c++11,
50 # so it only need to be test on other O.S.
52 INCLUDE(CheckCXXCompilerFlag)
53 CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
54 CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
55 IF(COMPILER_SUPPORTS_CXX11)
56 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
57 ELSEIF(COMPILER_SUPPORTS_CXX0X)
58 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
60 MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
64 # Prepare header to build shared libs (windows)
65 INCLUDE(GenerateExportHeader)
68 FIND_PACKAGE(cpPlugins REQUIRED)
70 ## ================================================
71 ## = Do not allow to build inside the source tree =
72 ## ================================================
74 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
75 MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
76 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
78 ## =====================================
79 ## = Where to put executables and libs =
80 ## =====================================
82 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
83 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
85 CMAKE_BACKWARDS_COMPATIBILITY
86 EXECUTABLE_OUTPUT_PATH
90 ## ==============================
91 ## = Subdirs containing headers =
92 ## ==============================
95 ${PROJECT_SOURCE_DIR}/lib
96 ${PROJECT_BINARY_DIR}/lib
99 ## ===========================
100 ## = Subdirs containing code =
101 ## ===========================