cmake: include CheckOBJCSourceCompiles for cmake >= 3.16 c.f. bugs #5011 and #3912
diff --git a/cmake/macros.cmake b/cmake/macros.cmake
index 84cb4c6..914c30f 100644
--- a/cmake/macros.cmake
+++ b/cmake/macros.cmake
@@ -92,12 +92,16 @@ macro(LISTTOSTRREV _LIST _OUTPUT)
endforeach()
endmacro()
-macro(CHECK_OBJC_SOURCE_COMPILES SOURCE VAR)
- set(PREV_REQUIRED_DEFS "${CMAKE_REQUIRED_DEFINITIONS}")
- set(CMAKE_REQUIRED_DEFINITIONS "-x objective-c ${PREV_REQUIRED_DEFS}")
- CHECK_C_SOURCE_COMPILES(${SOURCE} ${VAR})
- set(CMAKE_REQUIRED_DEFINITIONS "${PREV_REQUIRED_DEFS}")
-endmacro()
+if(${CMAKE_VERSION} VERSION_LESS "3.16.0")
+ macro(CHECK_OBJC_SOURCE_COMPILES SOURCE VAR)
+ set(PREV_REQUIRED_DEFS "${CMAKE_REQUIRED_DEFINITIONS}")
+ set(CMAKE_REQUIRED_DEFINITIONS "-x objective-c ${PREV_REQUIRED_DEFS}")
+ CHECK_C_SOURCE_COMPILES(${SOURCE} ${VAR})
+ set(CMAKE_REQUIRED_DEFINITIONS "${PREV_REQUIRED_DEFS}")
+ endmacro()
+else()
+ include(CheckOBJCSourceCompiles)
+endif()
if(CMAKE_VERSION VERSION_LESS 3.13.0)
macro(target_link_directories _TARGET _SCOPE)