summaryrefslogtreecommitdiff
path: root/Userland/BuggieBox/CMakeLists.txt
diff options
context:
space:
mode:
authorLiav A <liavalb@gmail.com>2022-09-27 05:53:51 +0300
committerAndrew Kaster <andrewdkaster@gmail.com>2022-11-26 12:41:47 -0700
commit35efdb17f9c3856d1c241d9f63619a4d1174a509 (patch)
treedbc3f80ca939044b36933714261ba7414b857618 /Userland/BuggieBox/CMakeLists.txt
parentbc0d56fa747e95218c4258ead8a52cd0cd3df16d (diff)
downloadserenity-35efdb17f9c3856d1c241d9f63619a4d1174a509.zip
Userland: Add the BuggieBox program
This will be our alternative to what is known as BusyBox for Linux distributions. Co-Authored-By: Tim Schumacher <timschumi@gmx.de>
Diffstat (limited to 'Userland/BuggieBox/CMakeLists.txt')
-rw-r--r--Userland/BuggieBox/CMakeLists.txt51
1 files changed, 51 insertions, 0 deletions
diff --git a/Userland/BuggieBox/CMakeLists.txt b/Userland/BuggieBox/CMakeLists.txt
new file mode 100644
index 0000000000..200daa5142
--- /dev/null
+++ b/Userland/BuggieBox/CMakeLists.txt
@@ -0,0 +1,51 @@
+serenity_component(
+ BuggieBox
+ REQUIRED
+ TARGETS BuggieBox
+)
+
+function (buggiebox_utility src)
+ get_filename_component(utility ${src} NAME_WE)
+ target_sources(BuggieBox PRIVATE ${src})
+ set_source_files_properties(${src} PROPERTIES COMPILE_DEFINITIONS "serenity_main=${utility}_main")
+endfunction()
+
+set(utility_srcs
+ ../Utilities/cat.cpp
+ ../Utilities/checksum.cpp
+ ../Utilities/chmod.cpp
+ ../Utilities/chown.cpp
+ ../Utilities/cp.cpp
+ ../Utilities/df.cpp
+ ../Utilities/env.cpp
+ ../Utilities/file.cpp
+ ../Utilities/find.cpp
+ ../Utilities/id.cpp
+ ../Utilities/less.cpp
+ ../Utilities/ln.cpp
+ ../Utilities/ls.cpp
+ ../Utilities/lsblk.cpp
+ ../Utilities/mkdir.cpp
+ ../Utilities/mknod.cpp
+ ../Utilities/mount.cpp
+ ../Utilities/mv.cpp
+ ../Utilities/ps.cpp
+ ../Utilities/rm.cpp
+ ../Utilities/rmdir.cpp
+ ../Utilities/tail.cpp
+ ../Utilities/tree.cpp
+ ../Utilities/umount.cpp
+ ../Utilities/uname.cpp
+ ../Utilities/uniq.cpp
+)
+
+serenity_bin(BuggieBox)
+target_sources(BuggieBox PRIVATE main.cpp)
+target_link_libraries(BuggieBox PRIVATE LibMain LibShell LibCompress LibCore LibCrypto LibGfx LibLine LibRegex)
+
+foreach(file IN LISTS utility_srcs)
+ buggiebox_utility(${file})
+endforeach()
+
+target_sources(BuggieBox PRIVATE ../Shell/main.cpp)
+set_source_files_properties( ../Shell/main.cpp PROPERTIES COMPILE_DEFINITIONS "serenity_main=sh_main")