BuildSystem: Cleanup CMake code to allow libc only installation
There was no way to just install libc which is required for stdlibc++
This commit is contained in:
parent
1488ec5a03
commit
9e1b5cbaab
|
@ -9,4 +9,4 @@ add_library(ban ${BAN_SOURCES})
|
||||||
banan_link_library(ban libc)
|
banan_link_library(ban libc)
|
||||||
|
|
||||||
banan_install_headers(ban)
|
banan_install_headers(ban)
|
||||||
install(TARGETS ban)
|
install(TARGETS ban OPTIONAL)
|
||||||
|
|
|
@ -24,6 +24,7 @@ set(CMAKE_INSTALL_LIBDIR ${BANAN_LIB})
|
||||||
set(CMAKE_INSTALL_INCLUDEDIR ${BANAN_INCLUDE})
|
set(CMAKE_INSTALL_INCLUDEDIR ${BANAN_INCLUDE})
|
||||||
set(CMAKE_INSTALL_SYSCONF ${BANAN_ETC})
|
set(CMAKE_INSTALL_SYSCONF ${BANAN_ETC})
|
||||||
set(CMAKE_INSTALL_MESSAGE NEVER)
|
set(CMAKE_INSTALL_MESSAGE NEVER)
|
||||||
|
set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY True)
|
||||||
|
|
||||||
# include headers of ${library} to ${target}
|
# include headers of ${library} to ${target}
|
||||||
function(banan_include_headers target library)
|
function(banan_include_headers target library)
|
||||||
|
@ -38,12 +39,12 @@ endfunction()
|
||||||
|
|
||||||
# add install step for all header files of target
|
# add install step for all header files of target
|
||||||
function(banan_install_headers target)
|
function(banan_install_headers target)
|
||||||
file(GLOB_RECURSE headers RELATIVE $<TARGET_PROPERTY:${target},SOURCE_DIR>/include "*.h")
|
file(GLOB_RECURSE headers RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/include *.h)
|
||||||
foreach(header ${headers})
|
foreach(header ${headers})
|
||||||
get_filename_component(subdirectory ${header} DIRECTORY)
|
get_filename_component(subdirectory ${header} DIRECTORY)
|
||||||
install(FILES include/${header} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${subdirectory} OPTIONAL)
|
install(FILES include/${header} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${subdirectory})
|
||||||
endforeach()
|
endforeach()
|
||||||
target_include_directories(${target} PRIVATE $<TARGET_PROPERTY:${target},SOURCE_DIR>/include)
|
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
add_subdirectory(kernel)
|
add_subdirectory(kernel)
|
||||||
|
|
|
@ -212,7 +212,7 @@ banan_include_headers(kernel libinput)
|
||||||
|
|
||||||
banan_install_headers(kernel)
|
banan_install_headers(kernel)
|
||||||
set_target_properties(kernel PROPERTIES OUTPUT_NAME banan-os.kernel)
|
set_target_properties(kernel PROPERTIES OUTPUT_NAME banan-os.kernel)
|
||||||
install(TARGETS kernel DESTINATION ${BANAN_BOOT})
|
install(TARGETS kernel DESTINATION ${BANAN_BOOT} OPTIONAL)
|
||||||
|
|
||||||
if("${BANAN_ARCH}" STREQUAL "x86_64")
|
if("${BANAN_ARCH}" STREQUAL "x86_64")
|
||||||
set(ELF_FORMAT elf64-x86-64)
|
set(ELF_FORMAT elf64-x86-64)
|
||||||
|
|
|
@ -46,7 +46,7 @@ build_toolchain () {
|
||||||
}
|
}
|
||||||
|
|
||||||
create_image () {
|
create_image () {
|
||||||
build_target bootloader
|
build_target all
|
||||||
build_target install
|
build_target install
|
||||||
|
|
||||||
$BANAN_ROOT_DIR/ports/build.sh
|
$BANAN_ROOT_DIR/ports/build.sh
|
||||||
|
|
|
@ -239,7 +239,7 @@ find $BANAN_BUILD_DIR -mindepth 1 -maxdepth 1 ! -name toolchain -exec rm -r {} +
|
||||||
# NOTE: we have to manually create initial sysroot with libc headers
|
# NOTE: we have to manually create initial sysroot with libc headers
|
||||||
# since cmake cannot be invoked yet
|
# since cmake cannot be invoked yet
|
||||||
mkdir -p $BANAN_SYSROOT/usr
|
mkdir -p $BANAN_SYSROOT/usr
|
||||||
cp -r $BANAN_ROOT_DIR/libc/include $BANAN_SYSROOT/usr/include
|
cp -r $BANAN_ROOT_DIR/userspace/libraries/LibC/include $BANAN_SYSROOT/usr/include
|
||||||
|
|
||||||
mkdir -p $BANAN_BUILD_DIR/toolchain
|
mkdir -p $BANAN_BUILD_DIR/toolchain
|
||||||
|
|
||||||
|
@ -262,7 +262,8 @@ fi
|
||||||
if (($BUILD_LIBSTDCPP)); then
|
if (($BUILD_LIBSTDCPP)); then
|
||||||
# delete sysroot and install libc
|
# delete sysroot and install libc
|
||||||
rm -r $BANAN_SYSROOT
|
rm -r $BANAN_SYSROOT
|
||||||
$BANAN_SCRIPT_DIR/build.sh libc-install
|
$BANAN_SCRIPT_DIR/build.sh libc
|
||||||
|
$BANAN_SCRIPT_DIR/build.sh install
|
||||||
|
|
||||||
build_libstdcpp
|
build_libstdcpp
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(Shell ${SOURCES})
|
||||||
banan_link_library(Shell ban)
|
banan_link_library(Shell ban)
|
||||||
banan_link_library(Shell libc)
|
banan_link_library(Shell libc)
|
||||||
|
|
||||||
install(TARGETS Shell)
|
install(TARGETS Shell OPTIONAL)
|
||||||
|
|
|
@ -10,4 +10,4 @@ banan_link_library(Terminal libfont)
|
||||||
banan_link_library(Terminal libgui)
|
banan_link_library(Terminal libgui)
|
||||||
banan_link_library(Terminal libinput)
|
banan_link_library(Terminal libinput)
|
||||||
|
|
||||||
install(TARGETS Terminal)
|
install(TARGETS Terminal OPTIONAL)
|
||||||
|
|
|
@ -13,4 +13,4 @@ banan_link_library(WindowServer libfont)
|
||||||
banan_link_library(WindowServer libimage)
|
banan_link_library(WindowServer libimage)
|
||||||
banan_link_library(WindowServer libinput)
|
banan_link_library(WindowServer libinput)
|
||||||
|
|
||||||
install(TARGETS WindowServer)
|
install(TARGETS WindowServer OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day-template ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day-template ban)
|
banan_include_headers(aoc2023_day-template ban)
|
||||||
banan_link_library(aoc2023_day-template libc)
|
banan_link_library(aoc2023_day-template libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day-template)
|
install(TARGETS aoc2023_day-template OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day1 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day1 ban)
|
banan_include_headers(aoc2023_day1 ban)
|
||||||
banan_link_library(aoc2023_day1 libc)
|
banan_link_library(aoc2023_day1 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day1)
|
install(TARGETS aoc2023_day1 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day10 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day10 ban)
|
banan_include_headers(aoc2023_day10 ban)
|
||||||
banan_link_library(aoc2023_day10 libc)
|
banan_link_library(aoc2023_day10 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day10)
|
install(TARGETS aoc2023_day10 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day11 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day11 ban)
|
banan_include_headers(aoc2023_day11 ban)
|
||||||
banan_link_library(aoc2023_day11 libc)
|
banan_link_library(aoc2023_day11 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day11)
|
install(TARGETS aoc2023_day11 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day12 ${SOURCES})
|
||||||
banan_link_library(aoc2023_day12 ban)
|
banan_link_library(aoc2023_day12 ban)
|
||||||
banan_link_library(aoc2023_day12 libc)
|
banan_link_library(aoc2023_day12 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day12)
|
install(TARGETS aoc2023_day12 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day13 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day13 ban)
|
banan_include_headers(aoc2023_day13 ban)
|
||||||
banan_link_library(aoc2023_day13 libc)
|
banan_link_library(aoc2023_day13 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day13)
|
install(TARGETS aoc2023_day13 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day14 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day14 ban)
|
banan_include_headers(aoc2023_day14 ban)
|
||||||
banan_link_library(aoc2023_day14 libc)
|
banan_link_library(aoc2023_day14 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day14)
|
install(TARGETS aoc2023_day14 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day15 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day15 ban)
|
banan_include_headers(aoc2023_day15 ban)
|
||||||
banan_link_library(aoc2023_day15 libc)
|
banan_link_library(aoc2023_day15 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day15)
|
install(TARGETS aoc2023_day15 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day16 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day16 ban)
|
banan_include_headers(aoc2023_day16 ban)
|
||||||
banan_link_library(aoc2023_day16 libc)
|
banan_link_library(aoc2023_day16 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day16)
|
install(TARGETS aoc2023_day16 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day17 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day17 ban)
|
banan_include_headers(aoc2023_day17 ban)
|
||||||
banan_link_library(aoc2023_day17 libc)
|
banan_link_library(aoc2023_day17 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day17)
|
install(TARGETS aoc2023_day17 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day18 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day18 ban)
|
banan_include_headers(aoc2023_day18 ban)
|
||||||
banan_link_library(aoc2023_day18 libc)
|
banan_link_library(aoc2023_day18 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day18)
|
install(TARGETS aoc2023_day18 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day19 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day19 ban)
|
banan_include_headers(aoc2023_day19 ban)
|
||||||
banan_link_library(aoc2023_day19 libc)
|
banan_link_library(aoc2023_day19 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day19)
|
install(TARGETS aoc2023_day19 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day2 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day2 ban)
|
banan_include_headers(aoc2023_day2 ban)
|
||||||
banan_link_library(aoc2023_day2 libc)
|
banan_link_library(aoc2023_day2 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day2)
|
install(TARGETS aoc2023_day2 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day20 ${SOURCES})
|
||||||
banan_link_library(aoc2023_day20 ban)
|
banan_link_library(aoc2023_day20 ban)
|
||||||
banan_link_library(aoc2023_day20 libc)
|
banan_link_library(aoc2023_day20 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day20)
|
install(TARGETS aoc2023_day20 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day21 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day21 ban)
|
banan_include_headers(aoc2023_day21 ban)
|
||||||
banan_link_library(aoc2023_day21 libc)
|
banan_link_library(aoc2023_day21 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day21)
|
install(TARGETS aoc2023_day21 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day22 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day22 ban)
|
banan_include_headers(aoc2023_day22 ban)
|
||||||
banan_link_library(aoc2023_day22 libc)
|
banan_link_library(aoc2023_day22 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day22)
|
install(TARGETS aoc2023_day22 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day23 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day23 ban)
|
banan_include_headers(aoc2023_day23 ban)
|
||||||
banan_link_library(aoc2023_day23 libc)
|
banan_link_library(aoc2023_day23 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day23)
|
install(TARGETS aoc2023_day23 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day24 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day24 ban)
|
banan_include_headers(aoc2023_day24 ban)
|
||||||
banan_link_library(aoc2023_day24 libc)
|
banan_link_library(aoc2023_day24 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day24)
|
install(TARGETS aoc2023_day24 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day25 ${SOURCES})
|
||||||
banan_link_library(aoc2023_day25 ban)
|
banan_link_library(aoc2023_day25 ban)
|
||||||
banan_link_library(aoc2023_day25 libc)
|
banan_link_library(aoc2023_day25 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day25)
|
install(TARGETS aoc2023_day25 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day3 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day3 ban)
|
banan_include_headers(aoc2023_day3 ban)
|
||||||
banan_link_library(aoc2023_day3 libc)
|
banan_link_library(aoc2023_day3 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day3)
|
install(TARGETS aoc2023_day3 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day4 ${SOURCES})
|
||||||
banan_link_library(aoc2023_day4 ban)
|
banan_link_library(aoc2023_day4 ban)
|
||||||
banan_link_library(aoc2023_day4 libc)
|
banan_link_library(aoc2023_day4 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day4)
|
install(TARGETS aoc2023_day4 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day5 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day5 ban)
|
banan_include_headers(aoc2023_day5 ban)
|
||||||
banan_link_library(aoc2023_day5 libc)
|
banan_link_library(aoc2023_day5 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day5)
|
install(TARGETS aoc2023_day5 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day6 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day6 ban)
|
banan_include_headers(aoc2023_day6 ban)
|
||||||
banan_link_library(aoc2023_day6 libc)
|
banan_link_library(aoc2023_day6 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day6)
|
install(TARGETS aoc2023_day6 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day7 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day7 ban)
|
banan_include_headers(aoc2023_day7 ban)
|
||||||
banan_link_library(aoc2023_day7 libc)
|
banan_link_library(aoc2023_day7 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day7)
|
install(TARGETS aoc2023_day7 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day8 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day8 ban)
|
banan_include_headers(aoc2023_day8 ban)
|
||||||
banan_link_library(aoc2023_day8 libc)
|
banan_link_library(aoc2023_day8 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day8)
|
install(TARGETS aoc2023_day8 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_day9 ${SOURCES})
|
||||||
banan_include_headers(aoc2023_day9 ban)
|
banan_include_headers(aoc2023_day9 ban)
|
||||||
banan_link_library(aoc2023_day9 libc)
|
banan_link_library(aoc2023_day9 libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_day9)
|
install(TARGETS aoc2023_day9 OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(aoc2023_full ${SOURCES})
|
||||||
banan_include_headers(aoc2023_full ban)
|
banan_include_headers(aoc2023_full ban)
|
||||||
banan_link_library(aoc2023_full libc)
|
banan_link_library(aoc2023_full libc)
|
||||||
|
|
||||||
install(TARGETS aoc2023_full)
|
install(TARGETS aoc2023_full OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(cat-mmap ${SOURCES})
|
add_executable(cat-mmap ${SOURCES})
|
||||||
banan_link_library(cat-mmap libc)
|
banan_link_library(cat-mmap libc)
|
||||||
|
|
||||||
install(TARGETS cat-mmap)
|
install(TARGETS cat-mmap OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(cat ${SOURCES})
|
add_executable(cat ${SOURCES})
|
||||||
banan_link_library(cat libc)
|
banan_link_library(cat libc)
|
||||||
|
|
||||||
install(TARGETS cat)
|
install(TARGETS cat OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(chmod ${SOURCES})
|
add_executable(chmod ${SOURCES})
|
||||||
banan_link_library(chmod libc)
|
banan_link_library(chmod libc)
|
||||||
|
|
||||||
install(TARGETS chmod)
|
install(TARGETS chmod OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(cp ${SOURCES})
|
||||||
banan_include_headers(cp ban)
|
banan_include_headers(cp ban)
|
||||||
banan_link_library(cp libc)
|
banan_link_library(cp libc)
|
||||||
|
|
||||||
install(TARGETS cp)
|
install(TARGETS cp OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(dd ${SOURCES})
|
add_executable(dd ${SOURCES})
|
||||||
banan_link_library(dd libc)
|
banan_link_library(dd libc)
|
||||||
|
|
||||||
install(TARGETS dd)
|
install(TARGETS dd OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(dhcp-client ${SOURCES})
|
||||||
banan_include_headers(dhcp-client ban)
|
banan_include_headers(dhcp-client ban)
|
||||||
banan_link_library(dhcp-client libc)
|
banan_link_library(dhcp-client libc)
|
||||||
|
|
||||||
install(TARGETS dhcp-client)
|
install(TARGETS dhcp-client OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(echo ${SOURCES})
|
add_executable(echo ${SOURCES})
|
||||||
banan_link_library(echo libc)
|
banan_link_library(echo libc)
|
||||||
|
|
||||||
install(TARGETS echo)
|
install(TARGETS echo OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(getopt ${SOURCES})
|
||||||
banan_include_headers(getopt ban)
|
banan_include_headers(getopt ban)
|
||||||
banan_link_library(getopt libc)
|
banan_link_library(getopt libc)
|
||||||
|
|
||||||
install(TARGETS getopt)
|
install(TARGETS getopt OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(http-server ${SOURCES})
|
||||||
banan_link_library(http-server ban)
|
banan_link_library(http-server ban)
|
||||||
banan_link_library(http-server libc)
|
banan_link_library(http-server libc)
|
||||||
|
|
||||||
install(TARGETS http-server)
|
install(TARGETS http-server OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(id ${SOURCES})
|
||||||
banan_include_headers(id ban)
|
banan_include_headers(id ban)
|
||||||
banan_link_library(id libc)
|
banan_link_library(id libc)
|
||||||
|
|
||||||
install(TARGETS id)
|
install(TARGETS id OPTIONAL)
|
||||||
|
|
|
@ -7,4 +7,4 @@ banan_include_headers(image ban)
|
||||||
banan_link_library(image libc)
|
banan_link_library(image libc)
|
||||||
banan_link_library(image libimage)
|
banan_link_library(image libimage)
|
||||||
|
|
||||||
install(TARGETS image)
|
install(TARGETS image OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(init ${SOURCES})
|
||||||
banan_include_headers(init ban)
|
banan_include_headers(init ban)
|
||||||
banan_link_library(init libc)
|
banan_link_library(init libc)
|
||||||
|
|
||||||
install(TARGETS init)
|
install(TARGETS init OPTIONAL)
|
||||||
|
|
|
@ -32,7 +32,7 @@ set(LIBC_SOURCES
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(libc ${LIBC_SOURCES})
|
add_library(libc ${LIBC_SOURCES})
|
||||||
target_compile_options(libc PRIVATE -O2 -g -Wstack-usage=512 -fno-tree-loop-distribute-patterns)
|
target_compile_options(libc PRIVATE -O2 -g -Wstack-usage=512 -fno-tree-loop-distribute-patterns -nostdlib)
|
||||||
target_compile_options(libc PUBLIC -Wall -Wextra -Werror -Wno-error=stack-usage=)
|
target_compile_options(libc PUBLIC -Wall -Wextra -Werror -Wno-error=stack-usage=)
|
||||||
|
|
||||||
add_library(crt0 OBJECT arch/${BANAN_ARCH}/crt0.S)
|
add_library(crt0 OBJECT arch/${BANAN_ARCH}/crt0.S)
|
||||||
|
@ -49,6 +49,6 @@ banan_include_headers(libc ban)
|
||||||
banan_include_headers(libc kernel)
|
banan_include_headers(libc kernel)
|
||||||
|
|
||||||
banan_install_headers(libc)
|
banan_install_headers(libc)
|
||||||
install(TARGETS libc)
|
install(TARGETS libc OPTIONAL)
|
||||||
|
|
||||||
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_library(libelf ${SOURCES})
|
add_library(libelf ${SOURCES})
|
||||||
|
|
||||||
banan_install_headers(libelf)
|
banan_install_headers(libelf)
|
||||||
install(TARGETS libelf)
|
install(TARGETS libelf OPTIONAL)
|
||||||
|
|
|
@ -8,6 +8,6 @@ banan_link_library(libfont libc)
|
||||||
banan_link_library(libfont ban)
|
banan_link_library(libfont ban)
|
||||||
|
|
||||||
banan_install_headers(libfont)
|
banan_install_headers(libfont)
|
||||||
install(TARGETS libfont)
|
install(TARGETS libfont OPTIONAL)
|
||||||
|
|
||||||
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
||||||
|
|
|
@ -9,6 +9,6 @@ banan_include_headers(libgui libinput)
|
||||||
banan_link_library(libgui libc)
|
banan_link_library(libgui libc)
|
||||||
|
|
||||||
banan_install_headers(libgui)
|
banan_install_headers(libgui)
|
||||||
install(TARGETS libgui)
|
install(TARGETS libgui OPTIONAL)
|
||||||
|
|
||||||
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
||||||
|
|
|
@ -10,6 +10,6 @@ banan_link_library(libimage libc)
|
||||||
banan_link_library(libimage ban)
|
banan_link_library(libimage ban)
|
||||||
|
|
||||||
banan_install_headers(libimage)
|
banan_install_headers(libimage)
|
||||||
install(TARGETS libimage)
|
install(TARGETS libimage OPTIONAL)
|
||||||
|
|
||||||
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
||||||
|
|
|
@ -8,6 +8,6 @@ banan_include_headers(libinput ban)
|
||||||
banan_link_library(libinput libc)
|
banan_link_library(libinput libc)
|
||||||
|
|
||||||
banan_install_headers(libinput)
|
banan_install_headers(libinput)
|
||||||
install(TARGETS libinput)
|
install(TARGETS libinput OPTIONAL)
|
||||||
|
|
||||||
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(loadkeys ${SOURCES})
|
add_executable(loadkeys ${SOURCES})
|
||||||
banan_link_library(loadkeys libc)
|
banan_link_library(loadkeys libc)
|
||||||
|
|
||||||
install(TARGETS loadkeys)
|
install(TARGETS loadkeys OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(ls ${SOURCES})
|
||||||
banan_link_library(ls ban)
|
banan_link_library(ls ban)
|
||||||
banan_link_library(ls libc)
|
banan_link_library(ls libc)
|
||||||
|
|
||||||
install(TARGETS ls)
|
install(TARGETS ls OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(meminfo ${SOURCES})
|
add_executable(meminfo ${SOURCES})
|
||||||
banan_link_library(meminfo libc)
|
banan_link_library(meminfo libc)
|
||||||
|
|
||||||
install(TARGETS meminfo)
|
install(TARGETS meminfo OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(mkdir ${SOURCES})
|
add_executable(mkdir ${SOURCES})
|
||||||
banan_link_library(mkdir libc)
|
banan_link_library(mkdir libc)
|
||||||
|
|
||||||
install(TARGETS mkdir)
|
install(TARGETS mkdir OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(nslookup ${SOURCES})
|
add_executable(nslookup ${SOURCES})
|
||||||
banan_link_library(nslookup libc)
|
banan_link_library(nslookup libc)
|
||||||
|
|
||||||
install(TARGETS nslookup)
|
install(TARGETS nslookup OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(poweroff ${SOURCES})
|
add_executable(poweroff ${SOURCES})
|
||||||
banan_link_library(poweroff libc)
|
banan_link_library(poweroff libc)
|
||||||
|
|
||||||
install(TARGETS poweroff)
|
install(TARGETS poweroff OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(resolver ${SOURCES})
|
||||||
banan_link_library(resolver ban)
|
banan_link_library(resolver ban)
|
||||||
banan_link_library(resolver libc)
|
banan_link_library(resolver libc)
|
||||||
|
|
||||||
install(TARGETS resolver)
|
install(TARGETS resolver OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(rm ${SOURCES})
|
||||||
banan_include_headers(rm ban)
|
banan_include_headers(rm ban)
|
||||||
banan_link_library(rm libc)
|
banan_link_library(rm libc)
|
||||||
|
|
||||||
install(TARGETS rm)
|
install(TARGETS rm OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(sleep ${SOURCES})
|
add_executable(sleep ${SOURCES})
|
||||||
banan_link_library(sleep libc)
|
banan_link_library(sleep libc)
|
||||||
|
|
||||||
install(TARGETS sleep)
|
install(TARGETS sleep OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(snake ${SOURCES})
|
||||||
banan_include_headers(snake ban)
|
banan_include_headers(snake ban)
|
||||||
banan_link_library(snake libc)
|
banan_link_library(snake libc)
|
||||||
|
|
||||||
install(TARGETS snake)
|
install(TARGETS snake OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(stat ${SOURCES})
|
||||||
banan_link_library(stat ban)
|
banan_link_library(stat ban)
|
||||||
banan_link_library(stat libc)
|
banan_link_library(stat libc)
|
||||||
|
|
||||||
install(TARGETS stat)
|
install(TARGETS stat OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(sudo ${SOURCES})
|
add_executable(sudo ${SOURCES})
|
||||||
banan_link_library(sudo libc)
|
banan_link_library(sudo libc)
|
||||||
|
|
||||||
install(TARGETS sudo)
|
install(TARGETS sudo OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(sync ${SOURCES})
|
add_executable(sync ${SOURCES})
|
||||||
banan_link_library(sync libc)
|
banan_link_library(sync libc)
|
||||||
|
|
||||||
install(TARGETS sync)
|
install(TARGETS sync OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(tee ${SOURCES})
|
add_executable(tee ${SOURCES})
|
||||||
banan_link_library(tee libc)
|
banan_link_library(tee libc)
|
||||||
|
|
||||||
install(TARGETS tee)
|
install(TARGETS tee OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(test-framebuffer ${SOURCES})
|
add_executable(test-framebuffer ${SOURCES})
|
||||||
banan_link_library(test-framebuffer libc)
|
banan_link_library(test-framebuffer libc)
|
||||||
|
|
||||||
install(TARGETS test-framebuffer)
|
install(TARGETS test-framebuffer OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(test-globals ${SOURCES})
|
add_executable(test-globals ${SOURCES})
|
||||||
banan_link_library(test-globals libc)
|
banan_link_library(test-globals libc)
|
||||||
|
|
||||||
install(TARGETS test-globals)
|
install(TARGETS test-globals OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(test-mmap-shared ${SOURCES})
|
add_executable(test-mmap-shared ${SOURCES})
|
||||||
banan_link_library(test-mmap-shared libc)
|
banan_link_library(test-mmap-shared libc)
|
||||||
|
|
||||||
install(TARGETS test-mmap-shared)
|
install(TARGETS test-mmap-shared OPTIONAL)
|
||||||
|
|
|
@ -7,4 +7,4 @@ banan_include_headers(test-mouse ban)
|
||||||
banan_include_headers(test-mouse libinput)
|
banan_include_headers(test-mouse libinput)
|
||||||
banan_link_library(test-mouse libc)
|
banan_link_library(test-mouse libc)
|
||||||
|
|
||||||
install(TARGETS test-mouse)
|
install(TARGETS test-mouse OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(test-popen ${SOURCES})
|
add_executable(test-popen ${SOURCES})
|
||||||
banan_link_library(test-popen libc)
|
banan_link_library(test-popen libc)
|
||||||
|
|
||||||
install(TARGETS test-popen)
|
install(TARGETS test-popen OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(test-sort ${SOURCES})
|
||||||
banan_include_headers(test-sort ban)
|
banan_include_headers(test-sort ban)
|
||||||
banan_link_library(test-sort libc)
|
banan_link_library(test-sort libc)
|
||||||
|
|
||||||
install(TARGETS test-sort)
|
install(TARGETS test-sort OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(test-tcp ${SOURCES})
|
add_executable(test-tcp ${SOURCES})
|
||||||
banan_link_library(test-tcp libc)
|
banan_link_library(test-tcp libc)
|
||||||
|
|
||||||
install(TARGETS test-tcp)
|
install(TARGETS test-tcp OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(test-udp ${SOURCES})
|
add_executable(test-udp ${SOURCES})
|
||||||
banan_link_library(test-udp libc)
|
banan_link_library(test-udp libc)
|
||||||
|
|
||||||
install(TARGETS test-udp)
|
install(TARGETS test-udp OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(test-unix-socket ${SOURCES})
|
add_executable(test-unix-socket ${SOURCES})
|
||||||
banan_link_library(test-unix-socket libc)
|
banan_link_library(test-unix-socket libc)
|
||||||
|
|
||||||
install(TARGETS test-unix-socket)
|
install(TARGETS test-unix-socket OPTIONAL)
|
||||||
|
|
|
@ -8,4 +8,4 @@ banan_include_headers(test-window libinput)
|
||||||
banan_link_library(test-window libc)
|
banan_link_library(test-window libc)
|
||||||
banan_link_library(test-window libgui)
|
banan_link_library(test-window libgui)
|
||||||
|
|
||||||
install(TARGETS test-window)
|
install(TARGETS test-window OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(TEST_SOURCES
|
||||||
add_executable(test ${TEST_SOURCES})
|
add_executable(test ${TEST_SOURCES})
|
||||||
banan_link_library(test libc)
|
banan_link_library(test libc)
|
||||||
|
|
||||||
install(TARGETS test)
|
install(TARGETS test OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(touch ${SOURCES})
|
add_executable(touch ${SOURCES})
|
||||||
banan_link_library(touch libc)
|
banan_link_library(touch libc)
|
||||||
|
|
||||||
install(TARGETS touch)
|
install(TARGETS touch OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(u8sum ${SOURCES})
|
add_executable(u8sum ${SOURCES})
|
||||||
banan_link_library(u8sum libc)
|
banan_link_library(u8sum libc)
|
||||||
|
|
||||||
install(TARGETS u8sum)
|
install(TARGETS u8sum OPTIONAL)
|
||||||
|
|
|
@ -6,4 +6,4 @@ add_executable(whoami ${SOURCES})
|
||||||
banan_include_headers(whoami ban)
|
banan_include_headers(whoami ban)
|
||||||
banan_link_library(whoami libc)
|
banan_link_library(whoami libc)
|
||||||
|
|
||||||
install(TARGETS whoami)
|
install(TARGETS whoami OPTIONAL)
|
||||||
|
|
|
@ -5,4 +5,4 @@ set(SOURCES
|
||||||
add_executable(yes ${SOURCES})
|
add_executable(yes ${SOURCES})
|
||||||
banan_link_library(yes libc)
|
banan_link_library(yes libc)
|
||||||
|
|
||||||
install(TARGETS yes)
|
install(TARGETS yes OPTIONAL)
|
||||||
|
|
Loading…
Reference in New Issue