You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
 | |
| if (DEFINED TARGET_TRIPLE)
 | |
|     # Ignore the minor and patchlevel versions of the darwin
 | |
|     # target.
 | |
|     string(REGEX REPLACE "darwin16\\.[0-9]\\.[0-9]" "darwin16"
 | |
|       GENERIC_TARGET_TRIPLE "${TARGET_TRIPLE}")
 | |
| endif()
 | |
| 
 | |
| # Detect if we are building in the same configuration used to generate
 | |
| # the abilist files.
 | |
| if (DEFINED GENERIC_TARGET_TRIPLE
 | |
|     AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/${GENERIC_TARGET_TRIPLE}.abilist"
 | |
|     AND TARGET cxx_shared
 | |
|     AND ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxabi" OR
 | |
|          (APPLE AND "${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "default"))
 | |
|     AND NOT LIBCXX_ABI_UNSTABLE
 | |
|     AND LIBCXX_ABI_VERSION EQUAL "1")
 | |
|     set(LIBCXX_HAS_ABILIST_CONFIGURATION 1 CACHE INTERNAL "")
 | |
| else()
 | |
|     if (NOT DEFINED LIBCXX_HAS_ABILIST_CONFIGURATION)
 | |
|         message(STATUS "libc++ configuration differs from the abilist configuration. "
 | |
|                 "check-cxx-abilist target is not supported")
 | |
|     endif()
 | |
|     set(LIBCXX_HAS_ABILIST_CONFIGURATION 0 CACHE INTERNAL "")
 | |
| endif()
 | |
| 
 | |
| 
 | |
| if (LIBCXX_HAS_ABILIST_CONFIGURATION)
 | |
|     set(ABILIST_FILE "${CMAKE_CURRENT_LIST_DIR}/${GENERIC_TARGET_TRIPLE}.abilist")
 | |
|     set(SYMDIFF_EXE "${LIBCXX_SOURCE_DIR}/utils/sym_diff.py")
 | |
|     add_custom_target(check-cxx-abilist
 | |
|             ${SYMDIFF_EXE} --only-stdlib-symbols --strict ${ABILIST_FILE}
 | |
|             $<TARGET_SONAME_FILE:cxx_shared>
 | |
|             DEPENDS cxx_shared
 | |
|             COMMENT "Testing ABI compatibility...")
 | |
| endif()
 |