set(source_dirs ast compile parse parse/lex parse/syntax format runtime command line-editor) file(GLOB sources *.c *.h) foreach (d ${source_dirs}) file(GLOB d_sources ${d}/*.c ${d}/*.h) set(sources ${sources} ${d_sources}) endforeach (d) add_library(bshell.runtime SHARED ${sources}) target_link_libraries(bshell.runtime FX::Runtime FX::Collections FX::Io FX::Diagnostics) if (bshell_interactive) target_link_libraries(bshell.runtime FX::Term) endif () target_include_directories(bshell.runtime PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) target_compile_definitions(bshell.runtime PUBLIC BSHELL_VERSION="${bshell_version}" BSHELL_ENABLE_FLOATING_POINT=${bshell_enable_floating_point} BSHELL_INTERACTIVE=${bshell_interactive} BSHELL_VERBOSE=${bshell_verbose})