diff --git a/Userland/Utilities/CMakeLists.txt b/Userland/Utilities/CMakeLists.txt index 1d97b3983c..9d8870772e 100644 --- a/Userland/Utilities/CMakeLists.txt +++ b/Userland/Utilities/CMakeLists.txt @@ -38,18 +38,15 @@ foreach(CMD_SRC ${CMD_SOURCES}) TARGETS ${TARGET_NAME} ) endif() + + add_executable(${TARGET_NAME} ${CMD_SRC}) + target_link_libraries(${TARGET_NAME} PRIVATE LibCore LibMain) + serenity_set_implicit_links(${TARGET_NAME}) + set_target_properties(${TARGET_NAME} PROPERTIES EXCLUDE_FROM_ALL TRUE) + install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION bin OPTIONAL) + if (CMD_NAME IN_LIST SPECIAL_TARGETS) - add_executable(${TARGET_NAME} ${CMD_SRC}) - target_link_libraries(${TARGET_NAME} PRIVATE LibCore LibMain) - serenity_set_implicit_links(${TARGET_NAME}) - install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION bin) install(CODE "file(RENAME ${CMAKE_INSTALL_PREFIX}/bin/${CMD_NAME}-bin ${CMAKE_INSTALL_PREFIX}/bin/${CMD_NAME})") - else() - add_executable(${CMD_NAME} ${CMD_SRC}) - set_target_properties(${CMD_NAME} PROPERTIES EXCLUDE_FROM_ALL TRUE) - target_link_libraries(${CMD_NAME} PRIVATE LibCore) - serenity_set_implicit_links(${TARGET_NAME}) - install(TARGETS ${CMD_NAME} RUNTIME DESTINATION bin OPTIONAL) endif() endforeach() @@ -70,188 +67,61 @@ endif() install(CODE "file(CREATE_LINK grep ${CMAKE_INSTALL_PREFIX}/bin/egrep SYMBOLIC)") install(CODE "file(CREATE_LINK grep ${CMAKE_INSTALL_PREFIX}/bin/rgrep SYMBOLIC)") -target_link_libraries(abench PRIVATE LibAudio LibMain LibCore) -target_link_libraries(adjtime PRIVATE LibMain) -target_link_libraries(allocate PRIVATE LibMain) -target_link_libraries(aplay PRIVATE LibAudio LibIPC LibMain) -target_link_libraries(arp PRIVATE LibMain) -target_link_libraries(asctl PRIVATE LibAudio LibIPC LibMain) -target_link_libraries(base64 PRIVATE LibMain) -target_link_libraries(basename PRIVATE LibMain) -target_link_libraries(beep PRIVATE LibMain) -target_link_libraries(blockdev PRIVATE LibMain) -target_link_libraries(bt PRIVATE LibSymbolication LibMain) -target_link_libraries(cal PRIVATE LibMain) -target_link_libraries(cat PRIVATE LibMain) -target_link_libraries(checksum PRIVATE LibCrypto LibMain) -target_link_libraries(chgrp PRIVATE LibMain) -target_link_libraries(chmod PRIVATE LibMain) -target_link_libraries(chown PRIVATE LibMain) -target_link_libraries(chres PRIVATE LibGUI LibIPC LibMain) -target_link_libraries(cksum PRIVATE LibCrypto LibMain) -target_link_libraries(clear PRIVATE LibMain) -target_link_libraries(cmp PRIVATE LibMain) -target_link_libraries(comm PRIVATE LibMain) -target_link_libraries(config PRIVATE LibConfig LibIPC LibMain) -target_link_libraries(copy PRIVATE LibGUI LibMain) -target_link_libraries(cp PRIVATE LibMain) -target_link_libraries(cpp-lexer PRIVATE LibCpp LibMain) -target_link_libraries(cpp-parser PRIVATE LibCpp LibMain) -target_link_libraries(cpp-preprocessor PRIVATE LibCpp LibMain) -target_link_libraries(cut PRIVATE LibMain) -target_link_libraries(date PRIVATE LibMain) -target_link_libraries(dd PRIVATE LibMain) -target_link_libraries(df PRIVATE LibMain) -target_link_libraries(diff PRIVATE LibDiff LibMain) -target_link_libraries(dirname PRIVATE LibMain) -target_link_libraries(disasm PRIVATE LibX86 LibMain) -target_link_libraries(disk_benchmark PRIVATE LibMain) -target_link_libraries(dmesg PRIVATE LibMain) -target_link_libraries(du PRIVATE LibMain) -target_link_libraries(echo PRIVATE LibMain) -target_link_libraries(env PRIVATE LibMain) -target_link_libraries(errno PRIVATE LibMain) -target_link_libraries(expr PRIVATE LibRegex LibMain) -target_link_libraries(false PRIVATE LibMain) -target_link_libraries(fdtdump PRIVATE LibDeviceTree LibMain) -target_link_libraries(fgrep PRIVATE LibMain) -target_link_libraries(file PRIVATE LibGfx LibIPC LibCompress LibMain) -target_link_libraries(find PRIVATE LibMain) -target_link_libraries(flock PRIVATE LibMain) -target_link_libraries(fortune PRIVATE LibMain) -target_link_libraries(functrace PRIVATE LibDebug LibX86 LibMain) -target_link_libraries(gml-format PRIVATE LibGUI LibMain) -target_link_libraries(grep PRIVATE LibRegex LibMain) -target_link_libraries(gron PRIVATE LibMain) -target_link_libraries(groupadd PRIVATE LibMain) -target_link_libraries(groupdel PRIVATE LibMain) -target_link_libraries(groups PRIVATE LibMain) -target_link_libraries(gunzip PRIVATE LibCompress LibMain) -target_link_libraries(gzip PRIVATE LibCompress LibMain) -target_link_libraries(head PRIVATE LibMain) -target_link_libraries(headless-browser PRIVATE LibCore LibCrypto LibGemini LibGfx LibHTTP LibTLS LibWeb LibWebSocket LibMain) -target_link_libraries(hexdump PRIVATE LibMain) -target_link_libraries(host PRIVATE LibMain) -target_link_libraries(hostname PRIVATE LibMain) -target_link_libraries(id PRIVATE LibMain) -target_link_libraries(ifconfig PRIVATE LibMain) -target_link_libraries(ini PRIVATE LibMain) -target_link_libraries(install-bin PRIVATE LibMain) -target_link_libraries(js PRIVATE LibCrypto LibJS LibLine LibLocale LibMain LibTextCodec) +target_link_libraries(abench PRIVATE LibAudio) +target_link_libraries(aplay PRIVATE LibAudio LibIPC) +target_link_libraries(asctl PRIVATE LibAudio LibIPC) +target_link_libraries(bt PRIVATE LibSymbolication) +target_link_libraries(checksum PRIVATE LibCrypto) +target_link_libraries(chres PRIVATE LibGUI LibIPC) +target_link_libraries(cksum PRIVATE LibCrypto) +target_link_libraries(config PRIVATE LibConfig LibIPC) +target_link_libraries(copy PRIVATE LibGUI) +target_link_libraries(cpp-lexer PRIVATE LibCpp) +target_link_libraries(cpp-parser PRIVATE LibCpp) +target_link_libraries(cpp-preprocessor PRIVATE LibCpp) +target_link_libraries(diff PRIVATE LibDiff) +target_link_libraries(disasm PRIVATE LibX86) +target_link_libraries(expr PRIVATE LibRegex) +target_link_libraries(fdtdump PRIVATE LibDeviceTree) +target_link_libraries(file PRIVATE LibGfx LibIPC LibCompress) +target_link_libraries(functrace PRIVATE LibDebug LibX86) +target_link_libraries(gml-format PRIVATE LibGUI) +target_link_libraries(grep PRIVATE LibRegex) +target_link_libraries(gunzip PRIVATE LibCompress) +target_link_libraries(gzip PRIVATE LibCompress) +target_link_libraries(headless-browser PRIVATE LibCrypto LibGemini LibGfx LibHTTP LibTLS LibWeb LibWebSocket) +target_link_libraries(js PRIVATE LibCrypto LibJS LibLine LibLocale LibTextCodec) link_with_locale_data(js) -target_link_libraries(json PRIVATE LibMain) -target_link_libraries(kcov-example PRIVATE LibMain) -target_link_libraries(keymap PRIVATE LibKeyboard LibMain) -target_link_libraries(kill PRIVATE LibMain) -target_link_libraries(killall PRIVATE LibCore LibMain) -target_link_libraries(less PRIVATE LibMain) -target_link_libraries(ln PRIVATE LibMain) -target_link_libraries(logout PRIVATE LibMain) -target_link_libraries(ls PRIVATE LibMain) -target_link_libraries(lscpu PRIVATE LibMain) -target_link_libraries(lsirq PRIVATE LibMain) -target_link_libraries(lsof PRIVATE LibMain) -target_link_libraries(lsblk PRIVATE LibMain) -target_link_libraries(lspci PRIVATE LibPCIDB LibMain) -target_link_libraries(lsusb PRIVATE LibUSBDB LibMain) -target_link_libraries(man PRIVATE LibMarkdown LibMain) -target_link_libraries(markdown-check PRIVATE LibMarkdown LibMain) -target_link_libraries(matroska PRIVATE LibMain LibVideo) -target_link_libraries(md PRIVATE LibMarkdown LibMain) -target_link_libraries(mkdir PRIVATE LibMain) -target_link_libraries(mkfifo PRIVATE LibMain) -target_link_libraries(mknod PRIVATE LibMain) -target_link_libraries(mktemp PRIVATE LibMain) -target_link_libraries(mv PRIVATE LibMain) -target_link_libraries(mount PRIVATE LibMain) -target_link_libraries(nc PRIVATE LibMain) -target_link_libraries(netstat PRIVATE LibMain) -target_link_libraries(nl PRIVATE LibMain) -target_link_libraries(nologin PRIVATE LibMain) -target_link_libraries(notify PRIVATE LibGfx LibGUI LibMain) -target_link_libraries(nproc PRIVATE LibMain) -target_link_libraries(ntpquery PRIVATE LibMain) -target_link_libraries(open PRIVATE LibDesktop LibMain) -target_link_libraries(passwd PRIVATE LibCrypt LibMain) -target_link_libraries(paste PRIVATE LibGUI LibCore LibMain) -target_link_libraries(pathchk PRIVATE LibMain) -target_link_libraries(pgrep PRIVATE LibRegex LibMain) -target_link_libraries(pidof PRIVATE LibMain) -target_link_libraries(ping PRIVATE LibMain) -target_link_libraries(pkill PRIVATE LibRegex LibMain) -target_link_libraries(pledge PRIVATE LibMain) -target_link_libraries(pls PRIVATE LibCrypt LibMain) -target_link_libraries(pmap PRIVATE LibMain) -target_link_libraries(pmemdump PRIVATE LibMain) -target_link_libraries(printf PRIVATE LibMain) -target_link_libraries(pro PRIVATE LibMain LibProtocol) -target_link_libraries(profile PRIVATE LibMain) -target_link_libraries(ps PRIVATE LibMain) -target_link_libraries(purge PRIVATE LibMain) -target_link_libraries(pwd PRIVATE LibMain) -target_link_libraries(readelf PRIVATE LibMain) -target_link_libraries(readlink PRIVATE LibMain) -target_link_libraries(realpath PRIVATE LibMain) -target_link_libraries(reboot PRIVATE LibMain) -target_link_libraries(rev PRIVATE LibMain) -target_link_libraries(rm PRIVATE LibMain) -target_link_libraries(rmdir PRIVATE LibMain) -target_link_libraries(route PRIVATE LibMain) -target_link_libraries(run-tests PRIVATE LibRegex LibCoredump LibDebug LibMain) -target_link_libraries(seq PRIVATE LibMain) -target_link_libraries(shot PRIVATE LibGfx LibGUI LibIPC LibMain) -target_link_libraries(shuf PRIVATE LibMain) -target_link_libraries(shutdown PRIVATE LibMain) -target_link_libraries(sleep PRIVATE LibMain) -target_link_libraries(sort PRIVATE LibMain) -target_link_libraries(sql PRIVATE LibLine LibMain LibSQL LibIPC) -target_link_libraries(stat PRIVATE LibMain) -target_link_libraries(strace PRIVATE LibMain) -target_link_libraries(stty PRIVATE LibMain) -target_link_libraries(su PRIVATE LibCrypt LibMain) -target_link_libraries(sync PRIVATE LibMain) -target_link_libraries(syscall PRIVATE LibMain LibSystem) -target_link_libraries(sysctl PRIVATE LibMain) -target_link_libraries(tac PRIVATE LibMain) -target_link_libraries(tail PRIVATE LibMain) -target_link_libraries(tar PRIVATE LibMain LibArchive LibCompress) -target_link_libraries(tee PRIVATE LibMain) -target_link_libraries(telws PRIVATE LibProtocol LibLine LibMain) -target_link_libraries(test-bindtodevice PRIVATE LibMain) -target_link_libraries(test-fuzz PRIVATE LibCore LibGemini LibGfx LibHTTP LibIPC LibJS LibMarkdown LibRegex LibShell LibMain) -target_link_libraries(test-imap PRIVATE LibIMAP LibMain) -target_link_libraries(test-pthread PRIVATE LibThreading LibMain) -target_link_libraries(test-unveil PRIVATE LibMain) -target_link_libraries(test_env PRIVATE LibMain) -target_link_libraries(timezone PRIVATE LibMain) -target_link_libraries(top PRIVATE LibMain) -target_link_libraries(touch PRIVATE LibMain) -target_link_libraries(tr PRIVATE LibMain) -target_link_libraries(traceroute PRIVATE LibMain) -target_link_libraries(tree PRIVATE LibMain) -target_link_libraries(true PRIVATE LibMain) -target_link_libraries(truncate PRIVATE LibMain) -target_link_libraries(tt PRIVATE LibMain) -target_link_libraries(tty PRIVATE LibMain) -target_link_libraries(umount PRIVATE LibMain) -target_link_libraries(uname PRIVATE LibMain) -target_link_libraries(uniq PRIVATE LibMain) -target_link_libraries(unzip PRIVATE LibArchive LibCompress LibMain) -target_link_libraries(update-cpp-test-results PRIVATE LibCpp LibCore LibMain) -target_link_libraries(uptime PRIVATE LibMain) -target_link_libraries(useradd PRIVATE LibCrypt LibMain) -target_link_libraries(userdel PRIVATE LibMain) -target_link_libraries(usermod PRIVATE LibMain) -target_link_libraries(utmpupdate PRIVATE LibMain) -target_link_libraries(w PRIVATE LibMain) -target_link_libraries(wallpaper PRIVATE LibGfx LibGUI LibMain) -target_link_libraries(wasm PRIVATE LibMain LibWasm LibLine) -target_link_libraries(watch PRIVATE LibMain) -target_link_libraries(wc PRIVATE LibMain) -target_link_libraries(which PRIVATE LibMain) -target_link_libraries(whoami PRIVATE LibMain) -target_link_libraries(wsctl PRIVATE LibGUI LibIPC LibMain) -target_link_libraries(xargs PRIVATE LibMain) -target_link_libraries(xml PRIVATE LibMain LibXML) -target_link_libraries(yes PRIVATE LibMain) -target_link_libraries(zip PRIVATE LibArchive LibCompress LibCrypto LibMain) +target_link_libraries(keymap PRIVATE LibKeyboard) +target_link_libraries(lspci PRIVATE LibPCIDB) +target_link_libraries(lsusb PRIVATE LibUSBDB) +target_link_libraries(man PRIVATE LibMarkdown) +target_link_libraries(markdown-check PRIVATE LibMarkdown) +target_link_libraries(matroska PRIVATE LibVideo) +target_link_libraries(md PRIVATE LibMarkdown) +target_link_libraries(notify PRIVATE LibGfx LibGUI) +target_link_libraries(open PRIVATE LibDesktop) +target_link_libraries(passwd PRIVATE LibCrypt) +target_link_libraries(paste PRIVATE LibGUI) +target_link_libraries(pgrep PRIVATE LibRegex) +target_link_libraries(pkill PRIVATE LibRegex) +target_link_libraries(pls PRIVATE LibCrypt) +target_link_libraries(pro PRIVATE LibProtocol) +target_link_libraries(run-tests PRIVATE LibRegex LibCoredump LibDebug) +target_link_libraries(shot PRIVATE LibGfx LibGUI LibIPC) +target_link_libraries(sql PRIVATE LibLine LibSQL LibIPC) +target_link_libraries(su PRIVATE LibCrypt) +target_link_libraries(syscall PRIVATE LibSystem) +target_link_libraries(tar PRIVATE LibArchive LibCompress) +target_link_libraries(telws PRIVATE LibProtocol LibLine) +target_link_libraries(test-fuzz PRIVATE LibGemini LibGfx LibHTTP LibIPC LibJS LibMarkdown LibRegex LibShell) +target_link_libraries(test-imap PRIVATE LibIMAP) +target_link_libraries(test-pthread PRIVATE LibThreading) +target_link_libraries(unzip PRIVATE LibArchive LibCompress) +target_link_libraries(update-cpp-test-results PRIVATE LibCpp) +target_link_libraries(useradd PRIVATE LibCrypt) +target_link_libraries(wallpaper PRIVATE LibGfx LibGUI) +target_link_libraries(wasm PRIVATE LibWasm LibLine) +target_link_libraries(wsctl PRIVATE LibGUI LibIPC) +target_link_libraries(xml PRIVATE LibXML) +target_link_libraries(zip PRIVATE LibArchive LibCompress LibCrypto)