From f20cd1e4876fe5277f42e54561690495cb24d417 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sun, 18 Jun 2006 18:58:23 +0000 Subject: -macro_push_required_vars() and macro_pop_required_vars() for guarding cmake's check_something_exists() macros Alex svn path=/trunk/KDE/kdelibs/; revision=552675 --- modules/MacroLibrary.cmake | 1 + modules/MacroPushRequiredVars.cmake | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 modules/MacroPushRequiredVars.cmake diff --git a/modules/MacroLibrary.cmake b/modules/MacroLibrary.cmake index ce741f7b..c4006c27 100644 --- a/modules/MacroLibrary.cmake +++ b/modules/MacroLibrary.cmake @@ -6,3 +6,4 @@ INCLUDE(MacroAdditionalCleanFiles) INCLUDE(MacroAddFileDependencies) INCLUDE(MacroEnsureOutOfSourceBuild) INCLUDE(MacroBoolTo01) +INCLUDE(MacroPushRequiredVars) diff --git a/modules/MacroPushRequiredVars.cmake b/modules/MacroPushRequiredVars.cmake new file mode 100644 index 00000000..34ff0e9f --- /dev/null +++ b/modules/MacroPushRequiredVars.cmake @@ -0,0 +1,28 @@ +# this module defines two macros: +# MACRO_PUSH_REQUIRED_VARS() +# and +# MACRO_POP_REQUIRED_VARS() +# use these if you call cmake macros which use +# any of the CMAKE_REQUIRED_XXX variables +# +# Usage: +# MACRO_PUSH_REQUIRED_VARS() +# SET(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} -DSOME_MORE_DEF) +# CHECK_FUNCTION_EXISTS(...) +# MACRO_POP_REQUIRED_VARS() +# + +MACRO(MACRO_PUSH_REQUIRED_VARS) + SET(_CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES}) + SET(_CMAKE_REQUIRED_DEFINITIONS_SAVE ${CMAKE_REQUIRED_DEFINITIONS}) + SET(_CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES}) + SET(_CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS}) +ENDMACRO(MACRO_PUSH_REQUIRED_VARS) + +MACRO(MACRO_POP_REQUIRED_VARS) + SET(CMAKE_REQUIRED_INCLUDES ${_CMAKE_REQUIRED_INCLUDES_SAVE}) + SET(CMAKE_REQUIRED_DEFINITIONS ${_CMAKE_REQUIRED_DEFINITIONS_SAVE}) + SET(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_SAVE}) + SET(CMAKE_REQUIRED_FLAGS ${_CMAKE_REQUIRED_FLAGS_SAVE}) +ENDMACRO(MACRO_POP_REQUIRED_VARS) + -- cgit v1.2.1