find_package: add test for setting Foo_FOUND to FALSE in a Config file
Alex
This commit is contained in:
parent
16c0c7376c
commit
56ae3f9412
@ -82,6 +82,7 @@ SET(PACKAGES
|
|||||||
RecursiveA RecursiveB RecursiveC
|
RecursiveA RecursiveB RecursiveC
|
||||||
ArchA ArchB ArchC ArchD
|
ArchA ArchB ArchC ArchD
|
||||||
EnvA EnvB
|
EnvA EnvB
|
||||||
|
SetFoundTRUE SetFoundFALSE
|
||||||
${CMakeTestSystemPackage}
|
${CMakeTestSystemPackage}
|
||||||
)
|
)
|
||||||
FOREACH(p ${PACKAGES})
|
FOREACH(p ${PACKAGES})
|
||||||
@ -117,6 +118,10 @@ FIND_PACKAGE(VersionedC 4.0 EXACT NAMES zot)
|
|||||||
FIND_PACKAGE(VersionedD 1.1 EXACT NAMES Baz)
|
FIND_PACKAGE(VersionedD 1.1 EXACT NAMES Baz)
|
||||||
FIND_PACKAGE(VersionedE 1.2 EXACT NAMES Baz)
|
FIND_PACKAGE(VersionedE 1.2 EXACT NAMES Baz)
|
||||||
|
|
||||||
|
# Test Config files which set Xyz_FOUND themselves:
|
||||||
|
FIND_PACKAGE(SetFoundTRUE NO_MODULE)
|
||||||
|
FIND_PACKAGE(SetFoundFALSE NO_MODULE)
|
||||||
|
|
||||||
# Test wrong initial path when result is present.
|
# Test wrong initial path when result is present.
|
||||||
SET(WrongA_DIR "${VersionedD_DIR}")
|
SET(WrongA_DIR "${VersionedD_DIR}")
|
||||||
FIND_PACKAGE(WrongA 1.2 EXACT NAMES Baz)
|
FIND_PACKAGE(WrongA 1.2 EXACT NAMES Baz)
|
||||||
@ -201,6 +206,8 @@ SET(ArchC_EXPECTED "lib/arch/zot-3.1/zot-config.cmake")
|
|||||||
SET(ArchD_EXPECTED "lib/arch/cmake/zot-4.0/zot-config.cmake")
|
SET(ArchD_EXPECTED "lib/arch/cmake/zot-4.0/zot-config.cmake")
|
||||||
SET(EnvA_EXPECTED "lib/zot-3.1/zot-config.cmake")
|
SET(EnvA_EXPECTED "lib/zot-3.1/zot-config.cmake")
|
||||||
SET(EnvB_MISSING "EnvB_DIR-NOTFOUND")
|
SET(EnvB_MISSING "EnvB_DIR-NOTFOUND")
|
||||||
|
SET(SetFoundTRUE_EXPECTED "cmake/SetFoundTRUEConfig.cmake")
|
||||||
|
SET(SetFoundFALSE_MISSING "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||||
SET(CMakeTestSystemPackage_EXPECTED "SystemPackage/CMakeTestSystemPackageConfig.cmake")
|
SET(CMakeTestSystemPackage_EXPECTED "SystemPackage/CMakeTestSystemPackageConfig.cmake")
|
||||||
|
|
||||||
# Check the results.
|
# Check the results.
|
||||||
@ -212,6 +219,11 @@ FOREACH(p ${PACKAGES})
|
|||||||
"Package ${p} should have been [${${p}_MISSING}] but "
|
"Package ${p} should have been [${${p}_MISSING}] but "
|
||||||
"was [${${p}_DIR}]")
|
"was [${${p}_DIR}]")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
IF(${p}_FOUND)
|
||||||
|
MESSAGE(SEND_ERROR
|
||||||
|
"Package ${p} should not have been found, but ${p}_FOUND is set to "
|
||||||
|
"\"${${p}_FOUND}\"")
|
||||||
|
ENDIF()
|
||||||
ELSEIF(${p}_FOUND)
|
ELSEIF(${p}_FOUND)
|
||||||
# Convert to relative path for comparison to expected location.
|
# Convert to relative path for comparison to expected location.
|
||||||
FILE(RELATIVE_PATH REL_${p}_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}"
|
FILE(RELATIVE_PATH REL_${p}_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||||
|
1
Tests/FindPackageTest/cmake/SetFoundFALSEConfig.cmake
Normal file
1
Tests/FindPackageTest/cmake/SetFoundFALSEConfig.cmake
Normal file
@ -0,0 +1 @@
|
|||||||
|
set(SetFoundFALSE_FOUND FALSE)
|
1
Tests/FindPackageTest/cmake/SetFoundTRUEConfig.cmake
Normal file
1
Tests/FindPackageTest/cmake/SetFoundTRUEConfig.cmake
Normal file
@ -0,0 +1 @@
|
|||||||
|
set(SetFoundTRUE_FOUND TRUE)
|
Loading…
x
Reference in New Issue
Block a user