-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
33 lines (27 loc) · 1.13 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
cmake_minimum_required(VERSION 3.10)
project(threadpool-benchmark)
include(ExternalProject)
ExternalProject_Add(GoogleBenchmark
GIT_REPOSITORY https://github.com/google/benchmark.git
GIT_TAG v1.6.1
CMAKE_ARGS -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON
)
## ExternalProject_Get_Property(GoogleBenchmark BINARY_DIR)
## ExternalProject_Get_Property(GoogleBenchmark SOURCE_DIR)
set(GoogleBenchmarkPrefix ${CMAKE_CURRENT_BINARY_DIR}/GoogleBenchmark-prefix/src)
set(GoogleBenchmarkIncludeDir ${GoogleBenchmarkPrefix}/GoogleBenchmark/include)
set(GoogleBenchmarkLibDir ${GoogleBenchmarkPrefix}/GoogleBenchmark-build)
include_directories(${GoogleBenchmarkIncludeDir})
add_executable(bench threadpool.cc)
#add_dependencies(bench GoogleBenchmark)
target_link_libraries(bench
PRIVATE ${GoogleBenchmarkLibDir}/src/libbenchmark.a
PRIVATE ${GoogleBenchmarkLibDir}/src/libbenchmark_main.a
# PRIVATE ${GoogleBenchmarkLibDir}/lib/libgmock.a
# PRIVATE ${GoogleBenchmarkLibDir}/lib/libgmock_main.a
# PRIVATE ${GoogleBenchmarkLibDir}/lib/libgtest.a
)
find_package(OpenMP)
if(OpenMP_CXX_FOUND)
target_link_libraries(bench PRIVATE OpenMP::OpenMP_CXX)
endif()