blob: c31150c1924180e7e8850a1fe0a51d43b5c4e3c5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
execute_process(COMMAND "x86_64-elf-g++" "-mno-red-zone" "-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"
)
|