summaryrefslogtreecommitdiff
path: root/cmake/CheckPrototypeDefinitionSafe.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/CheckPrototypeDefinitionSafe.cmake')
-rw-r--r--cmake/CheckPrototypeDefinitionSafe.cmake16
1 files changed, 16 insertions, 0 deletions
diff --git a/cmake/CheckPrototypeDefinitionSafe.cmake b/cmake/CheckPrototypeDefinitionSafe.cmake
new file mode 100644
index 000000000..f82603d3d
--- /dev/null
+++ b/cmake/CheckPrototypeDefinitionSafe.cmake
@@ -0,0 +1,16 @@
+include(CheckPrototypeDefinition)
+
+function(check_prototype_definition_safe function prototype return header variable)
+ # temporarily save CMAKE_C_FLAGS and disable warnings about unused
+ # unused functions and parameters, otherwise they will always fail
+ # if ENABLE_WERROR is on
+ set(SAVED_CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+
+ disable_warnings(unused-function)
+ disable_warnings(unused-parameter)
+
+ check_prototype_definition("${function}" "${prototype}" "${return}" "${header}" "${variable}")
+
+ # restore CMAKE_C_FLAGS
+ set(CMAKE_C_FLAGS "${SAVED_CMAKE_C_FLAGS}")
+endfunction()