1set(RELOCATED_HOST_DIR $ENV{AIQ_BUILD_HOST_DIR}) 2set(TOOLCHAIN_TRIPLE $ENV{AIQ_BUILD_TOOLCHAIN_TRIPLE}) 3set(TOOLCHAIN_SYSROOT $ENV{AIQ_BUILD_SYSROOT}) 4set(TOOLCHAIN_ARCH $ENV{AIQ_BUILD_ARCH}) 5 6list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) 7 8set(CMAKE_SYSTEM_NAME Linux) 9if (TOOLCHAIN_ARCH STREQUAL "arm") 10set(CMAKE_SYSTEM_PROCESSOR armv7l) 11elseif(TOOLCHAIN_ARCH STREQUAL "aarch64") 12set(CMAKE_SYSTEM_PROCESSOR aarch64) 13endif() 14 15set(CMAKE_SKIP_RPATH TRUE) 16 17set(CMAKE_C_FLAGS_DEBUG "" CACHE STRING "Debug CFLAGS") 18set(CMAKE_CXX_FLAGS_DEBUG "" CACHE STRING "Debug CXXFLAGS") 19set(CMAKE_C_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CFLAGS") 20set(CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CXXFLAGS") 21 22set(CMAKE_C_FLAGS "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CACHE STRING "Default CFLAGS") 23set(CMAKE_CXX_FLAGS "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CACHE STRING "Default CXXFLAGS") 24set(CMAKE_EXE_LINKER_FLAGS "" CACHE STRING "Default LDFLAGS for executables") 25 26set(CMAKE_INSTALL_SO_NO_EXE 0) 27 28set(CMAKE_PROGRAM_PATH "${RELOCATED_HOST_DIR}/bin") 29set(CMAKE_SYSROOT "${RELOCATED_HOST_DIR}/${TOOLCHAIN_TRIPLE}/${TOOLCHAIN_SYSROOT}") 30set(CMAKE_FIND_ROOT_PATH "${RELOCATED_HOST_DIR}/${TOOLCHAIN_TRIPLE}/${TOOLCHAIN_SYSROOT}") 31set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 32set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) 33set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 34set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 35set(ENV{PKG_CONFIG_SYSROOT_DIR} "${RELOCATED_HOST_DIR}/${TOOLCHAIN_TRIPLE}/${TOOLCHAIN_SYSROOT}") 36 37set(TOOLCHAIN_PREFIX ${TOOLCHAIN_TRIPLE}-) 38 39set(CMAKE_C_FLAGS_INIT " -B${RELOCATED_HOST_DIR}/${TOOLCHAIN_TRIPLE}/bin") 40set(CMAKE_CXX_FLAGS_INIT " -B${RELOCATED_HOST_DIR}/${TOOLCHAIN_TRIPLE}/bin/ ") 41 42set(gcc_toolchain "${RELOCATED_HOST_DIR}") 43set(triple ${TOOLCHAIN_TRIPLE}) 44set(CMAKE_ASM_COMPILER clang) 45set(CMAKE_ASM_COMPILER_TARGET ${triple}) 46set(CMAKE_C_COMPILER clang) 47set(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN ${gcc_toolchain}) 48set(CMAKE_C_COMPILER_TARGET ${triple}) 49set(CMAKE_CXX_COMPILER clang++) 50set(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN ${gcc_toolchain}) 51set(CMAKE_CXX_COMPILER_TARGET ${triple}) 52 53set(CMAKE_SHARED_LINKER_FLAGS "-fuse-ld=lld" CACHE INTERNAL "library linker flags") 54set(CMAKE_EXE_LINKER_FLAGS "-fuse-ld=lld" CACHE INTERNAL "exectuable linker flags") 55set(CMAKE_OBJCOPY "llvm-objcopy" CACHE INTERNAL "objcopy tool") 56set(CMAKE_SIZE_UTIL "llvm-size" CACHE INTERNAL "size tool") 57set(CMAKE_NM "llvm-nm" CACHE INTERNAL "nm tool") 58set(CMAKE_RANLIB "llvm-ranlib" CACHE INTERNAL "ranlib tool") 59set(CMAKE_AR "llvm-ar" CACHE INTERNAL "ar tool") 60