diff options
author | Alexander Neundorf <neundorf@kde.org> | 2006-06-18 18:58:23 +0000 |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2006-06-18 18:58:23 +0000 |
commit | f20cd1e4876fe5277f42e54561690495cb24d417 (patch) | |
tree | 6cf87bd03d1b03e708205be51fb0c59d9c9e3898 | |
parent | d1502894bdccc2e40ea81aadede9040899c514bb (diff) | |
download | extra-cmake-modules-f20cd1e4876fe5277f42e54561690495cb24d417.tar.gz extra-cmake-modules-f20cd1e4876fe5277f42e54561690495cb24d417.tar.bz2 |
-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
-rw-r--r-- | modules/MacroLibrary.cmake | 1 | ||||
-rw-r--r-- | modules/MacroPushRequiredVars.cmake | 28 |
2 files changed, 29 insertions, 0 deletions
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) + |