1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-23 03:27:40 +00:00
serenity/Userland/Utilities/CMakeLists.txt
Itamar bed3261723 LibCpp: Start working on a C preprocessor
We currently handle basic #define statements as well as ifdef and else
branches.
2021-02-08 23:10:38 +01:00

52 lines
2.1 KiB
CMake

file(GLOB CMD_SOURCES CONFIGURE_DEPENDS "*.cpp")
list(APPEND SPECIAL_TARGETS "test" "install")
foreach(CMD_SRC ${CMD_SOURCES})
get_filename_component(CMD_NAME ${CMD_SRC} NAME_WE)
if (CMD_NAME IN_LIST SPECIAL_TARGETS)
add_executable("${CMD_NAME}-bin" ${CMD_SRC})
target_link_libraries("${CMD_NAME}-bin" LibCore)
install(TARGETS "${CMD_NAME}-bin" 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})
target_link_libraries(${CMD_NAME} LibCore)
install(TARGETS ${CMD_NAME} RUNTIME DESTINATION bin)
endif()
endforeach()
target_link_libraries(aplay LibAudio)
target_link_libraries(avol LibAudio)
target_link_libraries(bt LibSymbolClient)
target_link_libraries(checksum LibCrypto)
target_link_libraries(chres LibGUI)
target_link_libraries(copy LibGUI)
target_link_libraries(disasm LibX86)
target_link_libraries(expr LibRegex)
target_link_libraries(functrace LibDebug LibX86)
target_link_libraries(gml-format LibGUI)
target_link_libraries(html LibWeb)
target_link_libraries(js LibJS LibLine)
target_link_libraries(keymap LibKeyboard)
target_link_libraries(lspci LibPCIDB)
target_link_libraries(man LibMarkdown)
target_link_libraries(md LibMarkdown)
target_link_libraries(misbehaving-application LibCore)
target_link_libraries(notify LibGUI)
target_link_libraries(open LibDesktop)
target_link_libraries(pape LibGUI)
target_link_libraries(passwd LibCrypt)
target_link_libraries(paste LibGUI)
target_link_libraries(pro LibProtocol)
target_link_libraries(su LibCrypt)
target_link_libraries(tar LibTar LibCompress)
target_link_libraries(test-crypto LibCrypto LibTLS LibLine)
target_link_libraries(test-compress LibCompress)
target_link_libraries(test-js LibJS LibLine LibCore)
target_link_libraries(test-pthread LibThread)
target_link_libraries(test-web LibWeb)
target_link_libraries(tt LibPthread)
target_link_libraries(grep LibRegex)
target_link_libraries(gunzip LibCompress)
target_link_libraries(CppParserTest LibCpp LibGUI)
target_link_libraries(PreprocessorTest LibCpp LibGUI)