33 lines
1.3 KiB
Text
33 lines
1.3 KiB
Text
# Tag as cross-compiler for no specific system
|
|
set(CMAKE_SYSTEM_NAME Generic)
|
|
set(CMAKE_SYSTEM_PROCESSOR i686)
|
|
|
|
# Find compilers
|
|
set(CMAKE_C_COMPILER i686-elf-gcc)
|
|
set(CMAKE_CXX_COMPILER i686-elf-g++)
|
|
set(CMAKE_ASM_COMPILER nasm)
|
|
set(CMAKE_C_LINK_EXECUTABLE "i686-elf-ld <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
|
|
set(CMAKE_CXX_LINK_EXECUTABLE "i686-elf-ld <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
|
|
set(CMAKE_ASM_NASM_LINK_EXECUTABLE "i686-elf-ld <CMAKE_ASM_NASM_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
|
|
|
|
# Set language flags
|
|
set(CMAKE_C_FLAGS "-Wall -mtune=i386 -gdwarf -m32 -Os")
|
|
set(CMAKE_ASM_FLAGS "-felf32 -F dwarf -g")
|
|
set(CMAKE_ASM_NASM_OBJECT_FORMAT elf32)
|
|
set(CMAKE_STATIC_LINKER_FLAGS "")
|
|
set(CMAKE_EXE_LINKER_FLAGS "-m elf_i386 --nmagic -nostdlib")
|
|
|
|
set(OS3_OBJDUMP_EXE i686-elf-objdump)
|
|
set(OS3_OBJCOPY_EXE i686-elf-objcopy)
|
|
|
|
# Locate i686 sysroot?
|
|
set(CMAKE_FIND_ROOT_PATH $ENV{I686_CROSS_ROOT})
|
|
|
|
# adjust the default behavior of the FIND_XXX() commands:
|
|
# search programs in the host environment
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
|
|
# search headers and libraries in the target environment
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
|