diff options
author | Ben Boeckel <ben.boeckel@kitware.com> | 2016-01-20 19:38:05 (GMT) |
---|---|---|
committer | Ben Boeckel <ben.boeckel@kitware.com> | 2016-01-21 15:38:30 (GMT) |
commit | 40249bccdf9c66453433da3608da9cc89cbee675 (patch) | |
tree | e5388af73d141307be4132dc301942652322ab00 | |
parent | d8bced813cdd0c3eb7c2e3e150f513da04ded513 (diff) | |
download | CMake-40249bccdf9c66453433da3608da9cc89cbee675.zip CMake-40249bccdf9c66453433da3608da9cc89cbee675.tar.gz CMake-40249bccdf9c66453433da3608da9cc89cbee675.tar.bz2 |
FindPkgConfig: set standard variables in the cache
Fixes a regression introduced when the code was simplified to use the
variable queries.
Fixes #15903.
Reported-by: Bernd Lörwald
-rw-r--r-- | Modules/FindPkgConfig.cmake | 3 | ||||
-rw-r--r-- | Tests/RunCMake/FindPkgConfig/FindPkgConfig_cache_variables.cmake | 16 | ||||
-rw-r--r-- | Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake | 1 |
3 files changed, 20 insertions, 0 deletions
diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake index 177e7b8..4f50e38 100644 --- a/Modules/FindPkgConfig.cmake +++ b/Modules/FindPkgConfig.cmake @@ -382,6 +382,9 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma pkg_get_variable("${_pkg_check_prefix}_PREFIX" ${_pkg_check_modules_pkg} "prefix") pkg_get_variable("${_pkg_check_prefix}_INCLUDEDIR" ${_pkg_check_modules_pkg} "includedir") pkg_get_variable("${_pkg_check_prefix}_LIBDIR" ${_pkg_check_modules_pkg} "libdir") + foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR) + _pkgconfig_set("${_pkg_check_modules_pkg}_${variable}" "${${_pkg_check_modules_pkg}_${variable}}") + endforeach () if (NOT ${_is_silent}) message(STATUS " Found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}") diff --git a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_cache_variables.cmake b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_cache_variables.cmake new file mode 100644 index 0000000..8d8d000 --- /dev/null +++ b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_cache_variables.cmake @@ -0,0 +1,16 @@ +find_package(PkgConfig REQUIRED) +pkg_check_modules(NCURSES QUIET ncurses) + +if (NCURSES_FOUND) + foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR) + get_property("${variable}" + CACHE "NCURSES_${variable}" + PROPERTY TYPE + SET) + if (NOT ${variable}) + message(FATAL_ERROR "Failed to set cache entry for NCURSES_${variable}") + endif () + endforeach () +else () + message(STATUS "skipping test; ncurses not found") +endif () diff --git a/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake b/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake index bb04aa2..24089e0 100644 --- a/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake +++ b/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake @@ -14,4 +14,5 @@ endif() find_package(PkgConfig) if (PKG_CONFIG_FOUND) run_cmake(FindPkgConfig_GET_VARIABLE) + run_cmake(FindPkgConfig_cache_variables) endif () |