BuildSystem: Rework the whole cmake build system
Now files are installed using the install() command instead of manually copying files to their destinations. This allows automatic recompilation of headers that did not work previously
This commit is contained in:
@@ -1,22 +1,9 @@
|
||||
cmake_minimum_required(VERSION 3.26)
|
||||
|
||||
project(aoc2023_day25 CXX)
|
||||
|
||||
set(SOURCES
|
||||
main.cpp
|
||||
)
|
||||
|
||||
add_executable(aoc2023_day25 ${SOURCES})
|
||||
target_compile_options(aoc2023_day25 PUBLIC -O2 -g)
|
||||
target_link_libraries(aoc2023_day25 PUBLIC libc ban)
|
||||
banan_link_library(aoc2023_day25 ban)
|
||||
banan_link_library(aoc2023_day25 libc)
|
||||
|
||||
add_dependencies(aoc2023_day25 libc-install ban-install)
|
||||
|
||||
add_custom_target(aoc2023_day25-install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/aoc2023_day25 ${BANAN_AOC2023_BIN}/day25
|
||||
DEPENDS aoc2023_day25
|
||||
DEPENDS aoc2023_always
|
||||
)
|
||||
|
||||
add_dependencies(aoc2023 aoc2023_day25)
|
||||
add_dependencies(aoc2023-install aoc2023_day25-install)
|
||||
install(TARGETS aoc2023_day25)
|
||||
|
||||
@@ -21,6 +21,9 @@ using u64 = uint64_t;
|
||||
|
||||
struct Component
|
||||
{
|
||||
Component(BAN::String name)
|
||||
: name(BAN::move(name))
|
||||
{}
|
||||
BAN::String name;
|
||||
BAN::Vector<BAN::String> connections;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user