|
@@ -17,6 +17,7 @@ function(cm_check_cxx_feature name)
|
|
try_run(CMake_RUN_CXX_${FEATURE} CMake_COMPILE_CXX_${FEATURE}
|
|
try_run(CMake_RUN_CXX_${FEATURE} CMake_COMPILE_CXX_${FEATURE}
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_CURRENT_LIST_DIR}/cm_cxx_${name}.cxx
|
|
${CMAKE_CURRENT_LIST_DIR}/cm_cxx_${name}.cxx
|
|
|
|
+ LINK_LIBRARIES ${cm_check_cxx_feature_LINK_LIBRARIES}
|
|
CMAKE_FLAGS ${maybe_cxx_standard}
|
|
CMAKE_FLAGS ${maybe_cxx_standard}
|
|
OUTPUT_VARIABLE OUTPUT
|
|
OUTPUT_VARIABLE OUTPUT
|
|
)
|
|
)
|
|
@@ -29,6 +30,7 @@ function(cm_check_cxx_feature name)
|
|
try_compile(CMake_HAVE_CXX_${FEATURE}
|
|
try_compile(CMake_HAVE_CXX_${FEATURE}
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_CURRENT_LIST_DIR}/cm_cxx_${name}.cxx
|
|
${CMAKE_CURRENT_LIST_DIR}/cm_cxx_${name}.cxx
|
|
|
|
+ LINK_LIBRARIES ${cm_check_cxx_feature_LINK_LIBRARIES}
|
|
CMAKE_FLAGS ${maybe_cxx_standard}
|
|
CMAKE_FLAGS ${maybe_cxx_standard}
|
|
OUTPUT_VARIABLE OUTPUT
|
|
OUTPUT_VARIABLE OUTPUT
|
|
)
|
|
)
|
|
@@ -93,3 +95,12 @@ if (NOT CMAKE_CXX_STANDARD LESS "17")
|
|
else()
|
|
else()
|
|
set(CMake_HAVE_CXX_FILESYSTEM FALSE)
|
|
set(CMake_HAVE_CXX_FILESYSTEM FALSE)
|
|
endif()
|
|
endif()
|
|
|
|
+
|
|
|
|
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR MATCHES "armv7l|sparc")
|
|
|
|
+ cm_check_cxx_feature(atomic_builtin)
|
|
|
|
+ if(NOT CMake_HAVE_CXX_ATOMIC_BUILTIN)
|
|
|
|
+ set(cm_check_cxx_feature_LINK_LIBRARIES atomic)
|
|
|
|
+ cm_check_cxx_feature(atomic_lib) # defines CMake_HAVE_CXX_ATOMIC_LIB
|
|
|
|
+ unset(cm_check_cxx_feature_LINK_LIBRARIES)
|
|
|
|
+ endif()
|
|
|
|
+endif()
|