-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
55 lines (44 loc) · 1.38 KB
/
CMakeLists.txt
File metadata and controls
55 lines (44 loc) · 1.38 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
cmake_minimum_required(VERSION 3.11)
project(bench)
set(BENCH_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(BENCH_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
# Include guards
if (BENCH_SOURCE_DIR STREQUAL BENCH_BINARY_DIR)
message(FATAL_ERROR "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there.")
endif ()
# Set variables
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
set(CMAKE_C_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
message("COMPILE_OPTIONS: ${COMPILE_OPTIONS}")
message("LINK_OPTIONS : ${LINK_OPTIONS}")
if (LIBCXX)
add_compile_options(-stdlib=libc++)
add_link_options(-stdlib=libc++ -lc++abi)
endif ()
set(UTIL_HEADERS
${BENCH_SOURCE_DIR}/util/bench.hpp
${BENCH_SOURCE_DIR}/util/semaphore.hpp
)
find_package(benchmark QUIET)
if (NOT BENCHMARK_FOUND)
include(FetchContent)
if (NOT BENCHMARK_FOUND)
set(BENCHMARK_ENABLE_TESTING NO)
FetchContent_Declare(
benchmark
GIT_REPOSITORY https://github.com/google/benchmark.git
GIT_TAG main
)
FetchContent_MakeAvailable(benchmark)
endif ()
endif ()
add_subdirectory(future)