|
@@ -923,11 +923,20 @@ endmacro()
|
|
|
|
|
|
|
|
.. code-block:: cmake
|
|
.. code-block:: cmake
|
|
|
|
|
|
|
|
- pkg_get_variable(<resultVar> <moduleName> <varName>)
|
|
|
|
|
|
|
+ pkg_get_variable(<resultVar> <moduleName> <varName>
|
|
|
|
|
+ [DEFINE_VARIABLES <key>=<value>...])
|
|
|
|
|
|
|
|
If ``pkg-config`` returns multiple values for the specified variable,
|
|
If ``pkg-config`` returns multiple values for the specified variable,
|
|
|
``resultVar`` will contain a :ref:`;-list <CMake Language Lists>`.
|
|
``resultVar`` will contain a :ref:`;-list <CMake Language Lists>`.
|
|
|
|
|
|
|
|
|
|
+ Options:
|
|
|
|
|
+
|
|
|
|
|
+ ``DEFINE_VARIABLES <key>=<value>...``
|
|
|
|
|
+ .. versionadded:: 3.28
|
|
|
|
|
+
|
|
|
|
|
+ Specify key-value pairs to redefine variables affecting the variable
|
|
|
|
|
+ retrieved with ``pkg-config``.
|
|
|
|
|
+
|
|
|
For example:
|
|
For example:
|
|
|
|
|
|
|
|
.. code-block:: cmake
|
|
.. code-block:: cmake
|
|
@@ -935,8 +944,20 @@ endmacro()
|
|
|
pkg_get_variable(GI_GIRDIR gobject-introspection-1.0 girdir)
|
|
pkg_get_variable(GI_GIRDIR gobject-introspection-1.0 girdir)
|
|
|
#]========================================]
|
|
#]========================================]
|
|
|
function (pkg_get_variable result pkg variable)
|
|
function (pkg_get_variable result pkg variable)
|
|
|
|
|
+ set(_multiValueArgs DEFINE_VARIABLES)
|
|
|
|
|
+
|
|
|
|
|
+ CMAKE_PARSE_ARGUMENTS(_parsedArguments "" "" "${_multiValueArgs}" ${ARGN})
|
|
|
|
|
+ set(defined_variables )
|
|
|
|
|
+ foreach(_def_var ${_parsedArguments_DEFINE_VARIABLES})
|
|
|
|
|
+ if(NOT _def_var MATCHES "^.+=.*$")
|
|
|
|
|
+ message(FATAL_ERROR "DEFINE_VARIABLES should contain arguments in the form of key=value")
|
|
|
|
|
+ endif()
|
|
|
|
|
+
|
|
|
|
|
+ list(APPEND defined_variables "--define-variable=${_def_var}")
|
|
|
|
|
+ endforeach()
|
|
|
|
|
+
|
|
|
_pkg_set_path_internal()
|
|
_pkg_set_path_internal()
|
|
|
- _pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
|
|
|
|
|
|
|
+ _pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}" ${defined_variables})
|
|
|
set("${result}"
|
|
set("${result}"
|
|
|
"${prefix_result}"
|
|
"${prefix_result}"
|
|
|
PARENT_SCOPE)
|
|
PARENT_SCOPE)
|