2021-01-12 13:57:58 +03:00
|
|
|
file(GLOB CMD_SOURCES CONFIGURE_DEPENDS "*.cpp")
|
2021-06-15 16:16:32 +03:00
|
|
|
list(APPEND SPECIAL_TARGETS test install)
|
|
|
|
list(APPEND REQUIRED_TARGETS
|
2021-09-16 05:28:04 +03:00
|
|
|
arp base64 basename cat chmod chown clear comm cp cut date dd df diff dirname dmesg du echo env expr false fgrep
|
2021-10-21 23:28:38 +03:00
|
|
|
file find grep groups head host hostname id ifconfig kill killall ln logout ls mkdir mount mv nproc
|
2021-07-04 12:49:10 +03:00
|
|
|
pgrep pidof ping pmap ps readlink realpath reboot rm rmdir seq shutdown sleep sort stat stty su tail test
|
2021-07-06 07:37:16 +03:00
|
|
|
touch tr true umount uname uniq uptime w wc which whoami xargs yes less
|
2021-06-15 16:16:32 +03:00
|
|
|
)
|
|
|
|
list(APPEND RECOMMENDED_TARGETS
|
2021-11-27 19:00:49 +03:00
|
|
|
adjtime aplay abench asctl bt checksum chres cksum copy fortune gunzip gzip init keymap lsirq lsof lspci man mknod mktemp
|
2021-12-24 19:45:07 +03:00
|
|
|
nc netstat notify ntpquery open pape passwd pls printf pro shot tar tt unzip zip
|
2021-06-15 16:16:32 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
# FIXME: Support specifying component dependencies for utilities (e.g. WebSocket for telws)
|
2021-01-12 13:57:58 +03:00
|
|
|
|
|
|
|
foreach(CMD_SRC ${CMD_SOURCES})
|
|
|
|
get_filename_component(CMD_NAME ${CMD_SRC} NAME_WE)
|
|
|
|
if (CMD_NAME IN_LIST SPECIAL_TARGETS)
|
2021-06-15 16:16:32 +03:00
|
|
|
set(TARGET_NAME "${CMD_NAME}-bin")
|
|
|
|
else()
|
|
|
|
set(TARGET_NAME "${CMD_NAME}")
|
|
|
|
endif()
|
|
|
|
if(CMD_NAME IN_LIST REQUIRED_TARGETS)
|
|
|
|
serenity_component(
|
|
|
|
${CMD_NAME}
|
|
|
|
REQUIRED
|
|
|
|
TARGETS ${TARGET_NAME}
|
|
|
|
)
|
|
|
|
elseif(CMD_NAME IN_LIST RECOMMENDED_TARGETS)
|
|
|
|
serenity_component(
|
|
|
|
${CMD_NAME}
|
|
|
|
RECOMMENDED
|
|
|
|
TARGETS ${TARGET_NAME}
|
|
|
|
)
|
|
|
|
else()
|
|
|
|
serenity_component(
|
|
|
|
${CMD_NAME}
|
|
|
|
TARGETS ${TARGET_NAME}
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
if (CMD_NAME IN_LIST SPECIAL_TARGETS)
|
|
|
|
add_executable(${TARGET_NAME} ${CMD_SRC})
|
|
|
|
target_link_libraries(${TARGET_NAME} LibCore)
|
|
|
|
install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION bin)
|
2021-01-22 09:31:06 +03:00
|
|
|
install(CODE "file(RENAME ${CMAKE_INSTALL_PREFIX}/bin/${CMD_NAME}-bin ${CMAKE_INSTALL_PREFIX}/bin/${CMD_NAME})")
|
|
|
|
else()
|
2021-01-12 13:57:58 +03:00
|
|
|
add_executable(${CMD_NAME} ${CMD_SRC})
|
2021-06-15 16:16:32 +03:00
|
|
|
set_target_properties(${CMD_NAME} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
2021-01-12 13:57:58 +03:00
|
|
|
target_link_libraries(${CMD_NAME} LibCore)
|
2021-06-15 16:16:32 +03:00
|
|
|
install(TARGETS ${CMD_NAME} RUNTIME DESTINATION bin OPTIONAL)
|
2021-01-12 13:57:58 +03:00
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
|
2022-01-05 01:49:51 +03:00
|
|
|
target_link_libraries(abench LibAudio LibMain LibCore)
|
2021-11-26 00:04:13 +03:00
|
|
|
target_link_libraries(allocate LibMain)
|
2021-11-26 00:07:03 +03:00
|
|
|
target_link_libraries(aplay LibAudio LibMain)
|
2021-11-23 19:14:56 +03:00
|
|
|
target_link_libraries(arp LibMain)
|
2021-11-26 00:29:12 +03:00
|
|
|
target_link_libraries(asctl LibAudio LibMain)
|
2021-11-23 19:15:35 +03:00
|
|
|
target_link_libraries(base64 LibMain)
|
2021-11-25 23:37:57 +03:00
|
|
|
target_link_libraries(basename LibMain)
|
2022-01-09 08:16:27 +03:00
|
|
|
target_link_libraries(beep LibMain)
|
2021-11-23 19:16:42 +03:00
|
|
|
target_link_libraries(blockdev LibMain)
|
2022-01-05 01:49:51 +03:00
|
|
|
target_link_libraries(bt LibSymbolication LibMain)
|
2021-11-27 17:00:20 +03:00
|
|
|
target_link_libraries(cal LibMain)
|
2021-11-25 22:35:36 +03:00
|
|
|
target_link_libraries(cat LibMain)
|
2021-11-27 17:10:31 +03:00
|
|
|
target_link_libraries(checksum LibCrypto LibMain)
|
2021-11-27 17:24:25 +03:00
|
|
|
target_link_libraries(chgrp LibMain)
|
2022-01-05 01:49:51 +03:00
|
|
|
target_link_libraries(chmod LibMain)
|
2021-11-27 18:11:35 +03:00
|
|
|
target_link_libraries(chown LibMain)
|
2021-11-27 18:27:11 +03:00
|
|
|
target_link_libraries(chres LibGUI LibMain)
|
2021-11-27 18:51:46 +03:00
|
|
|
target_link_libraries(cksum LibCrypto LibMain)
|
2021-11-27 22:42:37 +03:00
|
|
|
target_link_libraries(clear LibMain)
|
2021-11-27 22:50:00 +03:00
|
|
|
target_link_libraries(comm LibMain)
|
2021-11-27 23:02:54 +03:00
|
|
|
target_link_libraries(config LibConfig LibMain)
|
2021-11-25 22:58:56 +03:00
|
|
|
target_link_libraries(copy LibGUI LibMain)
|
2021-11-27 00:35:16 +03:00
|
|
|
target_link_libraries(cp LibMain)
|
2022-01-05 01:54:03 +03:00
|
|
|
target_link_libraries(cpp-lexer LibCpp LibMain)
|
|
|
|
target_link_libraries(cpp-parser LibCpp LibMain)
|
|
|
|
target_link_libraries(cpp-preprocessor LibCpp LibMain)
|
2021-11-27 23:33:08 +03:00
|
|
|
target_link_libraries(cut LibMain)
|
2021-11-28 00:12:29 +03:00
|
|
|
target_link_libraries(date LibMain)
|
2021-11-28 12:24:23 +03:00
|
|
|
target_link_libraries(dd LibMain)
|
2021-12-07 22:13:13 +03:00
|
|
|
target_link_libraries(ddate LibMain)
|
2021-12-07 22:13:45 +03:00
|
|
|
target_link_libraries(df LibMain)
|
2021-12-07 22:30:37 +03:00
|
|
|
target_link_libraries(diff LibDiff LibMain)
|
2021-12-07 23:28:21 +03:00
|
|
|
target_link_libraries(dirname LibMain)
|
2022-01-13 22:54:35 +03:00
|
|
|
target_link_libraries(disasm LibX86 LibMain)
|
2021-11-23 17:44:17 +03:00
|
|
|
target_link_libraries(dmesg LibMain)
|
2021-12-18 20:59:15 +03:00
|
|
|
target_link_libraries(du LibMain)
|
2021-11-25 23:09:48 +03:00
|
|
|
target_link_libraries(echo LibMain)
|
2021-12-24 19:23:25 +03:00
|
|
|
target_link_libraries(env LibMain)
|
2021-12-21 21:08:23 +03:00
|
|
|
target_link_libraries(errno LibMain)
|
2021-12-14 12:22:35 +03:00
|
|
|
target_link_libraries(expr LibRegex LibMain)
|
2022-01-13 23:00:09 +03:00
|
|
|
target_link_libraries(false LibMain)
|
2021-12-08 00:06:38 +03:00
|
|
|
target_link_libraries(fdtdump LibDeviceTree LibMain)
|
2021-12-21 22:22:53 +03:00
|
|
|
target_link_libraries(fgrep LibMain)
|
2021-12-08 21:47:04 +03:00
|
|
|
target_link_libraries(file LibGfx LibIPC LibCompress LibMain)
|
2021-11-23 14:32:41 +03:00
|
|
|
target_link_libraries(find LibMain)
|
2021-12-13 20:45:02 +03:00
|
|
|
target_link_libraries(flock LibMain)
|
2021-11-30 00:23:27 +03:00
|
|
|
target_link_libraries(fortune LibMain)
|
2021-12-13 22:50:51 +03:00
|
|
|
target_link_libraries(functrace LibDebug LibX86 LibMain)
|
2022-01-13 23:03:08 +03:00
|
|
|
target_link_libraries(gml-format LibGUI LibMain)
|
2022-01-13 23:17:16 +03:00
|
|
|
target_link_libraries(grep LibRegex LibMain)
|
2021-12-03 01:44:49 +03:00
|
|
|
target_link_libraries(gron LibMain)
|
2021-12-03 02:31:50 +03:00
|
|
|
target_link_libraries(groups LibMain)
|
2022-01-13 23:24:28 +03:00
|
|
|
target_link_libraries(gunzip LibCompress LibMain)
|
2022-01-08 15:03:22 +03:00
|
|
|
target_link_libraries(gzip LibCompress LibMain)
|
2022-01-14 12:25:11 +03:00
|
|
|
target_link_libraries(head LibMain)
|
2022-01-13 23:37:31 +03:00
|
|
|
target_link_libraries(hexdump LibMain)
|
2021-11-22 18:03:06 +03:00
|
|
|
target_link_libraries(id LibMain)
|
2021-12-24 19:24:01 +03:00
|
|
|
target_link_libraries(ini LibMain)
|
2021-12-03 01:40:42 +03:00
|
|
|
target_link_libraries(jp LibMain)
|
2021-11-22 22:25:30 +03:00
|
|
|
target_link_libraries(js LibJS LibLine LibMain)
|
2021-12-29 21:10:12 +03:00
|
|
|
link_with_unicode_data(js)
|
2021-11-23 17:38:53 +03:00
|
|
|
target_link_libraries(keymap LibKeyboard LibMain)
|
2021-12-28 05:43:45 +03:00
|
|
|
target_link_libraries(less LibMain)
|
2022-01-06 12:48:49 +03:00
|
|
|
target_link_libraries(ln LibMain)
|
2021-11-23 18:07:18 +03:00
|
|
|
target_link_libraries(logout LibMain)
|
2021-12-03 00:42:10 +03:00
|
|
|
target_link_libraries(ls LibMain)
|
2021-11-30 00:15:01 +03:00
|
|
|
target_link_libraries(lspci LibPCIDB LibMain)
|
2021-11-23 19:17:26 +03:00
|
|
|
target_link_libraries(lsusb LibUSBDB LibMain)
|
2021-11-25 00:13:53 +03:00
|
|
|
target_link_libraries(man LibMarkdown LibMain)
|
2021-09-10 22:37:42 +03:00
|
|
|
target_link_libraries(markdown-check LibMarkdown)
|
2021-06-05 23:12:06 +03:00
|
|
|
target_link_libraries(matroska LibVideo)
|
2021-01-12 13:57:58 +03:00
|
|
|
target_link_libraries(md LibMarkdown)
|
2021-12-19 20:36:41 +03:00
|
|
|
target_link_libraries(mkdir LibMain)
|
2021-11-29 23:26:35 +03:00
|
|
|
target_link_libraries(netstat LibMain)
|
2021-01-12 13:57:58 +03:00
|
|
|
target_link_libraries(notify LibGUI)
|
2021-11-22 21:43:26 +03:00
|
|
|
target_link_libraries(nproc LibMain)
|
2021-01-12 13:57:58 +03:00
|
|
|
target_link_libraries(open LibDesktop)
|
|
|
|
target_link_libraries(pape LibGUI)
|
2021-12-11 19:23:20 +03:00
|
|
|
target_link_libraries(passwd LibCrypt LibMain)
|
2021-01-12 13:57:58 +03:00
|
|
|
target_link_libraries(paste LibGUI)
|
2021-07-04 12:49:10 +03:00
|
|
|
target_link_libraries(pgrep LibRegex)
|
2022-01-05 01:54:03 +03:00
|
|
|
target_link_libraries(pls LibCrypt LibMain)
|
2021-11-23 17:33:49 +03:00
|
|
|
target_link_libraries(pmap LibMain)
|
2021-12-24 08:04:34 +03:00
|
|
|
target_link_libraries(pmemdump LibMain)
|
2021-12-24 19:25:06 +03:00
|
|
|
target_link_libraries(pro LibMain LibProtocol)
|
2021-11-23 17:42:17 +03:00
|
|
|
target_link_libraries(ps LibMain)
|
2021-12-24 19:21:09 +03:00
|
|
|
target_link_libraries(pwd LibMain)
|
2021-06-27 23:22:25 +03:00
|
|
|
target_link_libraries(run-tests LibRegex)
|
2021-03-26 21:55:40 +03:00
|
|
|
target_link_libraries(shot LibGUI)
|
2021-06-29 04:20:15 +03:00
|
|
|
target_link_libraries(sql LibLine LibSQL LibIPC)
|
2021-12-03 01:22:51 +03:00
|
|
|
target_link_libraries(stat LibMain)
|
2021-12-25 13:07:48 +03:00
|
|
|
target_link_libraries(strace LibMain)
|
2022-01-08 19:40:54 +03:00
|
|
|
target_link_libraries(tac LibMain)
|
2021-12-16 21:34:21 +03:00
|
|
|
target_link_libraries(su LibCrypt LibMain)
|
2021-03-18 17:22:05 +03:00
|
|
|
target_link_libraries(tar LibArchive LibCompress)
|
2021-04-24 02:47:40 +03:00
|
|
|
target_link_libraries(telws LibProtocol LibLine)
|
2021-01-12 13:57:58 +03:00
|
|
|
target_link_libraries(test-crypto LibCrypto LibTLS LibLine)
|
2021-02-20 23:59:23 +03:00
|
|
|
target_link_libraries(test-fuzz LibCore LibGemini LibGfx LibHTTP LibIPC LibJS LibMarkdown LibShell)
|
2021-12-18 14:29:13 +03:00
|
|
|
target_link_libraries(test-imap LibIMAP LibMain)
|
2021-05-22 19:47:42 +03:00
|
|
|
target_link_libraries(test-pthread LibThreading)
|
2021-11-29 21:39:24 +03:00
|
|
|
target_link_libraries(top LibMain)
|
2021-12-20 21:50:13 +03:00
|
|
|
target_link_libraries(touch LibMain)
|
2021-11-23 14:27:33 +03:00
|
|
|
target_link_libraries(truncate LibMain)
|
2021-01-12 13:57:58 +03:00
|
|
|
target_link_libraries(tt LibPthread)
|
2022-01-04 05:56:58 +03:00
|
|
|
target_link_libraries(uname LibMain)
|
2022-01-04 04:59:53 +03:00
|
|
|
target_link_libraries(uniq LibMain)
|
2022-01-04 01:24:56 +03:00
|
|
|
target_link_libraries(unzip LibArchive LibCompress LibMain)
|
2022-01-02 11:49:26 +03:00
|
|
|
target_link_libraries(uptime LibMain)
|
2021-11-23 19:18:47 +03:00
|
|
|
target_link_libraries(userdel LibMain)
|
2021-11-23 19:19:26 +03:00
|
|
|
target_link_libraries(usermod LibMain)
|
2021-11-23 17:13:16 +03:00
|
|
|
target_link_libraries(utmpupdate LibMain)
|
2021-11-22 21:40:27 +03:00
|
|
|
target_link_libraries(w LibMain)
|
2022-01-08 20:41:38 +03:00
|
|
|
target_link_libraries(wasm LibMain LibWasm LibLine)
|
2022-01-05 01:49:51 +03:00
|
|
|
target_link_libraries(watch LibMain)
|
2022-01-04 08:15:52 +03:00
|
|
|
target_link_libraries(wc LibMain)
|
2022-01-04 08:03:19 +03:00
|
|
|
target_link_libraries(which LibMain)
|
2021-11-29 23:16:35 +03:00
|
|
|
target_link_libraries(whoami LibMain)
|
2022-01-04 07:17:27 +03:00
|
|
|
target_link_libraries(wsctl LibGUI LibMain)
|
2022-01-04 06:58:44 +03:00
|
|
|
target_link_libraries(xargs LibMain)
|
2022-01-04 06:04:15 +03:00
|
|
|
target_link_libraries(yes LibMain)
|
2022-01-05 01:49:51 +03:00
|
|
|
target_link_libraries(zip LibArchive LibCompress LibCrypto LibMain)
|