serenity/Userland/BuggieBox/CMakeLists.txt
Liav A. 1e73a584a7 Userland: Move basic system init functionality out of SystemServer
Let's make SystemServer simpler by not involving it with the basic
system initialization sequence.
That initialization sequence can be done in another program that
theoretically can be put in another filesystem.

Co-authored-by: Tim Schumacher <timschumi@gmx.de>
2024-06-30 00:20:45 +02:00

53 lines
1.5 KiB
CMake

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/init.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 LibArchive LibCompress LibCore LibCrypto LibELF LibFileSystem LibGfx LibLine LibRegex LibAudio LibURL)
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")