38 lines
983 B
CMake
38 lines
983 B
CMake
# 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/EventLoop.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
|
|
src/LocalClient.cpp
|
|
src/IPC.cpp
|
|
src/SharedMemory.cpp
|
|
src/Timer.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
|
|
)
|