38 lines
880 B
CMake
38 lines
880 B
CMake
set(source_dirs
|
|
ast compile parse parse/lex parse/syntax
|
|
runtime format command cmdlets aliases)
|
|
|
|
if (bshell_interactive EQUAL 1)
|
|
message(STATUS "Interactive support: Enabled")
|
|
set(source_dirs ${source_dirs} line-ed)
|
|
else ()
|
|
message(STATUS "Interactive support: Disabled")
|
|
endif ()
|
|
|
|
file(GLOB bshell_sources
|
|
*.c
|
|
*.h)
|
|
|
|
foreach (d ${source_dirs})
|
|
file(GLOB sources
|
|
${d}/*.c
|
|
${d}/*.h)
|
|
set(bshell_sources ${bshell_sources} ${sources})
|
|
endforeach (d)
|
|
|
|
add_executable(bshell ${bshell_sources})
|
|
|
|
target_link_libraries(bshell
|
|
bshell.core bshell.runtime
|
|
FX::Runtime FX::Collections)
|
|
|
|
if (bshell_interactive)
|
|
target_link_libraries(bshell FX::Term)
|
|
endif ()
|
|
|
|
target_compile_definitions(bshell PUBLIC
|
|
BSHELL_VERSION="${bshell_version}"
|
|
BSHELL_ENABLE_FLOATING_POINT=${bshell_enable_floating_point}
|
|
BSHELL_INTERACTIVE=${bshell_interactive}
|
|
BSHELL_VERBOSE=${bshell_verbose})
|