summaryrefslogtreecommitdiff
path: root/Userland/CMakeLists.txt
blob: ee3ad79be7c0212d5e3b8e7494e7ff4abb8c1ec3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
file(GLOB CMD_SOURCES "*.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 "execute_process(COMMAND mv ${CMD_NAME}-bin ${CMD_NAME} WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin)")
    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(copy LibGUI)
target_link_libraries(disasm LibX86)
target_link_libraries(functrace LibDebug LibX86)
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(notify LibGUI)
target_link_libraries(open LibDesktop)
target_link_libraries(pape LibGUI)
target_link_libraries(paste LibGUI)
target_link_libraries(pro LibProtocol)
target_link_libraries(test-crypto LibCrypto LibTLS LibLine)
target_link_libraries(test-js LibJS LibLine LibCore)
target_link_libraries(tt LibPthread)