Cleanup kernel/CMakeLists.txt

This commit is contained in:
apio 2022-11-19 17:59:39 +01:00
parent 102eabcb4b
commit a44e2f41fe

View File

@ -1,8 +1,8 @@
set(SOURCES
src/main.cpp
src/Framebuffer.cpp
src/MemoryManager.cpp
src/Init.cpp
src/video/Framebuffer.cpp
src/memory/MemoryManager.cpp
src/boot/Init.cpp
src/arch/Serial.cpp
)
@ -16,21 +16,14 @@ set(SOURCES
)
endif()
set(ASM_SOURCES)
if("${ARCH}" MATCHES "x86_64")
set(ASM_SOURCES
${ASM_SOURCES}
src/arch/x86_64/CPU.asm
)
add_library(moon-asm STATIC ${ASM_SOURCES})
endif()
add_executable(moon ${SOURCES})
if("${ARCH}" MATCHES "x86_64")
target_link_libraries(moon moon-asm)
set(ASM_SOURCES
src/arch/x86_64/CPU.asm
)
add_library(moon-asm STATIC ${ASM_SOURCES})
target_link_libraries(moon moon-asm)
endif()
target_link_libraries(moon luna-freestanding)
@ -48,16 +41,13 @@ target_compile_options(moon PRIVATE -fno-asynchronous-unwind-tables -fno-omit-fr
target_compile_options(moon PRIVATE -nostdlib -mcmodel=kernel)
if("${ARCH}" MATCHES "x86_64")
target_compile_options(moon PRIVATE -mno-red-zone)
target_compile_options(moon PRIVATE -mno-80387 -mno-mmx -mno-sse -mno-sse2)
target_compile_options(moon PRIVATE -mno-red-zone)
target_compile_options(moon PRIVATE -mno-80387 -mno-mmx -mno-sse -mno-sse2)
target_link_options(moon PRIVATE -mno-red-zone)
endif()
target_link_options(moon PRIVATE -lgcc -Wl,--build-id=none -z max-page-size=0x1000 -mcmodel=kernel)
if("${ARCH}" MATCHES "x86_64")
target_link_options(moon PRIVATE -mno-red-zone)
endif()
set_target_properties(moon PROPERTIES CXX_STANDARD 20)
target_include_directories(moon PRIVATE ${CMAKE_CURRENT_LIST_DIR}/src)