[Cmake-commits] CMake branch, next, updated. v3.0.0-rc1-1008-gbd029af
Daniele E. Domenichelli
daniele.domenichelli at gmail.com
Thu Mar 13 19:41:28 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 bd029affc891808ace5c3602d0c2223163f65d38 (commit)
via 6c5d5c16633c9784387b04186c4cc852d1539a1e (commit)
from 35e7c9497a522f699b4f3145eeb611ec4d028bd8 (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=bd029affc891808ace5c3602d0c2223163f65d38
commit bd029affc891808ace5c3602d0c2223163f65d38
Merge: 35e7c94 6c5d5c1
Author: Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
AuthorDate: Thu Mar 13 19:41:25 2014 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Mar 13 19:41:25 2014 -0400
Merge topic 'FindPkgConfig_Extend-PKG_CONFIG_PATH' into next
6c5d5c16 FindPkgConfig: Add unit tests
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6c5d5c16633c9784387b04186c4cc852d1539a1e
commit 6c5d5c16633c9784387b04186c4cc852d1539a1e
Author: Daniele E. Domenichelli <daniele.domenichelli at iit.it>
AuthorDate: Thu Mar 13 18:27:28 2014 +0100
Commit: Daniele E. Domenichelli <daniele.domenichelli at iit.it>
CommitDate: Thu Mar 13 19:44:43 2014 +0100
FindPkgConfig: Add unit tests
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index d401a93..c7091d6 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -106,6 +106,11 @@ if (QT4_FOUND)
add_RunCMake_test(ObsoleteQtMacros)
endif()
+find_package(PkgConfig QUIET)
+if(PKG_CONFIG_FOUND)
+ add_RunCMake_test(FindPkgConfig)
+endif()
+
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio [^6]")
add_RunCMake_test(include_external_msproject)
add_RunCMake_test(SolutionGlobalSections)
diff --git a/Tests/RunCMake/FindPkgConfig/CMakeLists.txt b/Tests/RunCMake/FindPkgConfig/CMakeLists.txt
new file mode 100644
index 0000000..72abfc8
--- /dev/null
+++ b/Tests/RunCMake/FindPkgConfig/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 2.8.11)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake
new file mode 100644
index 0000000..e218247
--- /dev/null
+++ b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake
@@ -0,0 +1,51 @@
+# 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 TRUE)
+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(NOT DEFINED CMAKE_SYSTEM_NAME
+ OR (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
+ AND NOT CMAKE_CROSSCOMPILING))
+ 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")
+ else()
+ set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${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")
+ 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")
+ else()
+ set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
+ endif()
+endif()
+
+
+pkg_check_modules (FOO "${expected_path}")
+
+if(NOT "FOO_FOUND")
+ message(FATAL_ERROR "Expected PKG_CONFIG_PATH: \"${expected_path}\".")
+endif()
diff --git a/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake b/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake
new file mode 100644
index 0000000..ad77ad0
--- /dev/null
+++ b/Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake
@@ -0,0 +1,3 @@
+include(RunCMake)
+
+run_cmake(FindPkgConfig_PKGCONFIG_PATH)
diff --git a/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.bat b/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.bat
new file mode 100755
index 0000000..f068897
--- /dev/null
+++ b/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.bat
@@ -0,0 +1,15 @@
+ at ECHO OFF
+IF "%1"=="" (
+ EXIT /B 255
+)
+IF "%1"=="--version" (
+ ECHO 0.0-cmake-dummy
+ EXIT /B 0
+)
+
+IF "%1"=="--exists" (
+ IF NOT "%2"=="%PKG_CONFIG_PATH%" (
+ EXIT /B 1
+ )
+)
+EXIT /B 0
diff --git a/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.sh b/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.sh
new file mode 100755
index 0000000..e0e6a54
--- /dev/null
+++ b/Tests/RunCMake/FindPkgConfig/dummy-pkg-config.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# This is a replacement for pkg-config that compares the string passed
+# to the --exists argument with the PKG_CONFIG_PATH environment variable
+# and returns 1 if they are different.
+
+case $1 in
+ --version)
+ echo "0.0-cmake-dummy"
+ ;;
+ --exists)
+ [ "$2" = "${PKG_CONFIG_PATH}" ] || exit 1
+ ;;
+ *)
+ exit 255
+ ;;
+esac
diff --git a/Tests/RunCMake/FindPkgConfig/pc-bar/lib/i386-linux-gnu/pkgconfig/.placeholder b/Tests/RunCMake/FindPkgConfig/pc-bar/lib/i386-linux-gnu/pkgconfig/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/Tests/RunCMake/FindPkgConfig/pc-bar/lib/pkgconfig/.placeholder b/Tests/RunCMake/FindPkgConfig/pc-bar/lib/pkgconfig/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/Tests/RunCMake/FindPkgConfig/pc-bar/lib/x86_64-linux-gnu/pkgconfig/.placeholder b/Tests/RunCMake/FindPkgConfig/pc-bar/lib/x86_64-linux-gnu/pkgconfig/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/Tests/RunCMake/FindPkgConfig/pc-bar/lib64/pkgconfig/.placeholder b/Tests/RunCMake/FindPkgConfig/pc-bar/lib64/pkgconfig/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/Tests/RunCMake/FindPkgConfig/pc-foo/lib/i386-linux-gnu/pkgconfig/.placeholder b/Tests/RunCMake/FindPkgConfig/pc-foo/lib/i386-linux-gnu/pkgconfig/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/Tests/RunCMake/FindPkgConfig/pc-foo/lib/pkgconfig/.placeholder b/Tests/RunCMake/FindPkgConfig/pc-foo/lib/pkgconfig/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/Tests/RunCMake/FindPkgConfig/pc-foo/lib/x86_64-linux-gnu/pkgconfig/.placeholder b/Tests/RunCMake/FindPkgConfig/pc-foo/lib/x86_64-linux-gnu/pkgconfig/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/Tests/RunCMake/FindPkgConfig/pc-foo/lib64/pkgconfig/.placeholder b/Tests/RunCMake/FindPkgConfig/pc-foo/lib64/pkgconfig/.placeholder
new file mode 100644
index 0000000..e69de29
-----------------------------------------------------------------------
Summary of changes:
Tests/RunCMake/CMakeLists.txt | 5 ++
.../{CMP0022 => FindPkgConfig}/CMakeLists.txt | 0
.../FindPkgConfig_PKGCONFIG_PATH.cmake | 51 ++++++++++++++++++++
Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake | 3 ++
Tests/RunCMake/FindPkgConfig/dummy-pkg-config.bat | 15 ++++++
Tests/RunCMake/FindPkgConfig/dummy-pkg-config.sh | 17 +++++++
.../lib/i386-linux-gnu/pkgconfig/.placeholder | 0
.../pc-bar/lib/pkgconfig/.placeholder | 0
.../lib/x86_64-linux-gnu/pkgconfig/.placeholder | 0
.../pc-bar/lib64/pkgconfig/.placeholder | 0
.../lib/i386-linux-gnu/pkgconfig/.placeholder | 0
.../pc-foo/lib/pkgconfig/.placeholder | 0
.../lib/x86_64-linux-gnu/pkgconfig/.placeholder | 0
.../pc-foo/lib64/pkgconfig/.placeholder | 0
14 files changed, 91 insertions(+)
copy Tests/RunCMake/{CMP0022 => FindPkgConfig}/CMakeLists.txt (100%)
create mode 100644 Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake
create mode 100644 Tests/RunCMake/FindPkgConfig/RunCMakeTest.cmake
create mode 100755 Tests/RunCMake/FindPkgConfig/dummy-pkg-config.bat
create mode 100755 Tests/RunCMake/FindPkgConfig/dummy-pkg-config.sh
copy Modules/IntelVSImplicitPath/hello.f => Tests/RunCMake/FindPkgConfig/pc-bar/lib/i386-linux-gnu/pkgconfig/.placeholder (100%)
copy Modules/IntelVSImplicitPath/hello.f => Tests/RunCMake/FindPkgConfig/pc-bar/lib/pkgconfig/.placeholder (100%)
copy Modules/IntelVSImplicitPath/hello.f => Tests/RunCMake/FindPkgConfig/pc-bar/lib/x86_64-linux-gnu/pkgconfig/.placeholder (100%)
copy Modules/IntelVSImplicitPath/hello.f => Tests/RunCMake/FindPkgConfig/pc-bar/lib64/pkgconfig/.placeholder (100%)
copy Modules/IntelVSImplicitPath/hello.f => Tests/RunCMake/FindPkgConfig/pc-foo/lib/i386-linux-gnu/pkgconfig/.placeholder (100%)
copy Modules/IntelVSImplicitPath/hello.f => Tests/RunCMake/FindPkgConfig/pc-foo/lib/pkgconfig/.placeholder (100%)
copy Modules/IntelVSImplicitPath/hello.f => Tests/RunCMake/FindPkgConfig/pc-foo/lib/x86_64-linux-gnu/pkgconfig/.placeholder (100%)
copy Modules/IntelVSImplicitPath/hello.f => Tests/RunCMake/FindPkgConfig/pc-foo/lib64/pkgconfig/.placeholder (100%)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list