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:
parent
8ecd9ed768
commit
63e186a8e6
|
@ -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})
|
||||||
|
|
|
@ -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 +1 @@
|
||||||
|
# Test config file.
|
Loading…
Reference in New Issue