This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  98366c3d0b5bd189e0aee10bf8846b38f07d4ccc (commit)
       via  51b83f1445521a210eee7e92ed03aff8fe8e9dc6 (commit)
      from  7defd7c0006bbdf054c85ada3508b8bb7487da86 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=98366c3d0b5bd189e0aee10bf8846b38f07d4ccc
commit 98366c3d0b5bd189e0aee10bf8846b38f07d4ccc
Merge: 7defd7c 51b83f1
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Mon Sep 21 09:39:33 2015 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Mon Sep 21 09:39:33 2015 -0400

    Merge topic 'pkg-config-variable-function' into next
    
    51b83f14 FindPkgConfig: add a command to query arbitrary variables


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=51b83f1445521a210eee7e92ed03aff8fe8e9dc6
commit 51b83f1445521a210eee7e92ed03aff8fe8e9dc6
Author:     Ben Boeckel <maths...@gmail.com>
AuthorDate: Thu Sep 17 21:05:29 2015 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Sep 21 09:39:26 2015 -0400

    FindPkgConfig: add a command to query arbitrary variables

diff --git a/Help/release/dev/pkg-config-variable-function.rst 
b/Help/release/dev/pkg-config-variable-function.rst
new file mode 100644
index 0000000..e181d13
--- /dev/null
+++ b/Help/release/dev/pkg-config-variable-function.rst
@@ -0,0 +1,6 @@
+pkg-config-variable-function
+----------------------------
+
+* The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable`
+  command which may be used to query for arbitrary variables from a package
+  (such as for related tools or data and plugin install paths).
diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake
index 0f2e22d..e822b9c 100644
--- a/Modules/FindPkgConfig.cmake
+++ b/Modules/FindPkgConfig.cmake
@@ -91,6 +91,26 @@ macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
   endif()
 endmacro()
 
+#[========================================[.rst:
+.. command:: pkg_get_variable
+
+  Retrieves the value of a variable from a package::
+
+    pkg_get_variable(<RESULT> <MODULE> <VARIABLE>)
+
+  For example:
+
+  .. code-block:: cmake
+
+    pkg_get_variable(GI_GIRDIR gobject-introspection-1.0 girdir)
+#]========================================]
+function (pkg_get_variable result pkg variable)
+  _pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
+  set("${result}"
+    "${prefix_result}"
+    PARENT_SCOPE)
+endfunction ()
+
 # Invokes pkgconfig two times; once without '--static' and once with
 # '--static'
 macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
@@ -356,9 +376,9 @@ macro(_pkg_check_modules_internal _is_required _is_silent 
_no_cmake_path _no_cma
         endif()
 
         _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" 
VERSION    ""   --modversion )
-        _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" 
PREFIX     ""   --variable=prefix )
-        _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" 
INCLUDEDIR ""   --variable=includedir )
-        _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" 
LIBDIR     ""   --variable=libdir )
+        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")
 
         if (NOT ${_is_silent})
           message(STATUS "  Found ${_pkg_check_modules_pkg}, version 
${_pkgconfig_VERSION}")
diff --git a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_GET_VARIABLE-stdout.txt 
b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_GET_VARIABLE-stdout.txt
new file mode 100644
index 0000000..5f211eb
--- /dev/null
+++ b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_GET_VARIABLE-stdout.txt
@@ -0,0 +1 @@
+-- g_ir_scanner: .*/g-ir-scanner
diff --git a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_GET_VARIABLE.cmake 
b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_GET_VARIABLE.cmake
new file mode 100644
index 0000000..c85efaa
--- /dev/null
+++ b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_GET_VARIABLE.cmake
@@ -0,0 +1,9 @@
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(GOBJECT_INTROSPECTION QUIET gobject-introspection-1.0)
+
+if (GOBJECT_INTROSPECTION_FOUND)
+  pkg_get_variable(g_ir_scanner gobject-introspection-1.0 g_ir_scanner)
+  message(STATUS "g_ir_scanner: ${g_ir_scanner}")
+else ()
+  message(STATUS "g_ir_scanner: skipping test; gobject-introspection-1.0 not 
found /g-ir-scanner")
+endif ()
diff --git a/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake 
b/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake
index 29301d7..bb04aa2 100644
--- a/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake
+++ b/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake
@@ -9,3 +9,9 @@ if(APPLE)
   run_cmake(FindPkgConfig_CMAKE_FRAMEWORK_PATH)
   run_cmake(FindPkgConfig_CMAKE_APPBUNDLE_PATH)
 endif()
+
+# We need a real pkg-config to run the test for get_variable.
+find_package(PkgConfig)
+if (PKG_CONFIG_FOUND)
+  run_cmake(FindPkgConfig_GET_VARIABLE)
+endif ()

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to