forked from Bananymous/banan-os
AOC2023: update buildsystem
This commit is contained in:
parent
c140dd2a65
commit
3aaa755c51
|
@ -13,6 +13,7 @@ set(BANAN_BASE_SYSROOT ${CMAKE_SOURCE_DIR}/base-sysroot.tar.gz)
|
||||||
set(BANAN_INCLUDE ${BANAN_SYSROOT}/usr/include)
|
set(BANAN_INCLUDE ${BANAN_SYSROOT}/usr/include)
|
||||||
set(BANAN_LIB ${BANAN_SYSROOT}/usr/lib)
|
set(BANAN_LIB ${BANAN_SYSROOT}/usr/lib)
|
||||||
set(BANAN_BIN ${BANAN_SYSROOT}/usr/bin)
|
set(BANAN_BIN ${BANAN_SYSROOT}/usr/bin)
|
||||||
|
set(BANAN_SHARE ${BANAN_SYSROOT}/usr/share)
|
||||||
set(BANAN_BOOT ${BANAN_SYSROOT}/boot)
|
set(BANAN_BOOT ${BANAN_SYSROOT}/boot)
|
||||||
|
|
||||||
add_subdirectory(kernel)
|
add_subdirectory(kernel)
|
||||||
|
|
|
@ -6,19 +6,20 @@ set(AOC2023_PROJECTS
|
||||||
day1
|
day1
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(BANAN_AOC2023_BIN ${BANAN_BIN}/aoc2023)
|
||||||
|
set(BANAN_AOC2023_INPUT ${BANAN_SHARE}/aoc2023)
|
||||||
|
|
||||||
|
add_custom_target(aoc2023)
|
||||||
|
add_custom_target(aoc2023_always
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${BANAN_AOC2023_BIN}
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${BANAN_AOC2023_INPUT}
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/input/* ${BANAN_AOC2023_INPUT}/
|
||||||
|
)
|
||||||
|
add_custom_target(aoc2023-install DEPENDS aoc2023 aoc2023_always)
|
||||||
|
|
||||||
foreach(AOC2023_PROJECT ${AOC2023_PROJECTS})
|
foreach(AOC2023_PROJECT ${AOC2023_PROJECTS})
|
||||||
add_subdirectory(${AOC2023_PROJECT})
|
add_subdirectory(${AOC2023_PROJECT})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
add_custom_target(aoc2023)
|
|
||||||
add_custom_target(aoc2023-install DEPENDS aoc2023)
|
|
||||||
|
|
||||||
foreach(AOC2023_PROJECT ${AOC2023_PROJECTS})
|
|
||||||
target_compile_options(${AOC2023_PROJECT} PRIVATE -g)
|
|
||||||
add_dependencies(${AOC2023_PROJECT} libc-install ban-install )
|
|
||||||
add_dependencies(aoc2023 ${AOC2023_PROJECT})
|
|
||||||
add_dependencies(aoc2023-install ${AOC2023_PROJECT}-install)
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
add_dependencies(userspace aoc2023)
|
add_dependencies(userspace aoc2023)
|
||||||
add_dependencies(userspace-install aoc2023-install)
|
add_dependencies(userspace-install aoc2023-install)
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
cmake_minimum_required(VERSION 3.26)
|
cmake_minimum_required(VERSION 3.26)
|
||||||
|
|
||||||
project(day1 CXX)
|
project(aoc2023_day1 CXX)
|
||||||
|
|
||||||
set(SOURCES
|
set(SOURCES
|
||||||
main.cpp
|
main.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(day1 ${SOURCES})
|
add_executable(aoc2023_day1 ${SOURCES})
|
||||||
target_compile_options(day1 PUBLIC -O2 -g)
|
target_compile_options(aoc2023_day1 PUBLIC -O2 -g)
|
||||||
target_link_libraries(day1 PUBLIC libc)
|
target_link_libraries(aoc2023_day1 PUBLIC libc)
|
||||||
|
|
||||||
add_custom_target(day1-install
|
add_dependencies(aoc2023_day1 libc-install ban-install)
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${BANAN_BIN}/aoc2023
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/day1 ${BANAN_BIN}/aoc2023/
|
add_custom_target(aoc2023_day1-install
|
||||||
DEPENDS day1
|
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/aoc2023_day1 ${BANAN_AOC2023_BIN}/day1
|
||||||
|
DEPENDS aoc2023_day1
|
||||||
|
DEPENDS aoc2023_always
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_dependencies(aoc2023 aoc2023_day1)
|
||||||
|
add_dependencies(aoc2023-install aoc2023_day1-install)
|
||||||
|
|
Loading…
Reference in New Issue