blob: 9e727cfb0deb02e3965ae1ab03a7f1c73b187ea2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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"
)
|