if(DEFINED ENV{DEVKITPRO}) set(DEVKITPRO $ENV{DEVKITPRO}) else() message(FATAL_ERROR "Could not find DEVKITPRO in environment") endif() if(ENV{DEVKITARM) set(DEVKITARM $ENV{DEVKITARM}) else() set(DEVKITARM ${DEVKITPRO}/devkitARM) endif() set(toolchain_bin_dir ${DEVKITARM}/bin) set(cross_prefix ${toolchain_bin_dir}/arm-none-eabi-) set(inc_flags -I${DEVKITPRO}/libctru/include) set(arch_flags "-march=armv6k -mtune=mpcore -mfpu=vfp -mfloat-abi=softfp") set(link_flags "-L${DEVKITPRO}/libctru/lib -lctru -lm -specs=3dsx.specs ${arch_flags}") set(CMAKE_SYSTEM_NAME Generic CACHE INTERNAL "system name") set(CMAKE_SYSTEM_PROCESSOR arm CACHE INTERNAL "processor") set(CMAKE_LIBRARY_ARCHITECTURE arm-none-eabi CACHE INTERNAL "abi") set(CMAKE_AR ${cross_prefix}ar CACHE INTERNAL "archiver") set(CMAKE_C_COMPILER ${cross_prefix}gcc CACHE INTERNAL "c compiler") set(CMAKE_CXX_COMPILER ${cross_prefix}g++ CACHE INTERNAL "cxx compiler") set(CMAKE_ASM_COMPILER ${cross_prefix}gcc CACHE INTERNAL "assembler") set(common_flags "${arch_flags} -mword-relocations ${inc_flags}") set(CMAKE_C_FLAGS ${common_flags} CACHE INTERNAL "c compiler flags") set(CMAKE_ASM_FLAGS ${common_flags} CACHE INTERNAL "c compiler flags") set(CMAKE_CXX_FLAGS ${common_flags} CACHE INTERNAL "cxx compiler flags") set(CMAKE_LINKER ${cross_prefix}ld CACHE INTERNAL "linker") set(CMAKE_EXE_LINKER_FLAGS ${link_flags} CACHE INTERNAL "exe link flags") set(CMAKE_MODULE_LINKER_FLAGS ${link_flags} CACHE INTERNAL "module link flags") set(CMAKE_SHARED_LINKER_FLAGS ${link_flags} CACHE INTERNAL "shared link flags") set(3DSXTOOL ${toolchain_bin_dir}/3dsxtool) set(3DS ON) add_definitions(-D_3DS -DARM11)