-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
47 lines (35 loc) · 1.01 KB
/
Copy pathCMakeLists.txt
File metadata and controls
47 lines (35 loc) · 1.01 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
cmake_minimum_required(VERSION 3.10)
project(ComplexeLib VERSION 1.0.0 LANGUAGES CXX)
# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 设置编译选项
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
endif()
# 包含目录
include_directories(include)
# 创建 Complexe 库
add_library(complexe_lib STATIC
src/Complexe.cpp
)
target_include_directories(complexe_lib PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
# 链接数学库
target_link_libraries(complexe_lib m)
# 创建验证测试可执行文件
add_executable(validation_test
tests/TD_main_Validation.cpp
)
target_link_libraries(validation_test complexe_lib)
# 创建性能基准测试可执行文件
add_executable(bench_test
tests/TD_main_Bench_CPU.cpp
)
target_link_libraries(bench_test complexe_lib)
# 启用测试
enable_testing()
# 添加验证测试
add_test(NAME ComplexeValidationTest COMMAND validation_test)