diff options
author | Brad King <brad.king@kitware.com> | 2017-01-26 15:40:42 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2017-01-26 15:40:42 (GMT) |
commit | 4ab35eb661f92686cc3ed3a1b52f7c2ef49bf8a1 (patch) | |
tree | 8dafc6b8a3eb4b2dd02f9a34453a538c78a47dfd | |
parent | 09cad3090415fbe59474232675e8124c8332116a (diff) | |
parent | 796dea67a68be432f98e2fef50059c93106557a2 (diff) | |
download | CMake-4ab35eb661f92686cc3ed3a1b52f7c2ef49bf8a1.zip CMake-4ab35eb661f92686cc3ed3a1b52f7c2ef49bf8a1.tar.gz CMake-4ab35eb661f92686cc3ed3a1b52f7c2ef49bf8a1.tar.bz2 |
Merge topic 'pkg-config-recheck'
796dea67 FindPkgConfig: Recheck pkg-config on parameter change.
-rw-r--r-- | Help/release/dev/pkg-config-recheck.rst | 7 | ||||
-rw-r--r-- | Modules/FindPkgConfig.cmake | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/Help/release/dev/pkg-config-recheck.rst b/Help/release/dev/pkg-config-recheck.rst new file mode 100644 index 0000000..950c3c8 --- /dev/null +++ b/Help/release/dev/pkg-config-recheck.rst @@ -0,0 +1,7 @@ +pkg-config-recheck +------------------ + +* Calls to the :module:`FindPkgConfig` module :command:`pkg_check_modules` + command following a successful call learned to re-evaluate the cached values + for a given prefix after changes to the parameters to the command for that + prefix. diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake index 8b7131b..1958f4b 100644 --- a/Modules/FindPkgConfig.cmake +++ b/Modules/FindPkgConfig.cmake @@ -585,10 +585,13 @@ endmacro() macro(pkg_check_modules _prefix _module0) _pkgconfig_parse_options(_pkg_modules _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target "${_module0}" ${ARGN}) # check cached value - if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND) + if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND OR NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0};${ARGN}") _pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} "${_prefix}" ${_pkg_modules}) _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) + if (${_prefix}_FOUND) + _pkgconfig_set(__pkg_config_arguments_${_prefix} "${_module0};${ARGN}") + endif() elseif (${_prefix}_FOUND AND ${_imp_target}) _pkg_create_imp_target("${_prefix}" _no_cmake_path _no_cmake_environment_path) endif() |