浏览代码

ENH: Strengthen FindPackageTest version check

The previous change to test finding in lib/cmake/<name>* weakened the
versioned find tests.  Since the lib/cmake paths are searched before
lib/<name>* paths the previous change skipped requiring the command to
ignore zot-3.0 when finding zot-3.1.  This change restores that and adds
zot-4.0 to test the lib/cmake path.
Brad King 17 年之前
父节点
当前提交
63e186a8e6

+ 5 - 3
Tests/FindPackageTest/CMakeLists.txt

@@ -36,7 +36,7 @@ FIND_PACKAGE(VersionTestD 1.2.3.4)
 # For purposes of the test wipe out previous find results.
 SET(PACKAGES
   foo Foo Bar TFramework Tframework TApp Tapp Special
-  VersionedA VersionedB
+  VersionedA VersionedB VersionedC
   wibbleA wibbleB
   RecursiveA RecursiveB RecursiveC
   )
@@ -60,6 +60,7 @@ FIND_PACKAGE(Tapp CONFIGS tapp-config.cmake)
 FIND_PACKAGE(Special NAMES Suffix SuffixTest PATH_SUFFIXES test)
 FIND_PACKAGE(VersionedA 2 NAMES zot)
 FIND_PACKAGE(VersionedB 3.1 EXACT NAMES zot)
+FIND_PACKAGE(VersionedC 4.0 EXACT NAMES zot)
 
 # HINTS should override the system but PATHS should not
 LIST(INSERT CMAKE_SYSTEM_PREFIX_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/A")
@@ -85,12 +86,13 @@ SET(TApp_EXPECTED
 SET(Tapp_EXPECTED
   "TApp.app/Contents/Resources/cmake/tapp-config.cmake")
 SET(VersionedA_EXPECTED "lib/zot-2.0/zot-config.cmake")
-SET(VersionedB_EXPECTED "lib/cmake/zot-3.1/zot-config.cmake")
+SET(VersionedB_EXPECTED "lib/zot-3.1/zot-config.cmake")
+SET(VersionedC_EXPECTED "lib/cmake/zot-4.0/zot-config.cmake")
 SET(wibbleA_EXPECTED "A/wibble-config.cmake")
 SET(wibbleB_EXPECTED "B/wibble-config.cmake")
 SET(RecursiveA_EXPECTED "lib/RecursiveA/recursivea-config.cmake")
 SET(RecursiveB_EXPECTED "lib/zot-2.0/zot-config.cmake")
-SET(RecursiveC_EXPECTED "lib/cmake/zot-3.1/zot-config.cmake")
+SET(RecursiveC_EXPECTED "lib/zot-3.1/zot-config.cmake")
 
 # Check the results.
 FOREACH(p ${PACKAGES})

+ 8 - 0
Tests/FindPackageTest/lib/cmake/zot-4.0/zot-config-version.cmake

@@ -0,0 +1,8 @@
+SET(PACKAGE_VERSION 4.0)
+IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 4)
+  SET(PACKAGE_VERSION_COMPATIBLE 1)
+  IF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 0)
+    SET(PACKAGE_VERSION_EXACT 1)
+  ENDIF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 0)
+ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 4)
+

+ 0 - 0
Tests/FindPackageTest/lib/cmake/zot-3.1/zot-config.cmake → Tests/FindPackageTest/lib/cmake/zot-4.0/zot-config.cmake


+ 0 - 0
Tests/FindPackageTest/lib/cmake/zot-3.1/zot-config-version.cmake → Tests/FindPackageTest/lib/zot-3.1/zot-config-version.cmake


+ 1 - 0
Tests/FindPackageTest/lib/zot-3.1/zot-config.cmake

@@ -0,0 +1 @@
+# Test config file.