[Cmake-commits] CMake branch, next, updated. v3.0.0-rc1-1147-g50444d6

Daniele E. Domenichelli daniele.domenichelli at gmail.com
Mon Mar 17 13:15:13 EDT 2014


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  50444d66497cbfed37b915fbd8547b177aea9928 (commit)
       via  cc5a0d8f42f9ad8bc5ac50be343db05128a0c6ea (commit)
       via  453d2b2438a1c9e8a21e89addf446f5bec3a4000 (commit)
      from  2e3c7199d5126b075dfde177fb9578d814dcff16 (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=50444d66497cbfed37b915fbd8547b177aea9928
commit 50444d66497cbfed37b915fbd8547b177aea9928
Merge: 2e3c719 cc5a0d8
Author:     Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
AuthorDate: Mon Mar 17 13:15:12 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Mar 17 13:15:12 2014 -0400

    Merge topic 'FindPkgConfig_Extend-PKG_CONFIG_PATH_2' into next
    
    cc5a0d8f FindPkgConfig: More unit tests
    453d2b24 FindPkgConfig: small refactoring


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cc5a0d8f42f9ad8bc5ac50be343db05128a0c6ea
commit cc5a0d8f42f9ad8bc5ac50be343db05128a0c6ea
Author:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
AuthorDate: Mon Mar 17 18:09:54 2014 +0100
Commit:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
CommitDate: Mon Mar 17 18:10:59 2014 +0100

    FindPkgConfig: More unit tests

diff --git a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_NO_PKGCONFIG_PATH.cmake b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_NO_PKGCONFIG_PATH.cmake
new file mode 100644
index 0000000..924976e
--- /dev/null
+++ b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_NO_PKGCONFIG_PATH.cmake
@@ -0,0 +1,41 @@
+# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE and FIND_LIBRARY_USE_LIB64_PATHS
+enable_language(C)
+
+# Prepare environment and variables
+set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH FALSE)
+set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/pc-foo")
+if(WIN32)
+    set(PKG_CONFIG_EXECUTABLE "${CMAKE_CURRENT_SOURCE_DIR}\\dummy-pkg-config.bat")
+    set(ENV{CMAKE_PREFIX_PATH} "${CMAKE_CURRENT_SOURCE_DIR}\\pc-bar;X:\\this\\directory\\should\\not\\exist\\in\\the\\filesystem")
+    set(ENV{PKG_CONFIG_PATH} "C:\\baz")
+else()
+    set(PKG_CONFIG_EXECUTABLE "${CMAKE_CURRENT_SOURCE_DIR}/dummy-pkg-config.sh")
+    set(ENV{CMAKE_PREFIX_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/pc-bar:/this/directory/should/not/exist/in/the/filesystem")
+    set(ENV{PKG_CONFIG_PATH} "/baz")
+endif()
+
+
+find_package(PkgConfig)
+
+if(WIN32)
+  set(expected_path "C:\\baz")
+else()
+  set(expected_path "/baz")
+endif()
+
+
+pkg_check_modules(FOO "${expected_path}")
+
+if(NOT "FOO_FOUND")
+  message(FATAL_ERROR "Expected PKG_CONFIG_PATH: \"${expected_path}\".")
+endif()
+
+
+
+set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
+
+pkg_check_modules(BAR "${expected_path}" NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH)
+
+if(NOT "BAR_FOUND")
+  message(FATAL_ERROR "Expected PKG_CONFIG_PATH: \"${expected_path}\".")
+endif()
diff --git a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake
index 5f9913f..4a66e85 100644
--- a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake
+++ b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake
@@ -44,7 +44,7 @@ else()
 endif()
 
 
-pkg_check_modules (FOO "${expected_path}")
+pkg_check_modules(FOO "${expected_path}")
 
 if(NOT "FOO_FOUND")
   message(FATAL_ERROR "Expected PKG_CONFIG_PATH: \"${expected_path}\".")
diff --git a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_ENVIRONMENT_PATH.cmake
similarity index 79%
copy from Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake
copy to Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_ENVIRONMENT_PATH.cmake
index 5f9913f..0b057b8 100644
--- a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake
+++ b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_ENVIRONMENT_PATH.cmake
@@ -24,27 +24,27 @@ if(NOT DEFINED CMAKE_SYSTEM_NAME
   if(EXISTS "/etc/debian_version") # is this a debian system ?
     if(CMAKE_LIBRARY_ARCHITECTURE MATCHES "^(i386-linux-gnu|x86_64-linux-gnu)$")
       # Cannot create directories for all the existing architectures...
-      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
+      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig")
     else()
-      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
+      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig")
     endif()
   else()
     # not debian, chech the FIND_LIBRARY_USE_LIB64_PATHS property
     get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
     if(uselib64)
-      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
+      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig")
     endif()
   endif()
 else()
   if(WIN32)
-    set(expected_path "C:\\baz;${CMAKE_CURRENT_SOURCE_DIR}\\pc-foo\\lib\\pkgconfig;${CMAKE_CURRENT_SOURCE_DIR}\\pc-bar\\lib\\pkgconfig")
+    set(expected_path "C:\\baz;${CMAKE_CURRENT_SOURCE_DIR}\\pc-foo\\lib\\pkgconfig")
   else()
-    set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
+    set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig")
   endif()
 endif()
 
 
-pkg_check_modules (FOO "${expected_path}")
+pkg_check_modules(FOO "${expected_path}" NO_CMAKE_ENVIRONMENT_PATH)
 
 if(NOT "FOO_FOUND")
   message(FATAL_ERROR "Expected PKG_CONFIG_PATH: \"${expected_path}\".")
diff --git a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_PATH.cmake
similarity index 64%
copy from Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake
copy to Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_PATH.cmake
index 5f9913f..a3154f1 100644
--- a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake
+++ b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_PATH.cmake
@@ -24,27 +24,27 @@ if(NOT DEFINED CMAKE_SYSTEM_NAME
   if(EXISTS "/etc/debian_version") # is this a debian system ?
     if(CMAKE_LIBRARY_ARCHITECTURE MATCHES "^(i386-linux-gnu|x86_64-linux-gnu)$")
       # Cannot create directories for all the existing architectures...
-      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
+      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
     else()
-      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
+      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
     endif()
   else()
     # not debian, chech the FIND_LIBRARY_USE_LIB64_PATHS property
     get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
     if(uselib64)
-      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
+      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
     endif()
   endif()
 else()
   if(WIN32)
-    set(expected_path "C:\\baz;${CMAKE_CURRENT_SOURCE_DIR}\\pc-foo\\lib\\pkgconfig;${CMAKE_CURRENT_SOURCE_DIR}\\pc-bar\\lib\\pkgconfig")
+    set(expected_path "C:\\baz;${CMAKE_CURRENT_SOURCE_DIR}\\pc-bar\\lib\\pkgconfig")
   else()
-    set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
+    set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
   endif()
 endif()
 
 
-pkg_check_modules (FOO "${expected_path}")
+pkg_check_modules(FOO "${expected_path}" NO_CMAKE_PATH)
 
 if(NOT "FOO_FOUND")
   message(FATAL_ERROR "Expected PKG_CONFIG_PATH: \"${expected_path}\".")
diff --git a/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake b/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake
index ad77ad0..bca93bb 100644
--- a/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake
+++ b/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake
@@ -1,3 +1,6 @@
 include(RunCMake)
 
+run_cmake(FindPkgConfig_NO_PKGCONFIG_PATH)
 run_cmake(FindPkgConfig_PKGCONFIG_PATH)
+run_cmake(FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_PATH)
+run_cmake(FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_ENVIRONMENT_PATH)
diff --git a/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.bat b/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.bat
index b2096ed..f2f86b0 100755
--- a/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.bat
+++ b/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.bat
@@ -9,6 +9,8 @@ IF "%1"=="--version" (
 
 IF "%1"=="--exists" (
   SHIFT
+  ECHO Expected: %*
+  ECHO Found:    %PKG_CONFIG_PATH%
   IF NOT "%*"=="%PKG_CONFIG_PATH%" (
     EXIT /B 1
   )
diff --git a/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.sh b/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.sh
index e62bb74..852e841 100755
--- a/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.sh
+++ b/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.sh
@@ -10,8 +10,8 @@ case $1 in
     ;;
   --exists)
     shift
-    echo "$@"
-    echo "${PKG_CONFIG_PATH}"
+    echo "Expected: $@"
+    echo "Found:    ${PKG_CONFIG_PATH}"
     [ "$@" = "${PKG_CONFIG_PATH}" ] || exit 1
     ;;
   *)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=453d2b2438a1c9e8a21e89addf446f5bec3a4000
commit 453d2b2438a1c9e8a21e89addf446f5bec3a4000
Author:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
AuthorDate: Mon Mar 17 17:50:29 2014 +0100
Commit:     Daniele E. Domenichelli <daniele.domenichelli at iit.it>
CommitDate: Mon Mar 17 17:50:35 2014 +0100

    FindPkgConfig: small refactoring

diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake
index 812bb92..286cc23 100644
--- a/Modules/FindPkgConfig.cmake
+++ b/Modules/FindPkgConfig.cmake
@@ -136,6 +136,31 @@ macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cma
   list(REMOVE_ITEM ${_result} "NO_CMAKE_ENVIRONMENT_PATH")
 endmacro()
 
+# Add the content of a variable or an environment variable to a list of
+# paths
+# Usage:
+#  - _pkgconfig_add_extra_path(_extra_paths VAR)
+#  - _pkgconfig_add_extra_path(_extra_paths ENV VAR)
+function(_pkgconfig_add_extra_path _extra_paths_var _var)
+  set(_is_env 0)
+  if(_var STREQUAL "ENV")
+    set(_var ${ARGV2})
+    set(_is_env 1)
+  endif()
+  if(NOT _is_env)
+    if(NOT "${${_var}}" STREQUAL "")
+      list(APPEND ${_extra_paths_var} ${CMAKE_PREFIX_PATH})
+    endif()
+  else()
+    if(NOT "$ENV{${_var}}" STREQUAL "")
+      file(TO_CMAKE_PATH "$ENV{${_var}}" _path)
+      list(APPEND ${_extra_paths_var} ${_path})
+      unset(_path)
+    endif()
+  endif()
+  set(${_extra_paths_var} ${${_extra_paths_var}} PARENT_SCOPE)
+endfunction()
+
 ###
 macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cmake_environment_path _prefix)
   _pkgconfig_unset(${_prefix}_FOUND)
@@ -179,33 +204,15 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
     set(_extra_paths)
 
     if(NOT _no_cmake_path)
-      if(NOT "${CMAKE_PREFIX_PATH}" STREQUAL "")
-        list(APPEND _extra_paths ${CMAKE_PREFIX_PATH})
-      endif()
-      if(NOT "${CMAKE_FRAMEWORK_PATH}" STREQUAL "")
-        list(APPEND _extra_paths ${CMAKE_FRAMEWORK_PATH})
-      endif()
-      if(NOT "${CMAKE_APPBUNDLE_PATH}" STREQUAL "")
-        list(APPEND _extra_paths ${CMAKE_FRAMEWORK_PATH})
-      endif()
+      _pkgconfig_add_extra_path(_extra_paths CMAKE_PREFIX_PATH)
+      _pkgconfig_add_extra_path(_extra_paths CMAKE_FRAMEWORK_PATH)
+      _pkgconfig_add_extra_path(_extra_paths CMAKE_APPBUNDLE_PATH)
     endif()
 
     if(NOT _no_cmake_environment_path)
-      if(NOT "$ENV{CMAKE_PREFIX_PATH}" STREQUAL "")
-        file(TO_CMAKE_PATH "$ENV{CMAKE_PREFIX_PATH}" _path)
-        list(APPEND _extra_paths ${_path})
-        unset(_path)
-      endif()
-      if(NOT "$ENV{CMAKE_FRAMEWORK_PATH}" STREQUAL "")
-        file(TO_CMAKE_PATH "$ENV{CMAKE_FRAMEWORK_PATH}" _path)
-        list(APPEND _extra_paths ${_path})
-        unset(_path)
-      endif()
-      if(NOT "$ENV{CMAKE_APPBUNDLE_PATH}" STREQUAL "")
-        file(TO_CMAKE_PATH "$ENV{CMAKE_APPBUNDLE_PATH}" _path)
-        list(APPEND _extra_paths ${_path})
-        unset(_path)
-      endif()
+      _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_PREFIX_PATH)
+      _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_FRAMEWORK_PATH)
+      _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_APPBUNDLE_PATH)
     endif()
 
     if(NOT "${_extra_paths}" STREQUAL "")

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

Summary of changes:
 Modules/FindPkgConfig.cmake                        |   55 +++++++++++---------
 .../FindPkgConfig_NO_PKGCONFIG_PATH.cmake          |   41 +++++++++++++++
 .../FindPkgConfig_PKGCONFIG_PATH.cmake             |    2 +-
 ...PKGCONFIG_PATH_NO_CMAKE_ENVIRONMENT_PATH.cmake} |   12 ++---
 ...ndPkgConfig_PKGCONFIG_PATH_NO_CMAKE_PATH.cmake} |   12 ++---
 Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake    |    3 ++
 Tests/RunCMake/FindPkgConfig/dummy-pkg-config.bat  |    2 +
 Tests/RunCMake/FindPkgConfig/dummy-pkg-config.sh   |    4 +-
 8 files changed, 92 insertions(+), 39 deletions(-)
 create mode 100644 Tests/RunCMake/FindPkgConfig/FindPkgConfig_NO_PKGCONFIG_PATH.cmake
 copy Tests/RunCMake/FindPkgConfig/{FindPkgConfig_PKGCONFIG_PATH.cmake => FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_ENVIRONMENT_PATH.cmake} (79%)
 copy Tests/RunCMake/FindPkgConfig/{FindPkgConfig_PKGCONFIG_PATH.cmake => FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_PATH.cmake} (64%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list