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.
This commit is contained in:
Brad King 2008-12-16 09:13:39 -05:00
parent 8ecd9ed768
commit 63e186a8e6
5 changed files with 14 additions and 3 deletions

View File

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

View File

@ -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)

View File

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