summaryrefslogtreecommitdiffstats
path: root/Tests/FindPackageTest/CMakeLists.txt
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-17 14:06:36 (GMT)
committerBrad King <brad.king@kitware.com>2008-01-17 14:06:36 (GMT)
commit81af53e3c0b00005d2cf81a4a5482474573dd4b1 (patch)
treeb3903b457743dddcc46a174f5951231e90099efe /Tests/FindPackageTest/CMakeLists.txt
parentb424df917dc14ea7376940c6c22a3a274aedcc2b (diff)
downloadCMake-81af53e3c0b00005d2cf81a4a5482474573dd4b1.zip
CMake-81af53e3c0b00005d2cf81a4a5482474573dd4b1.tar.gz
CMake-81af53e3c0b00005d2cf81a4a5482474573dd4b1.tar.bz2
ENH: Updated FindPackageTest to test new find_package command features.
Diffstat (limited to 'Tests/FindPackageTest/CMakeLists.txt')
-rw-r--r--Tests/FindPackageTest/CMakeLists.txt59
1 files changed, 59 insertions, 0 deletions
diff --git a/Tests/FindPackageTest/CMakeLists.txt b/Tests/FindPackageTest/CMakeLists.txt
index 922354c..5d21fee 100644
--- a/Tests/FindPackageTest/CMakeLists.txt
+++ b/Tests/FindPackageTest/CMakeLists.txt
@@ -22,3 +22,62 @@ IF(NOT FOO_DIR)
CMAKE_PREFIX_PATH = ${CMAKE_PREFIX_PATH}")
ENDIF(NOT FOO_DIR)
+#SET(CMAKE_FIND_DEBUG_MODE 1)
+
+# For purposes of the test wipe out previous find results.
+SET(PACKAGES foo Foo Bar TFramework Tframework TApp Tapp Special)
+FOREACH(p ${PACKAGES})
+ SET(${p}_DIR "" CACHE FILEPATH "Wipe out find results for testing." FORCE)
+ENDFOREACH(p)
+
+# Enable framework and bundle searching. Make sure bundles are found
+# before unix-syle packages.
+SET(CMAKE_FIND_FRAMEWORK LAST)
+SET(CMAKE_FIND_APPBUNDLE FIRST)
+
+# Look for packages with new-style signatures.
+FIND_PACKAGE(foo NO_MODULE)
+FIND_PACKAGE(Foo CONFIGS FooConfig.cmake)
+FIND_PACKAGE(Bar)
+FIND_PACKAGE(TFramework CONFIGS TFrameworkConfig.cmake)
+FIND_PACKAGE(Tframework)
+FIND_PACKAGE(TApp)
+FIND_PACKAGE(Tapp CONFIGS tapp-config.cmake)
+FIND_PACKAGE(Special NAMES Suffix SuffixTest PATH_SUFFIXES test)
+
+# Expected locations at which packages should be found.
+SET(foo_EXPECTED "lib/foo-1.2/foo-config.cmake")
+SET(Foo_EXPECTED "lib/foo-1.2/CMake/FooConfig.cmake")
+SET(Bar_EXPECTED "lib/Bar/BarConfig.cmake")
+SET(Special_EXPECTED "lib/suffix/test/SuffixTestConfig.cmake")
+SET(TFramework_EXPECTED
+ "TFramework.framework/Versions/A/Resources/CMake/TFrameworkConfig.cmake")
+SET(Tframework_EXPECTED
+ "TFramework.framework/Versions/A/Resources/tframework-config.cmake")
+SET(TApp_EXPECTED
+ "TApp.app/Contents/Resources/TAppConfig.cmake")
+SET(Tapp_EXPECTED
+ "TApp.app/Contents/Resources/cmake/tapp-config.cmake")
+
+# Check the results.
+FOREACH(p ${PACKAGES})
+ IF(${p}_FOUND)
+ # Convert to relative path for comparison to expected location.
+ FILE(RELATIVE_PATH REL_${p}_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}"
+ "${${p}_CONFIG}")
+
+ # Debugging output.
+ IF(CMAKE_FIND_DEBUG_MODE)
+ MESSAGE("Package ${p} found [${REL_${p}_CONFIG}]")
+ ENDIF(CMAKE_FIND_DEBUG_MODE)
+
+ # Check and report failure.
+ IF(NOT "${REL_${p}_CONFIG}" STREQUAL "${${p}_EXPECTED}")
+ MESSAGE(SEND_ERROR
+ "Package ${p} should have been [${${p}_EXPECTED}] but "
+ "was [${REL_${p}_CONFIG}]")
+ ENDIF(NOT "${REL_${p}_CONFIG}" STREQUAL "${${p}_EXPECTED}")
+ ELSE(${p}_FOUND)
+ MESSAGE(SEND_ERROR "Package ${p} not found!")
+ ENDIF(${p}_FOUND)
+ENDFOREACH(p)