apio
6cee208e62
All checks were successful
continuous-integration/drone/push Build is passing
For real this time, turns out me, being dumb, added it to Luna instead of the kernel.
52 lines
2.4 KiB
CMake
52 lines
2.4 KiB
CMake
# The miscellaneous library shared between the Luna kernel and userspace, with stuff such as custom types, common routines and data structures.
|
|
|
|
set(FREESTANDING_SOURCES
|
|
src/Format.cpp
|
|
src/NumberParsing.cpp
|
|
src/String.cpp
|
|
src/Units.cpp
|
|
src/SystemError.cpp
|
|
src/Bitmap.cpp
|
|
src/Stack.cpp
|
|
src/Alloc.cpp
|
|
)
|
|
|
|
set(SOURCES
|
|
${FREESTANDING_SOURCES}
|
|
src/Check.cpp
|
|
)
|
|
|
|
add_library(luna-freestanding ${FREESTANDING_SOURCES})
|
|
target_compile_definitions(luna-freestanding PRIVATE USE_FREESTANDING)
|
|
target_compile_options(luna-freestanding PRIVATE -Wall -Wextra -Werror -Wvla)
|
|
target_compile_options(luna-freestanding PRIVATE -Wdisabled-optimization -Wformat=2 -Winit-self -Wsign-conversion)
|
|
target_compile_options(luna-freestanding PRIVATE -Wmissing-include-dirs -Wswitch-default -Wcast-qual -Wundef)
|
|
target_compile_options(luna-freestanding PRIVATE -Wcast-align -Wwrite-strings -Wlogical-op -Wredundant-decls -Wshadow -Wconversion)
|
|
target_compile_options(luna-freestanding PRIVATE -fno-rtti -ffreestanding -fno-exceptions)
|
|
target_compile_options(luna-freestanding PRIVATE -fno-asynchronous-unwind-tables -fno-omit-frame-pointer)
|
|
target_compile_options(luna-freestanding PRIVATE -nostdlib -mcmodel=kernel)
|
|
|
|
target_include_directories(luna-freestanding PUBLIC include/)
|
|
set_target_properties(luna-freestanding PROPERTIES CXX_STANDARD 20)
|
|
|
|
#add_library(luna ${SOURCES})
|
|
#target_compile_options(luna PRIVATE -Wall -Wextra -Werror -Wvla)
|
|
#target_compile_options(luna PRIVATE -Wdisabled-optimization -Wformat=2 -Winit-self)
|
|
#target_compile_options(luna PRIVATE -Wmissing-include-dirs -Wswitch-default -Wcast-qual -Wundef)
|
|
#target_compile_options(luna PRIVATE -Wcast-align -Wwrite-strings -Wlogical-op -Wredundant-decls -Wshadow -Wconversion)
|
|
#target_compile_options(luna PRIVATE -fno-asynchronous-unwind-tables -fno-omit-frame-pointer)
|
|
#target_include_directories(luna PUBLIC include/)
|
|
#set_target_properties(luna PROPERTIES CXX_STANDARD 20)
|
|
|
|
if("${ARCH}" MATCHES "x86_64")
|
|
target_compile_options(luna-freestanding PRIVATE -mno-red-zone)
|
|
target_compile_options(luna-freestanding PRIVATE -mno-80387 -mno-mmx -mno-sse -mno-sse2)
|
|
target_compile_definitions(luna-freestanding PUBLIC ARCH_X86_64)
|
|
#target_compile_definitions(luna PUBLIC ARCH_X86_64)
|
|
endif()
|
|
|
|
if(LUNA_DEBUG_SYMBOLS)
|
|
message(STATUS "Building Luna with debug symbols")
|
|
#target_compile_options(luna PRIVATE -ggdb)
|
|
target_compile_options(luna-freestanding PRIVATE -ggdb)
|
|
endif() |