diff options
author | Suren A. Chilingaryan <csa@suren.me> | 2019-11-17 10:46:03 +0100 |
---|---|---|
committer | Suren A. Chilingaryan <csa@suren.me> | 2019-11-17 10:46:03 +0100 |
commit | 23f22348c5281fff685c1fa89255e7e1e76266a4 (patch) | |
tree | fb05ad7fb39357ff8785068b3a1512101d685f41 /common/cmake/PkgConfigVars.cmake | |
parent | 3d93df54d024f49895db6277e873dccd10b5baec (diff) | |
download | ufo-roof-temp-23f22348c5281fff685c1fa89255e7e1e76266a4.tar.gz ufo-roof-temp-23f22348c5281fff685c1fa89255e7e1e76266a4.tar.bz2 ufo-roof-temp-23f22348c5281fff685c1fa89255e7e1e76266a4.tar.xz ufo-roof-temp-23f22348c5281fff685c1fa89255e7e1e76266a4.zip |
cmake build and gcc warnings
Diffstat (limited to 'common/cmake/PkgConfigVars.cmake')
-rw-r--r-- | common/cmake/PkgConfigVars.cmake | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/common/cmake/PkgConfigVars.cmake b/common/cmake/PkgConfigVars.cmake new file mode 100644 index 0000000..f295457 --- /dev/null +++ b/common/cmake/PkgConfigVars.cmake @@ -0,0 +1,30 @@ +# - determine variables defined in pkg-config files +# +# Usage: +# pkg_check_variable(<PKG_NAME> <VARIABLE_NAME>) +# +# Checks for a variable in the given package and translates to a call such as +# `pkg-config --variable=<VARIABLE_NAME> <PKG_NAME>`. The output is a cached +# variable named +# +# <PKG_NAME>_<VARIABLE_NAME> +# +# Note that both names are uppercased and any dashes replaced by underscores. +# + +find_package(PkgConfig REQUIRED) + +function(pkg_check_variable _pkg _name) + string(TOUPPER ${_pkg} _pkg_upper) + string(TOUPPER ${_name} _name_upper) + string(REPLACE "-" "_" _pkg_upper ${_pkg_upper}) + string(REPLACE "-" "_" _name_upper ${_name_upper}) + set(_output_name "${_pkg_upper}_${_name_upper}") + + execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${_name} ${_pkg} + OUTPUT_VARIABLE _pkg_result + OUTPUT_STRIP_TRAILING_WHITESPACE) + + set("${_output_name}" "${_pkg_result}" CACHE STRING "pkg-config variable + ${_name} of ${_pkg}") +endfunction() |