libcxx

libcxx mirror with random patches
git clone https://git.neptards.moe/neptards/libcxx.git
Log | Files | Refs

CMakeLists.txt (1472B)


      1 
      2 if (DEFINED TARGET_TRIPLE)
      3     if (TARGET_TRIPLE MATCHES "darwin")
      4         # Ignore the major, minor, and patchlevel versions of darwin targets.
      5         string(REGEX REPLACE "darwin[0-9]+\\.[0-9]+\\.[0-9]+" "darwin"
      6                GENERIC_TARGET_TRIPLE "${TARGET_TRIPLE}")
      7     elseif(TARGET_TRIPLE MATCHES "freebsd")
      8         # Ignore the major and minor versions of freebsd targets.
      9         string(REGEX REPLACE "freebsd[0-9]+\\.[0-9]+" "freebsd"
     10                GENERIC_TARGET_TRIPLE "${TARGET_TRIPLE}")
     11     else()
     12         set(GENERIC_TARGET_TRIPLE "${TARGET_TRIPLE}")
     13     endif()
     14 endif()
     15 
     16 # Detect if we are building in the same configuration used to generate
     17 # the abilist files.
     18 set(ABILIST_FILE "${CMAKE_CURRENT_LIST_DIR}/${GENERIC_TARGET_TRIPLE}.v${LIBCXX_ABI_VERSION}.abilist")
     19 set(SYMDIFF_EXE "${LIBCXX_SOURCE_DIR}/utils/sym_diff.py")
     20 if (EXISTS "${ABILIST_FILE}"
     21     AND TARGET cxx_shared
     22     AND ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxabi" OR
     23          (APPLE AND "${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "default"))
     24     AND NOT LIBCXX_ABI_UNSTABLE)
     25     add_custom_target(check-cxx-abilist
     26             ${SYMDIFF_EXE} --only-stdlib-symbols --strict ${ABILIST_FILE}
     27             $<TARGET_SONAME_FILE:cxx_shared>
     28             DEPENDS cxx_shared
     29             COMMENT "Testing ABI compatibility...")
     30 else()
     31     message(STATUS "there is no pre-generated ABI list for the requested libc++ configuration. "
     32             "check-cxx-abilist target is not supported")
     33 endif()