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  bbc5b5cbd9beeb0091fd8b07de4d4b2ef0b48f91 (commit)
       via  828d6c137d703ea095008fc6da794904a15c4ebd (commit)
      from  ab1846f43b8eff95eba073a9df2414f24601d7a5 (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bbc5b5cbd9beeb0091fd8b07de4d4b2ef0b48f91
commit bbc5b5cbd9beeb0091fd8b07de4d4b2ef0b48f91
Merge: ab1846f 828d6c1
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Aug 24 09:40:43 2016 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Wed Aug 24 09:40:43 2016 -0400

    Merge topic 'extend-find-package-search-path' into next
    
    828d6c13 find_package: Extend search path for combined Windows/UNIX 
convention


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=828d6c137d703ea095008fc6da794904a15c4ebd
commit 828d6c137d703ea095008fc6da794904a15c4ebd
Author:     Silvio Traversaro <silvio.travers...@iit.it>
AuthorDate: Sat Aug 20 12:06:55 2016 +0200
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Aug 24 09:40:25 2016 -0400

    find_package: Extend search path for combined Windows/UNIX convention
    
    Find packages that install their cmake package configuration files in
    `lib/cmake/<name>` when they are installed in the default Windows
    CMAKE_INSTALL_PREFIX, `C:/Program Files/<name>`.
    
    Closes: #16212

diff --git a/Help/command/find_package.rst b/Help/command/find_package.rst
index 8098a87..c44fe86 100644
--- a/Help/command/find_package.rst
+++ b/Help/command/find_package.rst
@@ -201,6 +201,9 @@ Each entry is meant for installation trees following 
Windows (W), UNIX
   <prefix>/(lib/<arch>|lib|share)/cmake/<name>*/                  (U)
   <prefix>/(lib/<arch>|lib|share)/<name>*/                        (U)
   <prefix>/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/          (U)
+  <prefix>/<name>*/(lib/<arch>|lib|share)/cmake/<name>*/          (W/U)
+  <prefix>/<name>*/(lib/<arch>|lib|share)/<name>*/                (W/U)
+  <prefix>/<name>*/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/  (W/U)
 
 On systems supporting OS X Frameworks and Application Bundles the
 following directories are searched for frameworks or bundles
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index 260079b..8338c2a 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -1961,6 +1961,44 @@ bool cmFindPackageCommand::SearchPrefix(std::string 
const& prefix_in)
     }
   }
 
+  // PREFIX/(Foo|foo|FOO).*/(lib/ARCH|lib|share)/cmake/(Foo|foo|FOO).*/
+  {
+    cmFindPackageFileList lister(this);
+    lister / cmFileListGeneratorFixed(prefix) /
+      cmFileListGeneratorProject(this->Names) /
+      cmFileListGeneratorEnumerate(common) /
+      cmFileListGeneratorFixed("cmake") /
+      cmFileListGeneratorProject(this->Names);
+    if (lister.Search()) {
+      return true;
+    }
+  }
+
+  // PREFIX/(Foo|foo|FOO).*/(lib/ARCH|lib|share)/(Foo|foo|FOO).*/
+  {
+    cmFindPackageFileList lister(this);
+    lister / cmFileListGeneratorFixed(prefix) /
+      cmFileListGeneratorProject(this->Names) /
+      cmFileListGeneratorEnumerate(common) /
+      cmFileListGeneratorProject(this->Names);
+    if (lister.Search()) {
+      return true;
+    }
+  }
+
+  // PREFIX/(Foo|foo|FOO).*/(lib/ARCH|lib|share)/(Foo|foo|FOO).*/(cmake|CMake)/
+  {
+    cmFindPackageFileList lister(this);
+    lister / cmFileListGeneratorFixed(prefix) /
+      cmFileListGeneratorProject(this->Names) /
+      cmFileListGeneratorEnumerate(common) /
+      cmFileListGeneratorProject(this->Names) /
+      cmFileListGeneratorCaseInsensitive("cmake");
+    if (lister.Search()) {
+      return true;
+    }
+  }
+
   return false;
 }
 
diff --git a/Tests/FindPackageTest/Baz 1.3/lib/cmake/Baz/BazConfig.cmake 
b/Tests/FindPackageTest/Baz 1.3/lib/cmake/Baz/BazConfig.cmake
new file mode 100644
index 0000000..deffa57
--- /dev/null
+++ b/Tests/FindPackageTest/Baz 1.3/lib/cmake/Baz/BazConfig.cmake       
@@ -0,0 +1 @@
+# Test config file.
diff --git a/Tests/FindPackageTest/Baz 1.3/lib/cmake/Baz/BazConfigVersion.cmake 
b/Tests/FindPackageTest/Baz 1.3/lib/cmake/Baz/BazConfigVersion.cmake
new file mode 100644
index 0000000..d8cac77
--- /dev/null
+++ b/Tests/FindPackageTest/Baz 1.3/lib/cmake/Baz/BazConfigVersion.cmake        
@@ -0,0 +1,7 @@
+set(PACKAGE_VERSION 1.3)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 1)
+  set(PACKAGE_VERSION_COMPATIBLE 1)
+  if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 3)
+    set(PACKAGE_VERSION_EXACT 1)
+  endif()
+endif()
diff --git a/Tests/FindPackageTest/Baz 2.0/share/Baz 2/BazConfig.cmake 
b/Tests/FindPackageTest/Baz 2.0/share/Baz 2/BazConfig.cmake
new file mode 100644
index 0000000..deffa57
--- /dev/null
+++ b/Tests/FindPackageTest/Baz 2.0/share/Baz 2/BazConfig.cmake 
@@ -0,0 +1 @@
+# Test config file.
diff --git a/Tests/FindPackageTest/Baz 2.0/share/Baz 2/BazConfigVersion.cmake 
b/Tests/FindPackageTest/Baz 2.0/share/Baz 2/BazConfigVersion.cmake
new file mode 100644
index 0000000..5026fad
--- /dev/null
+++ b/Tests/FindPackageTest/Baz 2.0/share/Baz 2/BazConfigVersion.cmake  
@@ -0,0 +1,7 @@
+set(PACKAGE_VERSION 2.0)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 2)
+  set(PACKAGE_VERSION_COMPATIBLE 1)
+  if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 0)
+    set(PACKAGE_VERSION_EXACT 1)
+  endif()
+endif()
diff --git a/Tests/FindPackageTest/Baz 2.1/lib/Baz 2/cmake/BazConfig.cmake 
b/Tests/FindPackageTest/Baz 2.1/lib/Baz 2/cmake/BazConfig.cmake
new file mode 100644
index 0000000..deffa57
--- /dev/null
+++ b/Tests/FindPackageTest/Baz 2.1/lib/Baz 2/cmake/BazConfig.cmake     
@@ -0,0 +1 @@
+# Test config file.
diff --git a/Tests/FindPackageTest/Baz 2.1/lib/Baz 
2/cmake/BazConfigVersion.cmake b/Tests/FindPackageTest/Baz 2.1/lib/Baz 
2/cmake/BazConfigVersion.cmake
new file mode 100644
index 0000000..a180143
--- /dev/null
+++ b/Tests/FindPackageTest/Baz 2.1/lib/Baz 2/cmake/BazConfigVersion.cmake      
@@ -0,0 +1,7 @@
+set(PACKAGE_VERSION 2.1)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 2)
+  set(PACKAGE_VERSION_COMPATIBLE 1)
+  if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
+    set(PACKAGE_VERSION_EXACT 1)
+  endif()
+endif()
diff --git a/Tests/FindPackageTest/CMakeLists.txt 
b/Tests/FindPackageTest/CMakeLists.txt
index d3e68bc..04bbbc6 100644
--- a/Tests/FindPackageTest/CMakeLists.txt
+++ b/Tests/FindPackageTest/CMakeLists.txt
@@ -102,6 +102,7 @@ endif()
 set(PACKAGES
   foo Foo Bar Blub TFramework Tframework TApp Tapp Special
   VersionedA VersionedB VersionedC VersionedD VersionedE
+  VersionedF VersionedG VersionedH
   WrongA WrongB WrongC WrongD
   wibbleA wibbleB
   RecursiveA RecursiveB RecursiveC
@@ -142,6 +143,10 @@ find_package(VersionedB 3.1 EXACT NAMES zot)
 find_package(VersionedC 4.0 EXACT NAMES zot)
 find_package(VersionedD 1.1 EXACT NAMES Baz)
 find_package(VersionedE 1.2 EXACT NAMES Baz)
+find_package(VersionedF 1.3 EXACT NAMES Baz)
+find_package(VersionedG 2.0 EXACT NAMES Baz)
+find_package(VersionedH 2.1 EXACT NAMES Baz)
+
 
 # Test Config files which set Xyz_FOUND themselves:
 find_package(SetFoundTRUE NO_MODULE)
@@ -158,12 +163,12 @@ find_package(WrongB 1.2 EXACT NAMES Baz)
 
 # Test wrong initial path when result is missing.
 set(WrongC_DIR "${VersionedD_DIR}")
-find_package(WrongC 1.3 EXACT QUIET NAMES Baz)
+find_package(WrongC 1.4 EXACT QUIET NAMES Baz)
 
 # Test wrong initial cache entry of UNINITIALIZED type when result is missing.
 set(WrongD_DIR "${VersionedD_DIR}" CACHE UNINITIALIZED "Wrong Value" FORCE)
 get_property(type CACHE WrongD_DIR PROPERTY TYPE)
-find_package(WrongD 1.3 EXACT QUIET NAMES Baz)
+find_package(WrongD 1.4 EXACT QUIET NAMES Baz)
 
 # HINTS should override the system but PATHS should not
 list(INSERT CMAKE_SYSTEM_PREFIX_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/A")
@@ -216,6 +221,9 @@ set(VersionedB_EXPECTED "lib/zot-3.1/zot-config.cmake")
 set(VersionedC_EXPECTED "lib/cmake/zot-4.0/zot-config.cmake")
 set(VersionedD_EXPECTED "Baz 1.1/BazConfig.cmake")
 set(VersionedE_EXPECTED "Baz 1.2/CMake/BazConfig.cmake")
+set(VersionedF_EXPECTED "Baz 1.3/lib/cmake/Baz/BazConfig.cmake")
+set(VersionedG_EXPECTED "Baz 2.0/share/Baz 2/BazConfig.cmake")
+set(VersionedH_EXPECTED "Baz 2.1/lib/Baz 2/cmake/BazConfig.cmake")
 set(WrongA_EXPECTED "${VersionedE_EXPECTED}")
 set(WrongB_EXPECTED "${VersionedE_EXPECTED}")
 set(WrongC_MISSING "WrongC_DIR-NOTFOUND")

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

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