Index: CMakeLists.txt =================================================================== --- CMakeLists.txt +++ CMakeLists.txt @@ -111,6 +111,8 @@ option(LIBCXXABI_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF) option(LIBCXXABI_USE_LLVM_UNWINDER "Build and use the LLVM unwinder." OFF) option(LIBCXXABI_ENABLE_THREADS "Build with threads enabled" ON) +set(LIBCXXABI_GCC_TOOLCHAIN "" CACHE STRING "GCC toolchain for cross compiling.") +set(LIBCXXABI_SYSROOT "" CACHE STRING "Sysroot for cross compiling.") # Default to building a shared library so that the default options still test # the libc++abi that is being built. There are two problems with testing a @@ -245,6 +247,11 @@ add_definitions(-D_CRT_SECURE_NO_WARNINGS) endif() +list(APPEND LIBCXXABI_COMPILE_FLAGS "-target ${LIBCXXABI_TARGET_TRIPLE}") +append_if(LIBCXXABI_COMPILE_FLAGS LIBCXXABI_GCC_TOOLCHAIN + "-gcc-toolchain ${LIBCXXABI_GCC_TOOLCHAIN}") +append_if(LIBCXXABI_COMPILE_FLAGS LIBCXXABI_SYSROOT + "--sysroot ${LIBCXXABI_SYSROOT}") string(REPLACE ";" " " LIBCXXABI_CXX_FLAGS "${LIBCXXABI_CXX_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LIBCXXABI_CXX_FLAGS}")