zephyr/cmake/toolchain/xtools/generic.cmake
Daniel Leung 336d3d3adc xtools: exclude "sources" when searching xtools output dir
When using xtools as toolchain, cmake searches the toolchain home
directory. However, if the first toolchain directory does not
begin with any character before "s", "sources" (if exists) would
become the first directory being probed. Since it does not
conform to "arch-vendor-abi" naming, cmake would fail.
So exclude "sources" from the list to avoid this issue.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2019-02-26 02:28:38 +01:00

26 lines
1.1 KiB
CMake

set_ifndef(XTOOLS_TOOLCHAIN_PATH "$ENV{XTOOLS_TOOLCHAIN_PATH}")
set( XTOOLS_TOOLCHAIN_PATH ${XTOOLS_TOOLCHAIN_PATH} CACHE PATH "")
assert( XTOOLS_TOOLCHAIN_PATH "XTOOLS_TOOLCHAIN_PATH is not set")
set(TOOLCHAIN_HOME ${XTOOLS_TOOLCHAIN_PATH})
set(COMPILER gcc)
# Choose one of the toolchains in 'TOOLCHAIN_HOME' at random to use as
# a 'generic' toolchain until we know for sure which toolchain we
# should use. Note that we can't use ARCH to distingush between
# toolchains because choosing between iamcu and non-iamcu is dependent
# on Kconfig, not ARCH.
file(GLOB toolchain_paths ${TOOLCHAIN_HOME}/*)
list(REMOVE_ITEM toolchain_paths ${TOOLCHAIN_HOME}/sources)
list(GET toolchain_paths 0 some_toolchain_path)
get_filename_component(some_toolchain "${some_toolchain_path}" NAME)
set(CROSS_COMPILE_TARGET ${some_toolchain})
set(SYSROOT_TARGET ${CROSS_COMPILE_TARGET})
set(CROSS_COMPILE ${TOOLCHAIN_HOME}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-)
set(SYSROOT_DIR ${TOOLCHAIN_HOME}/${SYSROOT_TARGET}/${SYSROOT_TARGET})
set(TOOLCHAIN_HAS_NEWLIB ON CACHE BOOL "True if toolchain supports newlib")