diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2023-10-07 12:24:15 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2023-10-07 12:24:15 +0200 |
| commit | 60f8108324dcc3859640799168fb33ea865cf815 (patch) | |
| tree | b8c137a386cd15d42c7c2d0cd4a94e9b378b3ed9 /source/cmake | |
| parent | 84f03c4870af20c9edf16343f968f3b920c04a02 (diff) | |
| download | teachos-60f8108324dcc3859640799168fb33ea865cf815.tar.xz teachos-60f8108324dcc3859640799168fb33ea865cf815.zip | |
cmake: move modules to source
Diffstat (limited to 'source/cmake')
| -rw-r--r-- | source/cmake/Platforms/x86_64.cmake | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source/cmake/Platforms/x86_64.cmake b/source/cmake/Platforms/x86_64.cmake new file mode 100644 index 0000000..9e727cf --- /dev/null +++ b/source/cmake/Platforms/x86_64.cmake @@ -0,0 +1,23 @@ +execute_process(COMMAND "x86_64-none-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(CMAKE_CXX_FLAGS_INIT "-m64 -mno-red-zone -mcmodel=large") +set(CMAKE_EXE_LINKER_FLAGS_INIT "-nostartfiles") +set(CMAKE_CXX_LINK_EXECUTABLE + "<CMAKE_CXX_COMPILER> \ + <FLAGS> \ + <CMAKE_CXX_LINK_FLAGS> \ + <LINK_FLAGS> \ + ${CMAKE_SYSROOT}/crtbegin.o \ + <OBJECTS> \ + -o <TARGET> \ + <LINK_LIBRARIES> \ + ${CMAKE_SYSROOT}/crtend.o" +) |
