Skip to content
  • Stephen Kelly's avatar
    Add compiler target compile options. · 76552d59
    Stephen Kelly authored and Brad King's avatar Brad King committed
    For clang, this allows passing -target <triple> to the compiler, and
    for qcc, -V<arch> using toolchain files containing something like
    
     set(triple arm-linux-gnueabihf)
     set(CMAKE_C_COMPILER "/usr/bin/clang")
     set(CMAKE_C_COMPILER_TARGET ${triple})
     set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
     set(CMAKE_CXX_COMPILER_TARGET ${triple})
    
    or
    
     set(arch gcc_ntoarmv7le)
     set(CMAKE_C_COMPILER /opt/qnx650/host/linux/x86/usr/bin/qcc)
     set(CMAKE_C_COMPILER_TARGET ${arch})
     set(CMAKE_CXX_COMPILER /opt/qnx650/host/linux/x86/usr/bin/QCC)
     set(CMAKE_CXX_COMPILER_TARGET ${arch})
    
    Both clang and qcc are inherently cross compiler( driver)s.
    
    When cross-compiling with clang, use the CMAKE_${lang}_COMPILER_TARGET
    as the _CMAKE_TOOLCHAIN_PREFIX to find the appropriate binutils.
    
    When cross-compiling with QNX qcc, use the CMAKE_${lang}_COMPILER_TARGET
    to set the appropriate _CMAKE_TOOLCHAIN_PREFIX.
    76552d59