From 8ddab05ed3b12ce5b0560b59145472cc050ca620 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Wed, 3 Jul 2024 09:15:22 +0300 Subject: [PATCH] BuildSystem: Cleanup userspace directory layout userspace programs are now in userspace/programs userspace tests are now in userspace/tests This makes listing userspace projects much cleaner. Libraries were already separated to their own directory, so other programs should also. --- userspace/CMakeLists.txt | 62 +------------------ userspace/programs/CMakeLists.txt | 45 ++++++++++++++ userspace/{ => programs}/Shell/CMakeLists.txt | 0 userspace/{ => programs}/Shell/main.cpp | 0 .../{ => programs}/Terminal/CMakeLists.txt | 0 .../{ => programs}/Terminal/Terminal.cpp | 0 userspace/{ => programs}/Terminal/Terminal.h | 0 userspace/{ => programs}/Terminal/main.cpp | 0 .../WindowServer/CMakeLists.txt | 0 .../{ => programs}/WindowServer/Cursor.h | 0 .../WindowServer/Framebuffer.cpp | 0 .../{ => programs}/WindowServer/Framebuffer.h | 0 userspace/{ => programs}/WindowServer/Utils.h | 0 .../{ => programs}/WindowServer/Window.cpp | 0 .../{ => programs}/WindowServer/Window.h | 0 .../WindowServer/WindowServer.cpp | 0 .../WindowServer/WindowServer.h | 0 .../{ => programs}/WindowServer/main.cpp | 0 .../{ => programs}/cat-mmap/CMakeLists.txt | 0 userspace/{ => programs}/cat-mmap/main.cpp | 0 userspace/{ => programs}/cat/CMakeLists.txt | 0 userspace/{ => programs}/cat/main.cpp | 0 userspace/{ => programs}/chmod/CMakeLists.txt | 0 userspace/{ => programs}/chmod/main.cpp | 0 userspace/{ => programs}/cp/CMakeLists.txt | 0 userspace/{ => programs}/cp/main.cpp | 0 userspace/{ => programs}/create_program.sh | 0 userspace/{ => programs}/dd/CMakeLists.txt | 0 userspace/{ => programs}/dd/main.cpp | 0 .../{ => programs}/dhcp-client/CMakeLists.txt | 0 userspace/{ => programs}/dhcp-client/main.cpp | 0 userspace/{ => programs}/echo/CMakeLists.txt | 0 userspace/{ => programs}/echo/main.cpp | 0 .../{ => programs}/getopt/CMakeLists.txt | 0 userspace/{ => programs}/getopt/main.cpp | 0 .../{ => programs}/http-server/CMakeLists.txt | 0 .../{ => programs}/http-server/HTTPServer.cpp | 0 .../{ => programs}/http-server/HTTPServer.h | 0 userspace/{ => programs}/http-server/main.cpp | 0 userspace/{ => programs}/id/CMakeLists.txt | 0 userspace/{ => programs}/id/main.cpp | 0 userspace/{ => programs}/image/CMakeLists.txt | 0 userspace/{ => programs}/image/main.cpp | 0 userspace/{ => programs}/init/CMakeLists.txt | 0 userspace/{ => programs}/init/main.cpp | 0 .../{ => programs}/loadfont/CMakeLists.txt | 0 userspace/{ => programs}/loadfont/main.cpp | 0 .../{ => programs}/loadkeys/CMakeLists.txt | 0 userspace/{ => programs}/loadkeys/main.cpp | 0 userspace/{ => programs}/ls/CMakeLists.txt | 0 userspace/{ => programs}/ls/main.cpp | 0 .../{ => programs}/meminfo/CMakeLists.txt | 0 userspace/{ => programs}/meminfo/main.cpp | 0 userspace/{ => programs}/mkdir/CMakeLists.txt | 0 userspace/{ => programs}/mkdir/main.cpp | 0 .../{ => programs}/nslookup/CMakeLists.txt | 0 userspace/{ => programs}/nslookup/main.cpp | 0 .../{ => programs}/poweroff/CMakeLists.txt | 0 userspace/{ => programs}/poweroff/main.cpp | 0 .../{ => programs}/resolver/CMakeLists.txt | 0 userspace/{ => programs}/resolver/main.cpp | 0 userspace/{ => programs}/rm/CMakeLists.txt | 0 userspace/{ => programs}/rm/main.cpp | 0 userspace/{ => programs}/sleep/CMakeLists.txt | 0 userspace/{ => programs}/sleep/main.cpp | 0 userspace/{ => programs}/snake/CMakeLists.txt | 0 userspace/{ => programs}/snake/main.cpp | 0 userspace/{ => programs}/stat/CMakeLists.txt | 0 userspace/{ => programs}/stat/main.cpp | 0 userspace/{ => programs}/sudo/CMakeLists.txt | 0 userspace/{ => programs}/sudo/main.cpp | 0 userspace/{ => programs}/sync/CMakeLists.txt | 0 userspace/{ => programs}/sync/main.cpp | 0 userspace/{ => programs}/tee/CMakeLists.txt | 0 userspace/{ => programs}/tee/main.cpp | 0 userspace/{ => programs}/touch/CMakeLists.txt | 0 userspace/{ => programs}/touch/main.cpp | 0 userspace/{ => programs}/u8sum/CMakeLists.txt | 0 userspace/{ => programs}/u8sum/main.cpp | 0 .../{ => programs}/whoami/CMakeLists.txt | 0 userspace/{ => programs}/whoami/main.cpp | 0 userspace/{ => programs}/yes/CMakeLists.txt | 0 userspace/{ => programs}/yes/main.cpp | 0 userspace/test/CMakeLists.txt | 8 --- userspace/tests/CMakeLists.txt | 22 +++++++ userspace/tests/test-fork/CMakeLists.txt | 8 +++ .../test.cpp => tests/test-fork/main.cpp} | 0 .../test-framebuffer/CMakeLists.txt | 0 .../{ => tests}/test-framebuffer/main.cpp | 0 .../{ => tests}/test-globals/CMakeLists.txt | 0 userspace/{ => tests}/test-globals/main.cpp | 0 .../test-mmap-shared/CMakeLists.txt | 0 .../{ => tests}/test-mmap-shared/main.cpp | 0 .../{ => tests}/test-mouse/CMakeLists.txt | 0 userspace/{ => tests}/test-mouse/main.cpp | 0 .../{ => tests}/test-popen/CMakeLists.txt | 0 userspace/{ => tests}/test-popen/main.cpp | 0 .../{ => tests}/test-sort/CMakeLists.txt | 0 userspace/{ => tests}/test-sort/main.cpp | 0 userspace/{ => tests}/test-tcp/CMakeLists.txt | 0 userspace/{ => tests}/test-tcp/main.cpp | 0 userspace/{ => tests}/test-udp/CMakeLists.txt | 0 userspace/{ => tests}/test-udp/main.cpp | 0 .../test-unix-socket/CMakeLists.txt | 0 .../{ => tests}/test-unix-socket/main.cpp | 0 .../{ => tests}/test-window/CMakeLists.txt | 0 userspace/{ => tests}/test-window/main.cpp | 0 107 files changed, 78 insertions(+), 67 deletions(-) create mode 100644 userspace/programs/CMakeLists.txt rename userspace/{ => programs}/Shell/CMakeLists.txt (100%) rename userspace/{ => programs}/Shell/main.cpp (100%) rename userspace/{ => programs}/Terminal/CMakeLists.txt (100%) rename userspace/{ => programs}/Terminal/Terminal.cpp (100%) rename userspace/{ => programs}/Terminal/Terminal.h (100%) rename userspace/{ => programs}/Terminal/main.cpp (100%) rename userspace/{ => programs}/WindowServer/CMakeLists.txt (100%) rename userspace/{ => programs}/WindowServer/Cursor.h (100%) rename userspace/{ => programs}/WindowServer/Framebuffer.cpp (100%) rename userspace/{ => programs}/WindowServer/Framebuffer.h (100%) rename userspace/{ => programs}/WindowServer/Utils.h (100%) rename userspace/{ => programs}/WindowServer/Window.cpp (100%) rename userspace/{ => programs}/WindowServer/Window.h (100%) rename userspace/{ => programs}/WindowServer/WindowServer.cpp (100%) rename userspace/{ => programs}/WindowServer/WindowServer.h (100%) rename userspace/{ => programs}/WindowServer/main.cpp (100%) rename userspace/{ => programs}/cat-mmap/CMakeLists.txt (100%) rename userspace/{ => programs}/cat-mmap/main.cpp (100%) rename userspace/{ => programs}/cat/CMakeLists.txt (100%) rename userspace/{ => programs}/cat/main.cpp (100%) rename userspace/{ => programs}/chmod/CMakeLists.txt (100%) rename userspace/{ => programs}/chmod/main.cpp (100%) rename userspace/{ => programs}/cp/CMakeLists.txt (100%) rename userspace/{ => programs}/cp/main.cpp (100%) rename userspace/{ => programs}/create_program.sh (100%) rename userspace/{ => programs}/dd/CMakeLists.txt (100%) rename userspace/{ => programs}/dd/main.cpp (100%) rename userspace/{ => programs}/dhcp-client/CMakeLists.txt (100%) rename userspace/{ => programs}/dhcp-client/main.cpp (100%) rename userspace/{ => programs}/echo/CMakeLists.txt (100%) rename userspace/{ => programs}/echo/main.cpp (100%) rename userspace/{ => programs}/getopt/CMakeLists.txt (100%) rename userspace/{ => programs}/getopt/main.cpp (100%) rename userspace/{ => programs}/http-server/CMakeLists.txt (100%) rename userspace/{ => programs}/http-server/HTTPServer.cpp (100%) rename userspace/{ => programs}/http-server/HTTPServer.h (100%) rename userspace/{ => programs}/http-server/main.cpp (100%) rename userspace/{ => programs}/id/CMakeLists.txt (100%) rename userspace/{ => programs}/id/main.cpp (100%) rename userspace/{ => programs}/image/CMakeLists.txt (100%) rename userspace/{ => programs}/image/main.cpp (100%) rename userspace/{ => programs}/init/CMakeLists.txt (100%) rename userspace/{ => programs}/init/main.cpp (100%) rename userspace/{ => programs}/loadfont/CMakeLists.txt (100%) rename userspace/{ => programs}/loadfont/main.cpp (100%) rename userspace/{ => programs}/loadkeys/CMakeLists.txt (100%) rename userspace/{ => programs}/loadkeys/main.cpp (100%) rename userspace/{ => programs}/ls/CMakeLists.txt (100%) rename userspace/{ => programs}/ls/main.cpp (100%) rename userspace/{ => programs}/meminfo/CMakeLists.txt (100%) rename userspace/{ => programs}/meminfo/main.cpp (100%) rename userspace/{ => programs}/mkdir/CMakeLists.txt (100%) rename userspace/{ => programs}/mkdir/main.cpp (100%) rename userspace/{ => programs}/nslookup/CMakeLists.txt (100%) rename userspace/{ => programs}/nslookup/main.cpp (100%) rename userspace/{ => programs}/poweroff/CMakeLists.txt (100%) rename userspace/{ => programs}/poweroff/main.cpp (100%) rename userspace/{ => programs}/resolver/CMakeLists.txt (100%) rename userspace/{ => programs}/resolver/main.cpp (100%) rename userspace/{ => programs}/rm/CMakeLists.txt (100%) rename userspace/{ => programs}/rm/main.cpp (100%) rename userspace/{ => programs}/sleep/CMakeLists.txt (100%) rename userspace/{ => programs}/sleep/main.cpp (100%) rename userspace/{ => programs}/snake/CMakeLists.txt (100%) rename userspace/{ => programs}/snake/main.cpp (100%) rename userspace/{ => programs}/stat/CMakeLists.txt (100%) rename userspace/{ => programs}/stat/main.cpp (100%) rename userspace/{ => programs}/sudo/CMakeLists.txt (100%) rename userspace/{ => programs}/sudo/main.cpp (100%) rename userspace/{ => programs}/sync/CMakeLists.txt (100%) rename userspace/{ => programs}/sync/main.cpp (100%) rename userspace/{ => programs}/tee/CMakeLists.txt (100%) rename userspace/{ => programs}/tee/main.cpp (100%) rename userspace/{ => programs}/touch/CMakeLists.txt (100%) rename userspace/{ => programs}/touch/main.cpp (100%) rename userspace/{ => programs}/u8sum/CMakeLists.txt (100%) rename userspace/{ => programs}/u8sum/main.cpp (100%) rename userspace/{ => programs}/whoami/CMakeLists.txt (100%) rename userspace/{ => programs}/whoami/main.cpp (100%) rename userspace/{ => programs}/yes/CMakeLists.txt (100%) rename userspace/{ => programs}/yes/main.cpp (100%) delete mode 100644 userspace/test/CMakeLists.txt create mode 100644 userspace/tests/CMakeLists.txt create mode 100644 userspace/tests/test-fork/CMakeLists.txt rename userspace/{test/test.cpp => tests/test-fork/main.cpp} (100%) rename userspace/{ => tests}/test-framebuffer/CMakeLists.txt (100%) rename userspace/{ => tests}/test-framebuffer/main.cpp (100%) rename userspace/{ => tests}/test-globals/CMakeLists.txt (100%) rename userspace/{ => tests}/test-globals/main.cpp (100%) rename userspace/{ => tests}/test-mmap-shared/CMakeLists.txt (100%) rename userspace/{ => tests}/test-mmap-shared/main.cpp (100%) rename userspace/{ => tests}/test-mouse/CMakeLists.txt (100%) rename userspace/{ => tests}/test-mouse/main.cpp (100%) rename userspace/{ => tests}/test-popen/CMakeLists.txt (100%) rename userspace/{ => tests}/test-popen/main.cpp (100%) rename userspace/{ => tests}/test-sort/CMakeLists.txt (100%) rename userspace/{ => tests}/test-sort/main.cpp (100%) rename userspace/{ => tests}/test-tcp/CMakeLists.txt (100%) rename userspace/{ => tests}/test-tcp/main.cpp (100%) rename userspace/{ => tests}/test-udp/CMakeLists.txt (100%) rename userspace/{ => tests}/test-udp/main.cpp (100%) rename userspace/{ => tests}/test-unix-socket/CMakeLists.txt (100%) rename userspace/{ => tests}/test-unix-socket/main.cpp (100%) rename userspace/{ => tests}/test-window/CMakeLists.txt (100%) rename userspace/{ => tests}/test-window/main.cpp (100%) diff --git a/userspace/CMakeLists.txt b/userspace/CMakeLists.txt index 781e1c84..abba79e3 100644 --- a/userspace/CMakeLists.txt +++ b/userspace/CMakeLists.txt @@ -1,62 +1,6 @@ -set(USERSPACE_PROJECTS - cat - cat-mmap - chmod - cp - dd - dhcp-client - echo - getopt - http-server - id - image - init - loadfont - loadkeys - ls - meminfo - mkdir - nslookup - poweroff - resolver - rm - Shell - sleep - snake - stat - sudo - sync - tee - Terminal - test - test-framebuffer - test-globals - test-mmap-shared - test-mouse - test-popen - test-sort - test-tcp - test-udp - test-unix-socket - test-window - touch - u8sum - whoami - WindowServer - yes -) - -add_subdirectory(libraries) - add_custom_target(userspace) #add_subdirectory(aoc2023) - -foreach(project ${USERSPACE_PROJECTS}) - add_subdirectory(${project}) - add_dependencies(userspace ${project}) - # This is to allow cmake to link when libc updates - target_link_options(${project} PRIVATE -nolibc) - # Default compile options - target_compile_options(${project} PRIVATE -g -O2) -endforeach() +add_subdirectory(libraries) +add_subdirectory(programs) +add_subdirectory(tests) diff --git a/userspace/programs/CMakeLists.txt b/userspace/programs/CMakeLists.txt new file mode 100644 index 00000000..f811efda --- /dev/null +++ b/userspace/programs/CMakeLists.txt @@ -0,0 +1,45 @@ +set(USERSPACE_PROGRAMS + cat + cat-mmap + chmod + cp + dd + dhcp-client + echo + getopt + http-server + id + image + init + loadfont + loadkeys + ls + meminfo + mkdir + nslookup + poweroff + resolver + rm + Shell + sleep + snake + stat + sudo + sync + tee + Terminal + touch + u8sum + whoami + WindowServer + yes +) + +foreach(project ${USERSPACE_PROGRAMS}) + add_subdirectory(${project}) + add_dependencies(userspace ${project}) + # This is to allow cmake to link when libc updates + target_link_options(${project} PRIVATE -nolibc) + # Default compile options + target_compile_options(${project} PRIVATE -g -O2) +endforeach() diff --git a/userspace/Shell/CMakeLists.txt b/userspace/programs/Shell/CMakeLists.txt similarity index 100% rename from userspace/Shell/CMakeLists.txt rename to userspace/programs/Shell/CMakeLists.txt diff --git a/userspace/Shell/main.cpp b/userspace/programs/Shell/main.cpp similarity index 100% rename from userspace/Shell/main.cpp rename to userspace/programs/Shell/main.cpp diff --git a/userspace/Terminal/CMakeLists.txt b/userspace/programs/Terminal/CMakeLists.txt similarity index 100% rename from userspace/Terminal/CMakeLists.txt rename to userspace/programs/Terminal/CMakeLists.txt diff --git a/userspace/Terminal/Terminal.cpp b/userspace/programs/Terminal/Terminal.cpp similarity index 100% rename from userspace/Terminal/Terminal.cpp rename to userspace/programs/Terminal/Terminal.cpp diff --git a/userspace/Terminal/Terminal.h b/userspace/programs/Terminal/Terminal.h similarity index 100% rename from userspace/Terminal/Terminal.h rename to userspace/programs/Terminal/Terminal.h diff --git a/userspace/Terminal/main.cpp b/userspace/programs/Terminal/main.cpp similarity index 100% rename from userspace/Terminal/main.cpp rename to userspace/programs/Terminal/main.cpp diff --git a/userspace/WindowServer/CMakeLists.txt b/userspace/programs/WindowServer/CMakeLists.txt similarity index 100% rename from userspace/WindowServer/CMakeLists.txt rename to userspace/programs/WindowServer/CMakeLists.txt diff --git a/userspace/WindowServer/Cursor.h b/userspace/programs/WindowServer/Cursor.h similarity index 100% rename from userspace/WindowServer/Cursor.h rename to userspace/programs/WindowServer/Cursor.h diff --git a/userspace/WindowServer/Framebuffer.cpp b/userspace/programs/WindowServer/Framebuffer.cpp similarity index 100% rename from userspace/WindowServer/Framebuffer.cpp rename to userspace/programs/WindowServer/Framebuffer.cpp diff --git a/userspace/WindowServer/Framebuffer.h b/userspace/programs/WindowServer/Framebuffer.h similarity index 100% rename from userspace/WindowServer/Framebuffer.h rename to userspace/programs/WindowServer/Framebuffer.h diff --git a/userspace/WindowServer/Utils.h b/userspace/programs/WindowServer/Utils.h similarity index 100% rename from userspace/WindowServer/Utils.h rename to userspace/programs/WindowServer/Utils.h diff --git a/userspace/WindowServer/Window.cpp b/userspace/programs/WindowServer/Window.cpp similarity index 100% rename from userspace/WindowServer/Window.cpp rename to userspace/programs/WindowServer/Window.cpp diff --git a/userspace/WindowServer/Window.h b/userspace/programs/WindowServer/Window.h similarity index 100% rename from userspace/WindowServer/Window.h rename to userspace/programs/WindowServer/Window.h diff --git a/userspace/WindowServer/WindowServer.cpp b/userspace/programs/WindowServer/WindowServer.cpp similarity index 100% rename from userspace/WindowServer/WindowServer.cpp rename to userspace/programs/WindowServer/WindowServer.cpp diff --git a/userspace/WindowServer/WindowServer.h b/userspace/programs/WindowServer/WindowServer.h similarity index 100% rename from userspace/WindowServer/WindowServer.h rename to userspace/programs/WindowServer/WindowServer.h diff --git a/userspace/WindowServer/main.cpp b/userspace/programs/WindowServer/main.cpp similarity index 100% rename from userspace/WindowServer/main.cpp rename to userspace/programs/WindowServer/main.cpp diff --git a/userspace/cat-mmap/CMakeLists.txt b/userspace/programs/cat-mmap/CMakeLists.txt similarity index 100% rename from userspace/cat-mmap/CMakeLists.txt rename to userspace/programs/cat-mmap/CMakeLists.txt diff --git a/userspace/cat-mmap/main.cpp b/userspace/programs/cat-mmap/main.cpp similarity index 100% rename from userspace/cat-mmap/main.cpp rename to userspace/programs/cat-mmap/main.cpp diff --git a/userspace/cat/CMakeLists.txt b/userspace/programs/cat/CMakeLists.txt similarity index 100% rename from userspace/cat/CMakeLists.txt rename to userspace/programs/cat/CMakeLists.txt diff --git a/userspace/cat/main.cpp b/userspace/programs/cat/main.cpp similarity index 100% rename from userspace/cat/main.cpp rename to userspace/programs/cat/main.cpp diff --git a/userspace/chmod/CMakeLists.txt b/userspace/programs/chmod/CMakeLists.txt similarity index 100% rename from userspace/chmod/CMakeLists.txt rename to userspace/programs/chmod/CMakeLists.txt diff --git a/userspace/chmod/main.cpp b/userspace/programs/chmod/main.cpp similarity index 100% rename from userspace/chmod/main.cpp rename to userspace/programs/chmod/main.cpp diff --git a/userspace/cp/CMakeLists.txt b/userspace/programs/cp/CMakeLists.txt similarity index 100% rename from userspace/cp/CMakeLists.txt rename to userspace/programs/cp/CMakeLists.txt diff --git a/userspace/cp/main.cpp b/userspace/programs/cp/main.cpp similarity index 100% rename from userspace/cp/main.cpp rename to userspace/programs/cp/main.cpp diff --git a/userspace/create_program.sh b/userspace/programs/create_program.sh similarity index 100% rename from userspace/create_program.sh rename to userspace/programs/create_program.sh diff --git a/userspace/dd/CMakeLists.txt b/userspace/programs/dd/CMakeLists.txt similarity index 100% rename from userspace/dd/CMakeLists.txt rename to userspace/programs/dd/CMakeLists.txt diff --git a/userspace/dd/main.cpp b/userspace/programs/dd/main.cpp similarity index 100% rename from userspace/dd/main.cpp rename to userspace/programs/dd/main.cpp diff --git a/userspace/dhcp-client/CMakeLists.txt b/userspace/programs/dhcp-client/CMakeLists.txt similarity index 100% rename from userspace/dhcp-client/CMakeLists.txt rename to userspace/programs/dhcp-client/CMakeLists.txt diff --git a/userspace/dhcp-client/main.cpp b/userspace/programs/dhcp-client/main.cpp similarity index 100% rename from userspace/dhcp-client/main.cpp rename to userspace/programs/dhcp-client/main.cpp diff --git a/userspace/echo/CMakeLists.txt b/userspace/programs/echo/CMakeLists.txt similarity index 100% rename from userspace/echo/CMakeLists.txt rename to userspace/programs/echo/CMakeLists.txt diff --git a/userspace/echo/main.cpp b/userspace/programs/echo/main.cpp similarity index 100% rename from userspace/echo/main.cpp rename to userspace/programs/echo/main.cpp diff --git a/userspace/getopt/CMakeLists.txt b/userspace/programs/getopt/CMakeLists.txt similarity index 100% rename from userspace/getopt/CMakeLists.txt rename to userspace/programs/getopt/CMakeLists.txt diff --git a/userspace/getopt/main.cpp b/userspace/programs/getopt/main.cpp similarity index 100% rename from userspace/getopt/main.cpp rename to userspace/programs/getopt/main.cpp diff --git a/userspace/http-server/CMakeLists.txt b/userspace/programs/http-server/CMakeLists.txt similarity index 100% rename from userspace/http-server/CMakeLists.txt rename to userspace/programs/http-server/CMakeLists.txt diff --git a/userspace/http-server/HTTPServer.cpp b/userspace/programs/http-server/HTTPServer.cpp similarity index 100% rename from userspace/http-server/HTTPServer.cpp rename to userspace/programs/http-server/HTTPServer.cpp diff --git a/userspace/http-server/HTTPServer.h b/userspace/programs/http-server/HTTPServer.h similarity index 100% rename from userspace/http-server/HTTPServer.h rename to userspace/programs/http-server/HTTPServer.h diff --git a/userspace/http-server/main.cpp b/userspace/programs/http-server/main.cpp similarity index 100% rename from userspace/http-server/main.cpp rename to userspace/programs/http-server/main.cpp diff --git a/userspace/id/CMakeLists.txt b/userspace/programs/id/CMakeLists.txt similarity index 100% rename from userspace/id/CMakeLists.txt rename to userspace/programs/id/CMakeLists.txt diff --git a/userspace/id/main.cpp b/userspace/programs/id/main.cpp similarity index 100% rename from userspace/id/main.cpp rename to userspace/programs/id/main.cpp diff --git a/userspace/image/CMakeLists.txt b/userspace/programs/image/CMakeLists.txt similarity index 100% rename from userspace/image/CMakeLists.txt rename to userspace/programs/image/CMakeLists.txt diff --git a/userspace/image/main.cpp b/userspace/programs/image/main.cpp similarity index 100% rename from userspace/image/main.cpp rename to userspace/programs/image/main.cpp diff --git a/userspace/init/CMakeLists.txt b/userspace/programs/init/CMakeLists.txt similarity index 100% rename from userspace/init/CMakeLists.txt rename to userspace/programs/init/CMakeLists.txt diff --git a/userspace/init/main.cpp b/userspace/programs/init/main.cpp similarity index 100% rename from userspace/init/main.cpp rename to userspace/programs/init/main.cpp diff --git a/userspace/loadfont/CMakeLists.txt b/userspace/programs/loadfont/CMakeLists.txt similarity index 100% rename from userspace/loadfont/CMakeLists.txt rename to userspace/programs/loadfont/CMakeLists.txt diff --git a/userspace/loadfont/main.cpp b/userspace/programs/loadfont/main.cpp similarity index 100% rename from userspace/loadfont/main.cpp rename to userspace/programs/loadfont/main.cpp diff --git a/userspace/loadkeys/CMakeLists.txt b/userspace/programs/loadkeys/CMakeLists.txt similarity index 100% rename from userspace/loadkeys/CMakeLists.txt rename to userspace/programs/loadkeys/CMakeLists.txt diff --git a/userspace/loadkeys/main.cpp b/userspace/programs/loadkeys/main.cpp similarity index 100% rename from userspace/loadkeys/main.cpp rename to userspace/programs/loadkeys/main.cpp diff --git a/userspace/ls/CMakeLists.txt b/userspace/programs/ls/CMakeLists.txt similarity index 100% rename from userspace/ls/CMakeLists.txt rename to userspace/programs/ls/CMakeLists.txt diff --git a/userspace/ls/main.cpp b/userspace/programs/ls/main.cpp similarity index 100% rename from userspace/ls/main.cpp rename to userspace/programs/ls/main.cpp diff --git a/userspace/meminfo/CMakeLists.txt b/userspace/programs/meminfo/CMakeLists.txt similarity index 100% rename from userspace/meminfo/CMakeLists.txt rename to userspace/programs/meminfo/CMakeLists.txt diff --git a/userspace/meminfo/main.cpp b/userspace/programs/meminfo/main.cpp similarity index 100% rename from userspace/meminfo/main.cpp rename to userspace/programs/meminfo/main.cpp diff --git a/userspace/mkdir/CMakeLists.txt b/userspace/programs/mkdir/CMakeLists.txt similarity index 100% rename from userspace/mkdir/CMakeLists.txt rename to userspace/programs/mkdir/CMakeLists.txt diff --git a/userspace/mkdir/main.cpp b/userspace/programs/mkdir/main.cpp similarity index 100% rename from userspace/mkdir/main.cpp rename to userspace/programs/mkdir/main.cpp diff --git a/userspace/nslookup/CMakeLists.txt b/userspace/programs/nslookup/CMakeLists.txt similarity index 100% rename from userspace/nslookup/CMakeLists.txt rename to userspace/programs/nslookup/CMakeLists.txt diff --git a/userspace/nslookup/main.cpp b/userspace/programs/nslookup/main.cpp similarity index 100% rename from userspace/nslookup/main.cpp rename to userspace/programs/nslookup/main.cpp diff --git a/userspace/poweroff/CMakeLists.txt b/userspace/programs/poweroff/CMakeLists.txt similarity index 100% rename from userspace/poweroff/CMakeLists.txt rename to userspace/programs/poweroff/CMakeLists.txt diff --git a/userspace/poweroff/main.cpp b/userspace/programs/poweroff/main.cpp similarity index 100% rename from userspace/poweroff/main.cpp rename to userspace/programs/poweroff/main.cpp diff --git a/userspace/resolver/CMakeLists.txt b/userspace/programs/resolver/CMakeLists.txt similarity index 100% rename from userspace/resolver/CMakeLists.txt rename to userspace/programs/resolver/CMakeLists.txt diff --git a/userspace/resolver/main.cpp b/userspace/programs/resolver/main.cpp similarity index 100% rename from userspace/resolver/main.cpp rename to userspace/programs/resolver/main.cpp diff --git a/userspace/rm/CMakeLists.txt b/userspace/programs/rm/CMakeLists.txt similarity index 100% rename from userspace/rm/CMakeLists.txt rename to userspace/programs/rm/CMakeLists.txt diff --git a/userspace/rm/main.cpp b/userspace/programs/rm/main.cpp similarity index 100% rename from userspace/rm/main.cpp rename to userspace/programs/rm/main.cpp diff --git a/userspace/sleep/CMakeLists.txt b/userspace/programs/sleep/CMakeLists.txt similarity index 100% rename from userspace/sleep/CMakeLists.txt rename to userspace/programs/sleep/CMakeLists.txt diff --git a/userspace/sleep/main.cpp b/userspace/programs/sleep/main.cpp similarity index 100% rename from userspace/sleep/main.cpp rename to userspace/programs/sleep/main.cpp diff --git a/userspace/snake/CMakeLists.txt b/userspace/programs/snake/CMakeLists.txt similarity index 100% rename from userspace/snake/CMakeLists.txt rename to userspace/programs/snake/CMakeLists.txt diff --git a/userspace/snake/main.cpp b/userspace/programs/snake/main.cpp similarity index 100% rename from userspace/snake/main.cpp rename to userspace/programs/snake/main.cpp diff --git a/userspace/stat/CMakeLists.txt b/userspace/programs/stat/CMakeLists.txt similarity index 100% rename from userspace/stat/CMakeLists.txt rename to userspace/programs/stat/CMakeLists.txt diff --git a/userspace/stat/main.cpp b/userspace/programs/stat/main.cpp similarity index 100% rename from userspace/stat/main.cpp rename to userspace/programs/stat/main.cpp diff --git a/userspace/sudo/CMakeLists.txt b/userspace/programs/sudo/CMakeLists.txt similarity index 100% rename from userspace/sudo/CMakeLists.txt rename to userspace/programs/sudo/CMakeLists.txt diff --git a/userspace/sudo/main.cpp b/userspace/programs/sudo/main.cpp similarity index 100% rename from userspace/sudo/main.cpp rename to userspace/programs/sudo/main.cpp diff --git a/userspace/sync/CMakeLists.txt b/userspace/programs/sync/CMakeLists.txt similarity index 100% rename from userspace/sync/CMakeLists.txt rename to userspace/programs/sync/CMakeLists.txt diff --git a/userspace/sync/main.cpp b/userspace/programs/sync/main.cpp similarity index 100% rename from userspace/sync/main.cpp rename to userspace/programs/sync/main.cpp diff --git a/userspace/tee/CMakeLists.txt b/userspace/programs/tee/CMakeLists.txt similarity index 100% rename from userspace/tee/CMakeLists.txt rename to userspace/programs/tee/CMakeLists.txt diff --git a/userspace/tee/main.cpp b/userspace/programs/tee/main.cpp similarity index 100% rename from userspace/tee/main.cpp rename to userspace/programs/tee/main.cpp diff --git a/userspace/touch/CMakeLists.txt b/userspace/programs/touch/CMakeLists.txt similarity index 100% rename from userspace/touch/CMakeLists.txt rename to userspace/programs/touch/CMakeLists.txt diff --git a/userspace/touch/main.cpp b/userspace/programs/touch/main.cpp similarity index 100% rename from userspace/touch/main.cpp rename to userspace/programs/touch/main.cpp diff --git a/userspace/u8sum/CMakeLists.txt b/userspace/programs/u8sum/CMakeLists.txt similarity index 100% rename from userspace/u8sum/CMakeLists.txt rename to userspace/programs/u8sum/CMakeLists.txt diff --git a/userspace/u8sum/main.cpp b/userspace/programs/u8sum/main.cpp similarity index 100% rename from userspace/u8sum/main.cpp rename to userspace/programs/u8sum/main.cpp diff --git a/userspace/whoami/CMakeLists.txt b/userspace/programs/whoami/CMakeLists.txt similarity index 100% rename from userspace/whoami/CMakeLists.txt rename to userspace/programs/whoami/CMakeLists.txt diff --git a/userspace/whoami/main.cpp b/userspace/programs/whoami/main.cpp similarity index 100% rename from userspace/whoami/main.cpp rename to userspace/programs/whoami/main.cpp diff --git a/userspace/yes/CMakeLists.txt b/userspace/programs/yes/CMakeLists.txt similarity index 100% rename from userspace/yes/CMakeLists.txt rename to userspace/programs/yes/CMakeLists.txt diff --git a/userspace/yes/main.cpp b/userspace/programs/yes/main.cpp similarity index 100% rename from userspace/yes/main.cpp rename to userspace/programs/yes/main.cpp diff --git a/userspace/test/CMakeLists.txt b/userspace/test/CMakeLists.txt deleted file mode 100644 index dac58209..00000000 --- a/userspace/test/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(TEST_SOURCES - test.cpp -) - -add_executable(test ${TEST_SOURCES}) -banan_link_library(test libc) - -install(TARGETS test OPTIONAL) diff --git a/userspace/tests/CMakeLists.txt b/userspace/tests/CMakeLists.txt new file mode 100644 index 00000000..90de8334 --- /dev/null +++ b/userspace/tests/CMakeLists.txt @@ -0,0 +1,22 @@ +set(USERSPACE_TESTS + test-fork + test-framebuffer + test-globals + test-mmap-shared + test-mouse + test-popen + test-sort + test-tcp + test-udp + test-unix-socket + test-window +) + +foreach(project ${USERSPACE_TESTS}) + add_subdirectory(${project}) + add_dependencies(userspace ${project}) + # This is to allow cmake to link when libc updates + target_link_options(${project} PRIVATE -nolibc) + # Default compile options + target_compile_options(${project} PRIVATE -g -O2) +endforeach() diff --git a/userspace/tests/test-fork/CMakeLists.txt b/userspace/tests/test-fork/CMakeLists.txt new file mode 100644 index 00000000..737828ba --- /dev/null +++ b/userspace/tests/test-fork/CMakeLists.txt @@ -0,0 +1,8 @@ +set(SOURCES + main.cpp +) + +add_executable(test-fork ${SOURCES}) +banan_link_library(test-fork libc) + +install(TARGETS test-fork OPTIONAL) diff --git a/userspace/test/test.cpp b/userspace/tests/test-fork/main.cpp similarity index 100% rename from userspace/test/test.cpp rename to userspace/tests/test-fork/main.cpp diff --git a/userspace/test-framebuffer/CMakeLists.txt b/userspace/tests/test-framebuffer/CMakeLists.txt similarity index 100% rename from userspace/test-framebuffer/CMakeLists.txt rename to userspace/tests/test-framebuffer/CMakeLists.txt diff --git a/userspace/test-framebuffer/main.cpp b/userspace/tests/test-framebuffer/main.cpp similarity index 100% rename from userspace/test-framebuffer/main.cpp rename to userspace/tests/test-framebuffer/main.cpp diff --git a/userspace/test-globals/CMakeLists.txt b/userspace/tests/test-globals/CMakeLists.txt similarity index 100% rename from userspace/test-globals/CMakeLists.txt rename to userspace/tests/test-globals/CMakeLists.txt diff --git a/userspace/test-globals/main.cpp b/userspace/tests/test-globals/main.cpp similarity index 100% rename from userspace/test-globals/main.cpp rename to userspace/tests/test-globals/main.cpp diff --git a/userspace/test-mmap-shared/CMakeLists.txt b/userspace/tests/test-mmap-shared/CMakeLists.txt similarity index 100% rename from userspace/test-mmap-shared/CMakeLists.txt rename to userspace/tests/test-mmap-shared/CMakeLists.txt diff --git a/userspace/test-mmap-shared/main.cpp b/userspace/tests/test-mmap-shared/main.cpp similarity index 100% rename from userspace/test-mmap-shared/main.cpp rename to userspace/tests/test-mmap-shared/main.cpp diff --git a/userspace/test-mouse/CMakeLists.txt b/userspace/tests/test-mouse/CMakeLists.txt similarity index 100% rename from userspace/test-mouse/CMakeLists.txt rename to userspace/tests/test-mouse/CMakeLists.txt diff --git a/userspace/test-mouse/main.cpp b/userspace/tests/test-mouse/main.cpp similarity index 100% rename from userspace/test-mouse/main.cpp rename to userspace/tests/test-mouse/main.cpp diff --git a/userspace/test-popen/CMakeLists.txt b/userspace/tests/test-popen/CMakeLists.txt similarity index 100% rename from userspace/test-popen/CMakeLists.txt rename to userspace/tests/test-popen/CMakeLists.txt diff --git a/userspace/test-popen/main.cpp b/userspace/tests/test-popen/main.cpp similarity index 100% rename from userspace/test-popen/main.cpp rename to userspace/tests/test-popen/main.cpp diff --git a/userspace/test-sort/CMakeLists.txt b/userspace/tests/test-sort/CMakeLists.txt similarity index 100% rename from userspace/test-sort/CMakeLists.txt rename to userspace/tests/test-sort/CMakeLists.txt diff --git a/userspace/test-sort/main.cpp b/userspace/tests/test-sort/main.cpp similarity index 100% rename from userspace/test-sort/main.cpp rename to userspace/tests/test-sort/main.cpp diff --git a/userspace/test-tcp/CMakeLists.txt b/userspace/tests/test-tcp/CMakeLists.txt similarity index 100% rename from userspace/test-tcp/CMakeLists.txt rename to userspace/tests/test-tcp/CMakeLists.txt diff --git a/userspace/test-tcp/main.cpp b/userspace/tests/test-tcp/main.cpp similarity index 100% rename from userspace/test-tcp/main.cpp rename to userspace/tests/test-tcp/main.cpp diff --git a/userspace/test-udp/CMakeLists.txt b/userspace/tests/test-udp/CMakeLists.txt similarity index 100% rename from userspace/test-udp/CMakeLists.txt rename to userspace/tests/test-udp/CMakeLists.txt diff --git a/userspace/test-udp/main.cpp b/userspace/tests/test-udp/main.cpp similarity index 100% rename from userspace/test-udp/main.cpp rename to userspace/tests/test-udp/main.cpp diff --git a/userspace/test-unix-socket/CMakeLists.txt b/userspace/tests/test-unix-socket/CMakeLists.txt similarity index 100% rename from userspace/test-unix-socket/CMakeLists.txt rename to userspace/tests/test-unix-socket/CMakeLists.txt diff --git a/userspace/test-unix-socket/main.cpp b/userspace/tests/test-unix-socket/main.cpp similarity index 100% rename from userspace/test-unix-socket/main.cpp rename to userspace/tests/test-unix-socket/main.cpp diff --git a/userspace/test-window/CMakeLists.txt b/userspace/tests/test-window/CMakeLists.txt similarity index 100% rename from userspace/test-window/CMakeLists.txt rename to userspace/tests/test-window/CMakeLists.txt diff --git a/userspace/test-window/main.cpp b/userspace/tests/test-window/main.cpp similarity index 100% rename from userspace/test-window/main.cpp rename to userspace/tests/test-window/main.cpp