# 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 -o ") set(CMAKE_CXX_LINK_EXECUTABLE "i686-elf-ld -o ") set(CMAKE_ASM_NASM_LINK_EXECUTABLE "i686-elf-ld -o ") # 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)