ladybird/Userland/Shell/CMakeLists.txt
Ali Mohammad Pur 2a276c86d4 Shell: Start implementing a POSIX-compliant parser
The parser is still very much a work-in-progress, but it can currently
parse most of the basic bits, the only *completely* unimplemented things
in the parser are:
- heredocs (io_here)
- alias expansion
- arithmetic expansion

There are a whole suite of bugs, and syntax highlighting is unreliable
at best.
For now, this is not attached anywhere, a future commit will enable it
for /bin/sh or a `Shell --posix` invocation.
2023-02-13 23:00:15 +03:30

41 lines
963 B
CMake

serenity_component(
Shell
REQUIRED
TARGETS Shell
)
set(SOURCES
AST.cpp
Builtin.cpp
Formatter.cpp
ImmediateFunctions.cpp
Job.cpp
NodeVisitor.cpp
Parser.cpp
PosixLexer.cpp
PosixParser.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()