Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@jwinarske
Last active December 21, 2018 23:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jwinarske/9d0c89ce297a09fa303c0e943f82d780 to your computer and use it in GitHub Desktop.
Save jwinarske/9d0c89ce297a09fa303c0e943f82d780 to your computer and use it in GitHub Desktop.
libcxxabi ExternalProject_Add
ExternalProject_Add(libcxxabi
DOWNLOAD_COMMAND ""
BUILD_IN_SOURCE 0
UPDATE_COMMAND ""
CONFIGURE_COMMAND ${CMAKE_COMMAND} ${LLVM_SRC_DIR}/projects/libcxxabi
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_BINARY_DIR}/toolchain.cmake
-DCMAKE_INSTALL_PREFIX=${TOOLCHAIN_DIR}
-DCMAKE_BUILD_TYPE=MinSizeRel
-DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE}
-DLLVM_CONFIG_PATH=${TOOLCHAIN_DIR}/bin/llvm-config
-DLIBCXXABI_SYSROOT=${TARGET_SYSROOT}
-DLIBCXXABI_TARGET_TRIPLE=${TARGET_TRIPLE}
-DLIBCXXABI_USE_COMPILER_RT=${BUILD_COMPILER_RT} # bypass gcc_s
)
add_dependencies(libcxxabi clang binutils)
if(BUILD_COMPILER_RT)
add_dependencies(libcxxabi compiler-rt)
endif()
toolchain.cmake.in
SET(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR @TARGET_ARCH@)
#compiler
SET(CMAKE_C_COMPILER @TOOLCHAIN_DIR@/bin/clang)
SET(CMAKE_CXX_COMPILER @TOOLCHAIN_DIR@/bin/clang++)
# sysroot
SET(CMAKE_SYSROOT @TARGET_SYSROOT@)
SET(CMAKE_FIND_ROOT_PATH @TARGET_SYSROOT@)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
# compiler flags
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -v -static -fuse-ld=gold")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment