11# Versions < 2.8.8 do not support Object Libraries
2- cmake_minimum_required (VERSION 3.1.0)
2+ cmake_minimum_required (VERSION 3.1.0 FATAL_ERROR )
33
44# Add in our modules
55set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR} /cmake/" )
66
7- # Enforce the C++ standard
8- set (CXX_STANDARD_REQUIRED true )
7+ # Enforce the C++ standard, and disable extensions
8+ set (CMAKE_CXX_STANDARD 11)
9+ set (CMAKE_CXX_EXTENSIONS OFF )
10+
11+ # CMake 3.1 doesn't know how to C++11 for clang.
12+ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
13+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
14+ else ()
15+ set (CMAKE_CXX_STANDARD_REQUIRED ON )
16+ endif ()
917
1018# Include the required modules
1119include (GenerateExportHeader)
1220include (InstallRequiredSystemLibraries)
1321
22+ # If the user did not customize the install prefix,
23+ # set it to live under build so we don't inadverently pollute /usr/local
24+ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
25+ set (CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR} /install" CACHE PATH "default install path" FORCE )
26+ endif ()
27+
1428# Ensure we have Package Config
1529find_package (PkgConfig)
1630
@@ -32,10 +46,6 @@ if (NOT CMAKE_BUILD_TYPE)
3246 set (CMAKE_BUILD_TYPE "Release" )
3347endif ()
3448
35- set (CMAKE_CXX_FLAGS "-std=c++11 -Wall -Werror -fPIC ${CMAKE_CXX_FLAGS} " )
36- set (CMAKE_CXX_FLAGS_RELEASE "-O3" )
37- set (CMAKE_CXX_FLAGS_DEBUG "-ggdb3 -O0" )
38-
3949if (BUILD_UNIT_TESTS)
4050 enable_testing ()
4151endif ()
0 commit comments