Commit 6f4f9054 authored by Ben Boeckel's avatar Ben Boeckel Committed by Brad King

FindPkgConfig: set correctly named variables in cache (#15903)

The fix in commit v3.5.0-rc1~27^2 (FindPkgConfig: set standard variables
in the cache, 2016-01-20) added the wrong variable name to the cache.
The test was only testing that the cache variable existed, not that it
also had the correct value.  Update the test to ensure that the cache
value matches the local variable value.

Reported-by: Bernd Lörwald
parent b369959e
...@@ -383,7 +383,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma ...@@ -383,7 +383,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
pkg_get_variable("${_pkg_check_prefix}_INCLUDEDIR" ${_pkg_check_modules_pkg} "includedir") pkg_get_variable("${_pkg_check_prefix}_INCLUDEDIR" ${_pkg_check_modules_pkg} "includedir")
pkg_get_variable("${_pkg_check_prefix}_LIBDIR" ${_pkg_check_modules_pkg} "libdir") pkg_get_variable("${_pkg_check_prefix}_LIBDIR" ${_pkg_check_modules_pkg} "libdir")
foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR) foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR)
_pkgconfig_set("${_pkg_check_modules_pkg}_${variable}" "${${_pkg_check_modules_pkg}_${variable}}") _pkgconfig_set("${_pkg_check_prefix}_${variable}" "${${_pkg_check_prefix}_${variable}}")
endforeach () endforeach ()
if (NOT ${_is_silent}) if (NOT ${_is_silent})
......
cmake_minimum_required(VERSION 3.3)
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
pkg_check_modules(NCURSES QUIET ncurses) pkg_check_modules(NCURSES QUIET ncurses)
if (NCURSES_FOUND) if (NCURSES_FOUND)
foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR) foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR)
get_property("${variable}" get_property(value
CACHE "NCURSES_${variable}" CACHE "NCURSES_${variable}"
PROPERTY TYPE PROPERTY VALUE)
SET) if (NOT value STREQUAL NCURSES_${variable})
if (NOT ${variable}) message(FATAL_ERROR "Failed to set cache entry for NCURSES_${variable}:\nexpected -->${value}<--\nreceived -->${NCURSES_${variable}}<--")
message(FATAL_ERROR "Failed to set cache entry for NCURSES_${variable}")
endif () endif ()
endforeach () endforeach ()
else () else ()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment