diff options
author | Matthew Woehlke <matthew.woehlke@kitware.com> | 2024-10-17 18:57:38 (GMT) |
---|---|---|
committer | Matthew Woehlke <matthew.woehlke@kitware.com> | 2024-10-17 18:57:38 (GMT) |
commit | f04dd93c4736ecbc74624dbf2c1b6dd58ecf3ca4 (patch) | |
tree | a4b31154d4eef745d7ae564efd44418cb6e7d695 /Tests | |
parent | 773eff6d8e6d2e6b93c41e0f41951cdb9c8b4efb (diff) | |
download | CMake-f04dd93c4736ecbc74624dbf2c1b6dd58ecf3ca4.zip CMake-f04dd93c4736ecbc74624dbf2c1b6dd58ecf3ca4.tar.gz CMake-f04dd93c4736ecbc74624dbf2c1b6dd58ecf3ca4.tar.bz2 |
cmExportPackageInfoGenerator: Fix version properties
Fix a small bug in cmExportPackageInfoGenerator that caused extended
version properties ("compat_version", "version_schema")) to be emitted
when empty. Add a test to ensure this is working as intended.
Fixes: #26264
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/RunCMake/PackageInfo/MinimalVersion-check.cmake | 21 | ||||
-rw-r--r-- | Tests/RunCMake/PackageInfo/MinimalVersion.cmake | 19 | ||||
-rw-r--r-- | Tests/RunCMake/PackageInfo/RunCMakeTest.cmake | 1 |
3 files changed, 41 insertions, 0 deletions
diff --git a/Tests/RunCMake/PackageInfo/MinimalVersion-check.cmake b/Tests/RunCMake/PackageInfo/MinimalVersion-check.cmake new file mode 100644 index 0000000..8facefa --- /dev/null +++ b/Tests/RunCMake/PackageInfo/MinimalVersion-check.cmake @@ -0,0 +1,21 @@ +include(${CMAKE_CURRENT_LIST_DIR}/Assertions.cmake) + +set(out_dir "${RunCMake_BINARY_DIR}/MinimalVersion-build/CMakeFiles/Export/510c5684a4a8a792eadfb55bc9744983") + +file(READ "${out_dir}/foo1.cps" content) +expect_value("${content}" "foo1" "name") +expect_value("${content}" "1.0" "version") +expect_missing("${content}" "compat_version") +expect_missing("${content}" "version_schema") + +file(READ "${out_dir}/foo2.cps" content) +expect_value("${content}" "foo2" "name") +expect_value("${content}" "1.5" "version") +expect_value("${content}" "1.0" "compat_version") +expect_missing("${content}" "version_schema") + +file(READ "${out_dir}/foo3.cps" content) +expect_value("${content}" "foo3" "name") +expect_value("${content}" "1.0" "version") +expect_missing("${content}" "compat_version") +expect_value("${content}" "simple" "version_schema") diff --git a/Tests/RunCMake/PackageInfo/MinimalVersion.cmake b/Tests/RunCMake/PackageInfo/MinimalVersion.cmake new file mode 100644 index 0000000..ea4679c --- /dev/null +++ b/Tests/RunCMake/PackageInfo/MinimalVersion.cmake @@ -0,0 +1,19 @@ +add_library(foo INTERFACE) +install(TARGETS foo EXPORT foo DESTINATION .) + +install(PACKAGE_INFO foo1 + EXPORT foo + VERSION 1.0 + DESTINATION cps) + +install(PACKAGE_INFO foo2 + EXPORT foo + VERSION 1.5 + COMPAT_VERSION 1.0 + DESTINATION cps) + +install(PACKAGE_INFO foo3 + EXPORT foo + VERSION 1.0 + VERSION_SCHEMA simple + DESTINATION cps) diff --git a/Tests/RunCMake/PackageInfo/RunCMakeTest.cmake b/Tests/RunCMake/PackageInfo/RunCMakeTest.cmake index 54a32d5..e90c371 100644 --- a/Tests/RunCMake/PackageInfo/RunCMakeTest.cmake +++ b/Tests/RunCMake/PackageInfo/RunCMakeTest.cmake @@ -27,6 +27,7 @@ run_cmake(Appendix) run_cmake(InterfaceProperties) run_cmake(Metadata) run_cmake(Minimal) +run_cmake(MinimalVersion) run_cmake(LowerCaseFile) run_cmake(Requirements) run_cmake(TargetTypes) |