add_library("kstd" STATIC) add_library("libs::kstd" ALIAS "kstd") set(KSTD_LIBC_SYMBOLS "abort" "strlen" "memcmp" ) target_sources("kstd" PRIVATE "src/libc/stdlib.cpp" "src/libc/string.cpp" "src/os/error.cpp" "src/mutex.cpp" ) target_sources("kstd" PUBLIC FILE_SET HEADERS BASE_DIRS "include" FILES "include/kstd/bits/format_context.hpp" "include/kstd/bits/format_specs.hpp" "include/kstd/bits/format_string.hpp" "include/kstd/bits/formatter.hpp" "include/kstd/bits/shared_ptr.hpp" "include/kstd/bits/unique_ptr.hpp" "include/kstd/ext/bitfield_enum" "include/kstd/os/error.hpp" "include/kstd/os/print.hpp" "include/kstd/asm_ptr" "include/kstd/format" "include/kstd/memory" "include/kstd/mutex" "include/kstd/stack" "include/kstd/vector" ) target_include_directories("kstd" PUBLIC "include" ) list(TRANSFORM KSTD_LIBC_SYMBOLS PREPEND "-Wl,--undefined=") target_link_options("kstd" INTERFACE ${KSTD_LIBC_SYMBOLS})