]> Creatis software - cpPlugins.git/blob - cmake/cpPlugins_Options.cmake
44b4f8f07226501dc41c4bdc6b4f95f50af4aa94
[cpPlugins.git] / cmake / cpPlugins_Options.cmake
1 # ============================================================================
2 # = Force c++11 language version                                             =
3 # = NOTE: It seems that by default on Visual Studio Compiler supports c++11, =
4 # = so it only need to be tested on other OS.                                =
5 # ============================================================================
6
7 IF(NOT MSVC)
8   INCLUDE(CheckCXXCompilerFlag)
9   CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
10   IF(COMPILER_SUPPORTS_CXX11)
11     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
12   ELSE(COMPILER_SUPPORTS_CXX11)
13     CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
14     IF(COMPILER_SUPPORTS_CXX0X)
15       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
16     ELSE(COMPILER_SUPPORTS_CXX0X)
17       MESSAGE(
18         FATAL_ERROR
19         "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support."
20         )
21     ENDIF(COMPILER_SUPPORTS_CXX0X)
22   ENDIF(COMPILER_SUPPORTS_CXX11)
23 ENDIF(NOT MSVC)
24
25 # Prepare header to build shared libs (windows)
26 INCLUDE(GenerateExportHeader)
27
28 ## ================================================
29 ## = Do not allow to build inside the source tree =
30 ## ================================================
31
32 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
33   MESSAGE(FATAL_ERROR "Building in the source tree is not allowed.")
34 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
35
36 ## =====================================
37 ## = Where to put executables and libs =
38 ## =====================================
39
40 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
41 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
42 MARK_AS_ADVANCED(
43   CMAKE_BACKWARDS_COMPATIBILITY
44   EXECUTABLE_OUTPUT_PATH
45   LIBRARY_OUTPUT_PATH
46   )
47
48 ## eof - $RCSfile$