# 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)

