Cleanup kernel/CMakeLists.txt
This commit is contained in:
parent
102eabcb4b
commit
a44e2f41fe
@ -1,8 +1,8 @@
|
|||||||
set(SOURCES
|
set(SOURCES
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
src/Framebuffer.cpp
|
src/video/Framebuffer.cpp
|
||||||
src/MemoryManager.cpp
|
src/memory/MemoryManager.cpp
|
||||||
src/Init.cpp
|
src/boot/Init.cpp
|
||||||
src/arch/Serial.cpp
|
src/arch/Serial.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -16,21 +16,14 @@ set(SOURCES
|
|||||||
)
|
)
|
||||||
endif()
|
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})
|
add_executable(moon ${SOURCES})
|
||||||
|
|
||||||
if("${ARCH}" MATCHES "x86_64")
|
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()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(moon luna-freestanding)
|
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)
|
target_compile_options(moon PRIVATE -nostdlib -mcmodel=kernel)
|
||||||
|
|
||||||
if("${ARCH}" MATCHES "x86_64")
|
if("${ARCH}" MATCHES "x86_64")
|
||||||
target_compile_options(moon PRIVATE -mno-red-zone)
|
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-80387 -mno-mmx -mno-sse -mno-sse2)
|
||||||
|
target_link_options(moon PRIVATE -mno-red-zone)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_options(moon PRIVATE -lgcc -Wl,--build-id=none -z max-page-size=0x1000 -mcmodel=kernel)
|
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)
|
set_target_properties(moon PROPERTIES CXX_STANDARD 20)
|
||||||
|
|
||||||
target_include_directories(moon PRIVATE ${CMAKE_CURRENT_LIST_DIR}/src)
|
target_include_directories(moon PRIVATE ${CMAKE_CURRENT_LIST_DIR}/src)
|
||||||
|
Loading…
Reference in New Issue
Block a user