# The C++ standard library for OS operations (userspace only), so most things that have to do with calling the kernel, or functions that the kernel has no use for. file(GLOB HEADERS include/os/*.h) set(SOURCES ${HEADERS} src/ArgumentParser.cpp src/File.cpp src/FileSystem.cpp src/Process.cpp src/Directory.cpp src/Main.cpp src/Path.cpp src/Mode.cpp src/Prompt.cpp src/Security.cpp src/LocalServer.cpp ) add_library(os ${SOURCES}) target_compile_options(os PRIVATE ${COMMON_FLAGS}) target_include_directories(os PUBLIC include/) target_include_directories(os PUBLIC ${LUNA_BASE}/usr/include) if("${LUNA_ARCH}" MATCHES "x86_64") target_compile_definitions(os PUBLIC ARCH_X86_64) endif() add_custom_command( TARGET os COMMAND "${CMAKE_COMMAND}" -E copy ${CMAKE_CURRENT_BINARY_DIR}/libos.a ${LUNA_BASE}/usr/lib/libos.a )