From 80e7a89f6761d943bebc40e6dd18553603bf8ef5 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Wed, 23 Aug 2023 10:35:16 +0300 Subject: [PATCH] BuildSystem: Base sysroot is now distributed as a tar ball This allows file and directory permissions work as intended. cmake is now filled with 'sudo' but with sudo timeout this should be fine. --- .gitignore | 3 +++ BAN/CMakeLists.txt | 6 ++++-- CMakeLists.txt | 9 ++++----- LibELF/CMakeLists.txt | 3 ++- base-sysroot.tar.gz | Bin 0 -> 7923 bytes base/bin | 1 - base/boot/grub/grub.cfg | 15 --------------- base/dev/.gitkeep | 0 base/etc/hostname | 1 - base/etc/passwd | 2 -- base/home/user/file | 0 base/lib | 1 - base/root/secret | 1 - base/tmp/.gitkeep | 0 base/usr/bin/.gitkeep | 0 base/usr/share/fonts/lat0-08.psfu | Bin 2901 -> 0 bytes base/usr/share/fonts/lat0-16.psfu | Bin 4949 -> 0 bytes base/usr/share/fonts/zap-ext-vga16.psf | Bin 10634 -> 0 bytes base/usr/share/fonts/zap-vga16.psf | Bin 5312 -> 0 bytes kernel/CMakeLists.txt | 14 +++++++++++--- libc/CMakeLists.txt | 6 ++++-- userspace/CMakeLists.txt | 3 ++- userspace/Shell/CMakeLists.txt | 3 ++- userspace/cat/CMakeLists.txt | 3 ++- userspace/create_program.sh | 3 ++- userspace/echo/CMakeLists.txt | 3 ++- userspace/id/CMakeLists.txt | 3 ++- userspace/init/CMakeLists.txt | 3 ++- userspace/ls/CMakeLists.txt | 3 ++- userspace/stat/CMakeLists.txt | 3 ++- userspace/tee/CMakeLists.txt | 3 ++- userspace/test/CMakeLists.txt | 3 ++- userspace/touch/CMakeLists.txt | 3 ++- userspace/u8sum/CMakeLists.txt | 3 ++- userspace/whoami/CMakeLists.txt | 3 ++- userspace/yes/CMakeLists.txt | 3 ++- 36 files changed, 58 insertions(+), 49 deletions(-) create mode 100644 base-sysroot.tar.gz delete mode 120000 base/bin delete mode 100644 base/boot/grub/grub.cfg delete mode 100644 base/dev/.gitkeep delete mode 100644 base/etc/hostname delete mode 100644 base/etc/passwd delete mode 100644 base/home/user/file delete mode 120000 base/lib delete mode 100644 base/root/secret delete mode 100644 base/tmp/.gitkeep delete mode 100644 base/usr/bin/.gitkeep delete mode 100644 base/usr/share/fonts/lat0-08.psfu delete mode 100644 base/usr/share/fonts/lat0-16.psfu delete mode 100644 base/usr/share/fonts/zap-ext-vga16.psf delete mode 100644 base/usr/share/fonts/zap-vga16.psf diff --git a/.gitignore b/.gitignore index b4a6670e65..9c177a55ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ .vscode/ .idea/ build/ +base/ *.tar.* toolchain/*/ + +!base-sysroot.tar.gz diff --git a/BAN/CMakeLists.txt b/BAN/CMakeLists.txt index b909e43df8..4c3c0339a6 100644 --- a/BAN/CMakeLists.txt +++ b/BAN/CMakeLists.txt @@ -10,15 +10,17 @@ set(BAN_SOURCES ) add_custom_target(ban-headers - COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_CURRENT_SOURCE_DIR}/include ${BANAN_INCLUDE} + COMMAND sudo rsync -r ${CMAKE_CURRENT_SOURCE_DIR}/include/ ${BANAN_INCLUDE}/ DEPENDS sysroot + USES_TERMINAL ) add_library(ban ${BAN_SOURCES}) add_dependencies(ban headers libc-install) add_custom_target(ban-install - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/libban.a ${BANAN_LIB}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/libban.a ${BANAN_LIB}/ DEPENDS ban BYPRODUCTS ${BANAN_LIB}/libban.a + USES_TERMINAL ) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4984c52f91..f5e140bdd8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,7 @@ endif() project(banan-os CXX) +set(BANAN_BASE_SYSROOT ${CMAKE_SOURCE_DIR}/base-sysroot.tar.gz) set(BANAN_SYSROOT ${CMAKE_BINARY_DIR}/sysroot) set(BANAN_INCLUDE ${BANAN_SYSROOT}/usr/include) set(BANAN_LIB ${BANAN_SYSROOT}/usr/lib) @@ -34,11 +35,7 @@ add_subdirectory(userspace) add_custom_target(sysroot COMMAND mkdir -p ${BANAN_SYSROOT} - COMMAND mkdir -p ${BANAN_INCLUDE} - COMMAND mkdir -p ${BANAN_LIB} - COMMAND mkdir -p ${BANAN_BIN} - COMMAND mkdir -p ${BANAN_BOOT} - COMMAND cp -r ${CMAKE_SOURCE_DIR}/base/* ${BANAN_SYSROOT}/ + COMMAND cd ${BANAN_SYSROOT} && sudo tar xf ${BANAN_BASE_SYSROOT} ) add_custom_target(headers @@ -66,6 +63,7 @@ add_custom_target(image DEPENDS ban-install DEPENDS libc-install DEPENDS userspace-install + DEPENDS libelf-install USES_TERMINAL ) @@ -75,6 +73,7 @@ add_custom_target(image-full DEPENDS ban-install DEPENDS libc-install DEPENDS userspace-install + DEPENDS libelf-install USES_TERMINAL ) diff --git a/LibELF/CMakeLists.txt b/LibELF/CMakeLists.txt index 01904ba116..f0a3e8cec1 100644 --- a/LibELF/CMakeLists.txt +++ b/LibELF/CMakeLists.txt @@ -3,8 +3,9 @@ cmake_minimum_required(VERSION 3.26) project(LibELF CXX) add_custom_target(libelf-headers - COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_CURRENT_SOURCE_DIR}/include ${BANAN_INCLUDE} + COMMAND sudo rsync -r ${CMAKE_CURRENT_SOURCE_DIR}/include/ ${BANAN_INCLUDE}/ DEPENDS sysroot + USES_TERMINAL ) add_custom_target(libelf-install diff --git a/base-sysroot.tar.gz b/base-sysroot.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..bc96b6e6c8612385f4a267b02876be3d0b74a305 GIT binary patch literal 7923 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 bSN-t{xo2g&bGhr~d$vK`(eWgOBqaX>;m~vx literal 0 HcmV?d00001 diff --git a/base/bin b/base/bin deleted file mode 120000 index 1e881eda3a..0000000000 --- a/base/bin +++ /dev/null @@ -1 +0,0 @@ -usr/bin \ No newline at end of file diff --git a/base/boot/grub/grub.cfg b/base/boot/grub/grub.cfg deleted file mode 100644 index e92e2eba28..0000000000 --- a/base/boot/grub/grub.cfg +++ /dev/null @@ -1,15 +0,0 @@ -menuentry "banan-os" { - multiboot /boot/banan-os.kernel root=/dev/hda2 -} - -menuentry "banan-os (no serial)" { - multiboot /boot/banan-os.kernel root=/dev/hda2 noserial -} - -menuentry "banan-os (no apic)" { - multiboot /boot/banan-os.kernel root=/dev/hda2 noapic -} - -menuentry "banan-os (no apic, no serial)" { - multiboot /boot/banan-os.kernel root=/dev/hda2 noapic noserial -} diff --git a/base/dev/.gitkeep b/base/dev/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/base/etc/hostname b/base/etc/hostname deleted file mode 100644 index c70dc2dfaf..0000000000 --- a/base/etc/hostname +++ /dev/null @@ -1 +0,0 @@ -host diff --git a/base/etc/passwd b/base/etc/passwd deleted file mode 100644 index e2c13379c1..0000000000 --- a/base/etc/passwd +++ /dev/null @@ -1,2 +0,0 @@ -root:x:0:0::/root:/bin/Shell -user:x:1000:1000::/home/user:/bin/Shell diff --git a/base/home/user/file b/base/home/user/file deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/base/lib b/base/lib deleted file mode 120000 index 0d5487ba86..0000000000 --- a/base/lib +++ /dev/null @@ -1 +0,0 @@ -usr/lib \ No newline at end of file diff --git a/base/root/secret b/base/root/secret deleted file mode 100644 index ce01362503..0000000000 --- a/base/root/secret +++ /dev/null @@ -1 +0,0 @@ -hello diff --git a/base/tmp/.gitkeep b/base/tmp/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/base/usr/bin/.gitkeep b/base/usr/bin/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/base/usr/share/fonts/lat0-08.psfu b/base/usr/share/fonts/lat0-08.psfu deleted file mode 100644 index 6198ef91acd0c910b43b21239c9c4a3537f4d3b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2901 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 SC*iw56%3-|m*5pJ1pXf}ht)&? diff --git a/base/usr/share/fonts/zap-vga16.psf b/base/usr/share/fonts/zap-vga16.psf deleted file mode 100644 index 53c53ab6b2c2aa4b510be1d1443dfc6bc0c5d0ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5312 zcmZvfdvshy8NjDoTpwpojXY#AwY_P3TOqY3MG90D1a3>YEqYt(D@J?S z@)w6crJln%J^Vw3`oIdlwI$Wiz$&nPh#DgsLVYDZ5Q|6}HSG2G&CI zuhn9+K3K(4}Dx+uVbV^s0#nj0$i^|QiyX|^^P3ul-_S&oG=?M@eQkWQId-%)AHCKh z+WG4Fi3>YEs~;YV3v}`4iVVS^s({LqlQ3oF}E_Mk5JB z(_X8Jl`tJIdTdE{eUqVkBwU{uN{oHQ9G6nb>Xo{CP;YV0>do;f6trG;)6}0PmmQ)b z_bSs?{e?I?uj)h)$Z8V=nTNPW0Ho_Tm!2Zb?fDj?xW*w!_2p=Dp!dkGFM9X>68}-3 z__ymzXqILA>HPC~HHYIs3U$a~Zvw#D8{?Ke{>PJsBpHfMqvAeYZ)(gIx8`H?aTWsU z_|hXi+84IsL$}xWr*Ym;f^}t=(3yCoIR2V@7V>AMzea|4nmY==(zYcV+3{m8Cyd=5A|y|D?V99!h&x z<~?hdmE2#GM2ES*m|k{a$arOZ_D0b0BK}=j{JXNOPn*nm+hlQCi=0!rdP}&y$^jT3 zNc(f|59!a9r9W4e^>Agew--o7{3&%Zh$Z;r^nUASFGlLL(Vr!cY-s<}j|;&g9|5Ml zQoQiTk00lKmkK$~`aGxa!MvVeI+zNAo_WSz_gSHS+{53-o5+wtTW@UM9~`eHIp{I(MZ%Qg)}v}9nvzNEEVQkvB#^j?!dkS`>Zpu z(Y>~e<@2N^nUeXwsA{1c6-#cD{zBP#nPqD4#S;6Fo>{=n`mdJB<;^+ zW^ts91J$gz&Udk#-F(`V@i9Pm1WGacXv8?e|B-tAn4GU&X^pBj8ZVAC%=n4-_IN0j z6t`87?uTh)-xmEG$lZ}8>vMiuVdbe*w!iY_u9KCgX2@ClRG+rDc1bGR-lJ0lslYfCF_y^)*w$u_%{rM0$yQ$3m2ml<_NUYWH|^^>Mx zqc~BgtZaTx%^1(AOrOk1>{!M8vy+CDUBPPW{HkJU7uQ%T6${NmD$51uzV~v0xUyV0 zt}GW^o6H5|$~*vVvh>>5xs!O@o(;f$Kj{BQ%mv%}UXcFX?+0_iw)Ar0xq4||)^j%Z zg|v5NY46JV!E)@?isI7z8ac0~z0A-3UT8f4<_wzg$(3tlGrpGGdH{^xjMvfY8@8H# ze#@e)-ogtoKA_h}`r|Z{%>PT$pDRm$t}OmtS?r}Z`6ohuKk&Vz9{^qe{RCtWhStAM zJPpoHl3+oSY=+z6L4Uvhs6XvD{m$+=$TdG)>~}BePLctYB!}Rq@HO}b`~-H-N)pdY zk}fF0g03W4%Kr{=Q5{m%1hO;+&j>{TYXz~cyII0^v?3G@XkcLOf91RLUpBg4pIr*ufI2i^$+yEbgkHd{{6MRCwc7BrFOz9T&WUiK*y^s|}3e@Ad zL%C;jMX%Gl*h`X))NO*>U^CnfA#8!Ia0h%6J_QkMgY9r9?0`?hXW+B&Iru#E!55$( zz6f7}oe-;qtk7MQs%kXH&Uxo8IOY?9)I0%)VF;dtr&KqqP^0v7_ys%-&%m=#ha+$l zj=^!&LA3mm(sS@D_%-|nhT*p`0>6Xjp#h`t0*t|nu$yu0<@c-b5bXDoWFNl)e!tG| zMt;A^?<4Rn*bfiGqwtt|n%R6uJx~5!H4X;BJ68JxCx^M*m diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt index ca54b62e43..fa9c1920b2 100644 --- a/kernel/CMakeLists.txt +++ b/kernel/CMakeLists.txt @@ -144,18 +144,26 @@ endif() target_link_options(kernel PUBLIC -ffreestanding -nostdlib) add_custom_target(crt0 - COMMAND ${CMAKE_CXX_COMPILER} -c ${CMAKE_CURRENT_SOURCE_DIR}/arch/${BANAN_ARCH}/crt0.S -o ${BANAN_LIB}/crt0.o + COMMAND ${CMAKE_CXX_COMPILER} -c ${CMAKE_CURRENT_SOURCE_DIR}/arch/${BANAN_ARCH}/crt0.S -o ${CMAKE_CURRENT_BINARY_DIR}/crt0.o DEPENDS headers ) +add_custom_command( + TARGET crt0 + POST_BUILD + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/crt0.o ${BANAN_LIB}/ +) + add_custom_target(kernel-headers - COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_CURRENT_SOURCE_DIR}/include ${BANAN_INCLUDE} + COMMAND sudo rsync -r ${CMAKE_CURRENT_SOURCE_DIR}/include/ ${BANAN_INCLUDE}/ DEPENDS sysroot + USES_TERMINAL ) add_custom_target(kernel-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/kernel ${BANAN_BOOT}/banan-os.kernel + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/kernel ${BANAN_BOOT}/banan-os.kernel DEPENDS kernel + USES_TERMINAL ) execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=crtbegin.o OUTPUT_VARIABLE CRTBEGIN OUTPUT_STRIP_TRAILING_WHITESPACE) diff --git a/libc/CMakeLists.txt b/libc/CMakeLists.txt index 44837c6c45..9ab9c1bd73 100644 --- a/libc/CMakeLists.txt +++ b/libc/CMakeLists.txt @@ -23,8 +23,9 @@ set(LIBC_SOURCES ) add_custom_target(libc-headers - COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_CURRENT_SOURCE_DIR}/include ${BANAN_INCLUDE} + COMMAND sudo rsync -r ${CMAKE_CURRENT_SOURCE_DIR}/include/ ${BANAN_INCLUDE}/ DEPENDS sysroot + USES_TERMINAL ) add_library(libc ${LIBC_SOURCES}) @@ -33,9 +34,10 @@ add_dependencies(libc headers crt0) target_compile_options(libc PRIVATE -g -Wstack-usage=512) add_custom_target(libc-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/libc.a ${BANAN_LIB}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/libc.a ${BANAN_LIB}/ DEPENDS libc BYPRODUCTS ${BANAN_LIB}/libc.a + USES_TERMINAL ) set(CMAKE_STATIC_LIBRARY_PREFIX "") diff --git a/userspace/CMakeLists.txt b/userspace/CMakeLists.txt index df44666714..399765452e 100644 --- a/userspace/CMakeLists.txt +++ b/userspace/CMakeLists.txt @@ -26,7 +26,8 @@ add_custom_target(userspace) add_custom_target(userspace-install DEPENDS userspace) foreach(USERSPACE_PROJECT ${USERSPACE_PROJECTS}) - target_compile_options(${USERSPACE_PROJECT} PUBLIC -g) + target_compile_options(${USERSPACE_PROJECT} PRIVATE -g) + add_dependencies(${USERSPACE_PROJECT} libc-install ban-install) add_dependencies(userspace ${USERSPACE_PROJECT}) add_dependencies(userspace-install ${USERSPACE_PROJECT}-install) endforeach() diff --git a/userspace/Shell/CMakeLists.txt b/userspace/Shell/CMakeLists.txt index f62bc15871..f77316e6f7 100644 --- a/userspace/Shell/CMakeLists.txt +++ b/userspace/Shell/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(Shell PUBLIC -O2 -g) target_link_libraries(Shell PUBLIC libc ban) add_custom_target(Shell-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/Shell ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/Shell ${BANAN_BIN}/ DEPENDS Shell + USES_TERMINAL ) diff --git a/userspace/cat/CMakeLists.txt b/userspace/cat/CMakeLists.txt index c5e6524e7b..9008d7b280 100644 --- a/userspace/cat/CMakeLists.txt +++ b/userspace/cat/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(cat PUBLIC -O2 -g) target_link_libraries(cat PUBLIC libc) add_custom_target(cat-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/cat ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/cat ${BANAN_BIN}/ DEPENDS cat + USES_TERMINAL ) diff --git a/userspace/create_program.sh b/userspace/create_program.sh index 0abd03f892..3fc45f0fa1 100755 --- a/userspace/create_program.sh +++ b/userspace/create_program.sh @@ -20,8 +20,9 @@ target_compile_options($PROGRAM_NAME PUBLIC -O2 -g) target_link_libraries($PROGRAM_NAME PUBLIC libc) add_custom_target($PROGRAM_NAME-install - COMMAND cp \${CMAKE_CURRENT_BINARY_DIR}/$PROGRAM_NAME \${BANAN_BIN}/ + COMMAND sudo cp \${CMAKE_CURRENT_BINARY_DIR}/$PROGRAM_NAME \${BANAN_BIN}/ DEPENDS $PROGRAM_NAME + USES_TERMINAL ) EOF diff --git a/userspace/echo/CMakeLists.txt b/userspace/echo/CMakeLists.txt index fd01c8a662..bd7e2d9a34 100644 --- a/userspace/echo/CMakeLists.txt +++ b/userspace/echo/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(echo PUBLIC -O2 -g) target_link_libraries(echo PUBLIC libc) add_custom_target(echo-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/echo ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/echo ${BANAN_BIN}/ DEPENDS echo + USES_TERMINAL ) diff --git a/userspace/id/CMakeLists.txt b/userspace/id/CMakeLists.txt index 3da67b0ae9..0b23db137b 100644 --- a/userspace/id/CMakeLists.txt +++ b/userspace/id/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(id PUBLIC -O2 -g) target_link_libraries(id PUBLIC libc ban) add_custom_target(id-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/id ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/id ${BANAN_BIN}/ DEPENDS id + USES_TERMINAL ) diff --git a/userspace/init/CMakeLists.txt b/userspace/init/CMakeLists.txt index 43f9b7a6d7..325d076abf 100644 --- a/userspace/init/CMakeLists.txt +++ b/userspace/init/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(init PUBLIC -O2 -g) target_link_libraries(init PUBLIC libc ban) add_custom_target(init-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/init ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/init ${BANAN_BIN}/ DEPENDS init + USES_TERMINAL ) diff --git a/userspace/ls/CMakeLists.txt b/userspace/ls/CMakeLists.txt index df6d503d65..bbf2c3c68b 100644 --- a/userspace/ls/CMakeLists.txt +++ b/userspace/ls/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(ls PUBLIC -O2 -g) target_link_libraries(ls PUBLIC libc) add_custom_target(ls-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/ls ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/ls ${BANAN_BIN}/ DEPENDS ls + USES_TERMINAL ) diff --git a/userspace/stat/CMakeLists.txt b/userspace/stat/CMakeLists.txt index 13e0b60198..2e6c6d3083 100644 --- a/userspace/stat/CMakeLists.txt +++ b/userspace/stat/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(stat PUBLIC -O2 -g) target_link_libraries(stat PUBLIC libc ban) add_custom_target(stat-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/stat ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/stat ${BANAN_BIN}/ DEPENDS stat + USES_TERMINAL ) diff --git a/userspace/tee/CMakeLists.txt b/userspace/tee/CMakeLists.txt index 57725e8c9e..84225e62bd 100644 --- a/userspace/tee/CMakeLists.txt +++ b/userspace/tee/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(tee PUBLIC -O2 -g) target_link_libraries(tee PUBLIC libc) add_custom_target(tee-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/tee ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/tee ${BANAN_BIN}/ DEPENDS tee + USES_TERMINAL ) diff --git a/userspace/test/CMakeLists.txt b/userspace/test/CMakeLists.txt index 08bc06408e..963278c78f 100644 --- a/userspace/test/CMakeLists.txt +++ b/userspace/test/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(test PUBLIC -O2 -g) target_link_libraries(test PUBLIC libc) add_custom_target(test-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/test ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/test ${BANAN_BIN}/ DEPENDS test + USES_TERMINAL ) diff --git a/userspace/touch/CMakeLists.txt b/userspace/touch/CMakeLists.txt index 34d61f6a8c..6504f14f92 100644 --- a/userspace/touch/CMakeLists.txt +++ b/userspace/touch/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(touch PUBLIC -O2 -g) target_link_libraries(touch PUBLIC libc) add_custom_target(touch-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/touch ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/touch ${BANAN_BIN}/ DEPENDS touch + USES_TERMINAL ) diff --git a/userspace/u8sum/CMakeLists.txt b/userspace/u8sum/CMakeLists.txt index 20fa7354d9..c19849dc31 100644 --- a/userspace/u8sum/CMakeLists.txt +++ b/userspace/u8sum/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(u8sum PUBLIC -O2 -g) target_link_libraries(u8sum PUBLIC libc) add_custom_target(u8sum-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/u8sum ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/u8sum ${BANAN_BIN}/ DEPENDS u8sum + USES_TERMINAL ) diff --git a/userspace/whoami/CMakeLists.txt b/userspace/whoami/CMakeLists.txt index 392d1c3aab..81308242ab 100644 --- a/userspace/whoami/CMakeLists.txt +++ b/userspace/whoami/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(whoami PUBLIC -O2 -g) target_link_libraries(whoami PUBLIC libc ban) add_custom_target(whoami-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/whoami ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/whoami ${BANAN_BIN}/ DEPENDS whoami + USES_TERMINAL ) diff --git a/userspace/yes/CMakeLists.txt b/userspace/yes/CMakeLists.txt index aa1eb58d86..bf217e4424 100644 --- a/userspace/yes/CMakeLists.txt +++ b/userspace/yes/CMakeLists.txt @@ -11,6 +11,7 @@ target_compile_options(yes PUBLIC -O2 -g) target_link_libraries(yes PUBLIC libc) add_custom_target(yes-install - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/yes ${BANAN_BIN}/ + COMMAND sudo cp ${CMAKE_CURRENT_BINARY_DIR}/yes ${BANAN_BIN}/ DEPENDS yes + USES_TERMINAL )