/
CMakeLists.txt
37 lines (31 loc) · 1.4 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
SET(CMAKE_LEGACY_CYGWIN_WIN32 0)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)
PROJECT(benchmarks CXX C)
# Release or Debug
if(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE "Release")
endif()
#SET(CMAKE_VERBOSE_MAKEFILE 1)
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH})
if(MSVC)
SET(CMAKE_CXX_FLAGS "/W4 /EHsc /MP")
SET(CMAKE_CXX_FLAGS_RELEASE "/MT /Ox /Ot /GL /GS-")
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "/LTCG")
add_definitions(-DUNICODE -D_UNICODE -D_SECURE_SCL=0 -D_ITERATOR_DEBUG_LEVEL=0 -D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN -DVC_EXTRALEAN -DNOMINMAX)
else()
SET(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-deprecated -std=c++0x")
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3")
SET(CMAKE_CXX_FLAGS_RELEASE "-O3")
# Enable C++11 if possible
option(OPT_CXX11 "Set to OFF to disable use of C++11" ON)
if(OPT_CXX11 AND
((CMAKE_COMPILER_IS_GNUCXX AND NOT ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.6) OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 3.1)))
message(STATUS "Enabling C++11 for ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
endif()
endif()
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src)