-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
executable file
·32 lines (29 loc) · 1.34 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
cmake_minimum_required(VERSION 3.22)
project(AdvancedCpp)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
message("compiler standard used C++-${CMAKE_CXX_STANDARD}")
find_package(Boost REQUIRED)
find_package(Threads REQUIRED)
option(ENABLE_BASIC_FORWARDING_EXAMPLE "Cpp forwarding func params over universal reference" OFF)
option(ENABLE_TUPLE_EXAMPLE "Cpp Custom Tuple example using variadic templates" OFF)
add_executable(AdvancedCpp variadic_tmpl.cpp)
if (ENABLE_TUPLE_EXAMPLE)
target_compile_definitions(AdvancedCpp PRIVATE -DENABLE_TUPLE_EXAMPLE)
endif()
if (ENABLE_BASIC_FORWARDING_EXAMPLE)
target_compile_definitions(AdvancedCpp PRIVATE -DENABLE_BASIC_FORWARDING_EXAMPLE)
endif()
add_executable(Hof hof.cpp)
add_executable(DoubleLinkList double_linked_list.cpp)
add_executable(BstWithSmartPtr bst_smartptr.cpp)
add_executable(BstWithTraversal bst_traversal.cpp)
add_executable(TypeErasue type_erasure.cpp)
add_executable(FactoryPattern factory_pattern.cpp)
add_executable(BridgePattern pimpl_pattern.cpp)
add_executable(StrategyPattern strategy_pattern.cpp)
add_executable(Logger logger.cpp)
add_executable(SmrtMem smart_mem.cpp)
add_executable(StatelesAlloc debug_stateless_allocator.cpp)
add_executable(ThreadSafeLoggerEx main_logger.cpp ts_logger.cpp ts_logger.h)
target_link_libraries(ThreadSafeLoggerEx Threads::Threads)