summaryrefslogtreecommitdiff
path: root/Userland/Shell/CMakeLists.txt
blob: e805a5c3cca0eeafa3d2750c8daad54995b3e6ff (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
37
38
39
serenity_component(
    Shell
    REQUIRED
    TARGETS Shell
)

set(SOURCES
    AST.cpp
    Builtin.cpp
    Formatter.cpp
    ImmediateFunctions.cpp
    Job.cpp
    NodeVisitor.cpp
    Parser.cpp
    Shell.cpp
)

serenity_lib(LibShell shell)
target_link_libraries(LibShell PRIVATE LibCore LibLine LibSyntax LibRegex)

if (SERENITYOS)
    target_sources(LibShell PRIVATE SyntaxHighlighter.cpp)
    target_link_libraries(LibShell PRIVATE LibCodeComprehension)
endif()

if (ENABLE_FUZZERS)
    add_custom_target(Shell) # Stub target to placate serenity_component
else()
    set(SOURCES main.cpp)

    serenity_bin(Shell)
    target_link_libraries(Shell PRIVATE LibCore LibLine LibShell LibMain)

    install(DIRECTORY Tests/ DESTINATION usr/Tests/Shell
            PATTERN "Tests/*"
            PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
            GROUP_EXECUTE GROUP_READ
            WORLD_EXECUTE WORLD_READ)
endif()