-
Notifications
You must be signed in to change notification settings - Fork 47
/
Copy pathCMakeLists.txt
48 lines (37 loc) · 1.35 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
38
39
40
41
42
43
44
45
46
47
48
cmake_minimum_required(VERSION 3.29)
include(FindGit)
include(CMakeParseArguments)
include(./cmake/CPM.cmake)
enable_testing()
if(WIN32)
set(CMAKE_OBJECT_PATH_MAX 500)
endif()
project(adobe_source_libraries CXX)
set(CMAKE_CXX_EXTENSIONS OFF)
if(NOT DEFINED CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 20)
endif(NOT DEFINED CMAKE_CXX_STANDARD)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
project(adobe-source-libraries CXX)
CPMAddPackage(
NAME Boost
VERSION 1.87.0
URL https://github.com/boostorg/boost/releases/download/boost-1.87.0/boost-1.87.0-cmake.7z
URL_HASH SHA256=61d61a3f33283bab8f3736745a4e47c37141f07e413986cd05d1f942c69d529a
OPTIONS
"BOOST_ENABLE_CMAKE ON"
"CMAKE_CXX_CLANG_TIDY ;"
)
function(target_link_boost target)
target_link_libraries(${target} PUBLIC Boost::system)
target_link_libraries(${target} PUBLIC Boost::signals2)
target_link_libraries(${target} PUBLIC Boost::range)
target_link_libraries(${target} PUBLIC Boost::multiprecision)
target_link_libraries(${target} PUBLIC Boost::date_time)
endfunction(target_link_boost)
function(target_link_boost_test target)
target_link_libraries(${target} PRIVATE Boost::unit_test_framework)
target_link_libraries(${target} PRIVATE Boost::program_options)
endfunction(target_link_boost_test)
add_subdirectory(source)
add_subdirectory(test)