xref: /aosp_15_r20/external/pytorch/cmake/CheckAbi.cmake (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1if(DEFINED GLIBCXX_USE_CXX11_ABI)
2  message(STATUS "_GLIBCXX_USE_CXX11_ABI=${GLIBCXX_USE_CXX11_ABI} is already defined as a cmake variable")
3  return()
4endif()
5
6# XXX This ABI check cannot be run with arm-linux-androideabi-g++
7message(STATUS "${CMAKE_CXX_COMPILER} ${PROJECT_SOURCE_DIR}/torch/abi-check.cpp -o ${CMAKE_BINARY_DIR}/abi-check")
8execute_process(
9  COMMAND
10  "${CMAKE_CXX_COMPILER}"
11  "${PROJECT_SOURCE_DIR}/torch/abi-check.cpp"
12  "-o"
13  "${CMAKE_BINARY_DIR}/abi-check"
14  RESULT_VARIABLE ABI_CHECK_COMPILE_RESULT)
15if(ABI_CHECK_COMPILE_RESULT)
16  message(FATAL_ERROR "Could not compile ABI Check: ${ABI_CHECK_COMPILE_RESULT}")
17  set(GLIBCXX_USE_CXX11_ABI 0)
18endif()
19execute_process(
20  COMMAND "${CMAKE_BINARY_DIR}/abi-check"
21  RESULT_VARIABLE ABI_CHECK_RESULT
22  OUTPUT_VARIABLE GLIBCXX_USE_CXX11_ABI)
23if(ABI_CHECK_RESULT)
24  message(WARNING "Could not run ABI Check: ${ABI_CHECK_RESULT}")
25  set(GLIBCXX_USE_CXX11_ABI 0)
26endif()
27message(STATUS "Determined _GLIBCXX_USE_CXX11_ABI=${GLIBCXX_USE_CXX11_ABI}")
28