-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
74 lines (64 loc) · 1.96 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
cmake_minimum_required(VERSION 3.20..3.30)
project(AoC23)
set(CMAKE_CXX_STANDARD 23)
add_library(utilities
src/utilities/utilities.hpp
src/utilities/Pair.hpp
src/utilities/Point.hpp
src/utilities/utilities.cpp)
target_include_directories(utilities PUBLIC libs)
target_link_directories(utilities PUBLIC libs)
set(DAY_HEADERS
src/days/include/day01.hpp
src/days/include/day02.hpp
src/days/include/day03.hpp
src/days/include/day04.hpp
src/days/include/day05.hpp
src/days/include/day06.hpp
src/days/include/day07.hpp
src/days/include/day08.hpp
src/days/include/day09.hpp
src/days/include/day10.hpp
src/days/include/day11.hpp
src/days/include/day13.hpp
src/days/include/day14.hpp
src/days/include/day15.hpp
src/days/include/day16.hpp
src/days/include/day18.hpp
src/days/include/day21.hpp
# src/days/include/day22.hpp
src/days/include/day23.hpp)
set(DAY_SOURCES
src/days/day01.cpp
src/days/day02.cpp
src/days/day03.cpp
src/days/day04.cpp
src/days/day05.cpp
src/days/day06.cpp
src/days/day07.cpp
src/days/day08.cpp
src/days/day09.cpp
src/days/day10.cpp
src/days/day11.cpp
src/days/day13.cpp
src/days/day14.cpp
src/days/day15.cpp
src/days/day16.cpp
src/days/day18.cpp
src/days/day21.cpp
# src/days/day22.cpp
src/days/day23.cpp)
add_library(advent
${DAY_HEADERS}
${DAY_SOURCES}
src/advent.hpp)
target_link_libraries(advent PUBLIC utilities)
target_include_directories(advent PUBLIC src/utilities)
target_link_directories(advent PUBLIC src/utilities)
add_executable(${PROJECT_NAME}
src/args.hpp
src/main.cpp)
target_sources(${PROJECT_NAME} PRIVATE src/inc/days.inc)
target_link_libraries(${PROJECT_NAME} PUBLIC advent)
target_include_directories(${PROJECT_NAME} PUBLIC libs src/)
target_link_directories(${PROJECT_NAME} PUBLIC libs src/)