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-rtti -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_SYSROOT}/crtbegin.o \ \ -o \ \ -lgcc \ ${CMAKE_SYSROOT}/crtend.o" )