diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2024-09-16 14:07:41 +0000 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2024-09-17 08:58:55 +0200 |
| commit | 8f9b9cd8aac30572b7e275bbeb1b32d2cbb8950a (patch) | |
| tree | 5e215dd93c34b3d58c287b036ad2d190e0a9a772 /cmake/Platforms | |
| parent | c16a3739649fa15178df667d610553e93db83e4c (diff) | |
| download | teachos-8f9b9cd8aac30572b7e275bbeb1b32d2cbb8950a.tar.xz teachos-8f9b9cd8aac30572b7e275bbeb1b32d2cbb8950a.zip | |
build: migrate away from conan
Diffstat (limited to 'cmake/Platforms')
| -rw-r--r-- | cmake/Platforms/x86_64.cmake | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/cmake/Platforms/x86_64.cmake b/cmake/Platforms/x86_64.cmake new file mode 100644 index 0000000..291cbaa --- /dev/null +++ b/cmake/Platforms/x86_64.cmake @@ -0,0 +1,35 @@ +execute_process(COMMAND "x86_64-elf-g++" "-print-file-name=crtbegin.o" + OUTPUT_VARIABLE CRT_BEGIN + ERROR_QUIET +) +string(STRIP "${CRT_BEGIN}" CRT_BEGIN) +mark_as_advanced(CRT_BEGIN) + +string(REGEX REPLACE "/crtbegin.o" "" CMAKE_SYSROOT "${CRT_BEGIN}") +mark_as_advanced(CMAKE_SYSROOT) + +set(SYSTEM_NAME "Generic") + +set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY") + +set(CMAKE_C_COMPILER "x86_64-elf-gcc") +set(CMAKE_CXX_COMPILER "x86_64-elf-g++") + +set(CMAKE_CXX_FLAGS_INIT "-m64 -mno-red-zone -mcmodel=large -fno-exceptions -ffunction-sections -fdata-sections") +set(CMAKE_CXX_FLAGS_DEBUG "-ggdb3") +set(CMAKE_ASM_FLAGS_DEBUG "-ggdb3") +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-ggdb3") +set(CMAKE_ASM_FLAGS_RELWITHDEBINFO "-ggdb3") +set(CMAKE_EXE_LINKER_FLAGS_INIT "-nostartfiles -Wl,--gc-sections") +set(CMAKE_CXX_LINK_EXECUTABLE + "<CMAKE_CXX_COMPILER> \ + <FLAGS> \ + <CMAKE_CXX_LINK_FLAGS> \ + <LINK_FLAGS> \ + ${CMAKE_SYSROOT}/crtbegin.o \ + <OBJECTS> \ + -o <TARGET> \ + <LINK_LIBRARIES> \ + -lgcc \ + ${CMAKE_SYSROOT}/crtend.o" +)
\ No newline at end of file |
