-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
34 lines (26 loc) · 927 Bytes
/
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
cmake_minimum_required(VERSION 3.14)
project(summation
VERSION 1.0.0
DESCRIPTION "Performance tests for summation"
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
include(FetchContent)
FetchContent_Declare(
cli11
GIT_REPOSITORY https://github.com/CLIUtils/CLI11
GIT_TAG v2.4.1
)
FetchContent_Declare(
nanobench
GIT_REPOSITORY https://github.com/martinus/nanobench
GIT_TAG v4.3.11
)
FetchContent_MakeAvailable(cli11)
FetchContent_MakeAvailable(nanobench)
add_executable(sharing src/sharing.cpp src/naive.cpp src/spaced.cpp src/aligned.cpp src/new_aligned.cpp src/new_vector.cpp)
target_link_libraries(sharing nanobench::nanobench CLI11::CLI11)
if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(x64)|(AMD64)")
target_compile_definitions(sharing PRIVATE CACHE_LINE_SIZE=64)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(arm64)")
target_compile_definitions(sharing PRIVATE CACHE_LINE_SIZE=128)
endif()