From 0352376e4493b132cd7a8895e7e3aadaf99d73c7 Mon Sep 17 00:00:00 2001 From: Matthew Woehlke Date: Wed, 10 Jul 2024 12:59:16 -0400 Subject: [PATCH] export: Immediately report actual version required Slightly tweak the logic that tests if a user can consume exported targets to immediately report the actual version required, rather than potentially giving the consumer false hope by reporting that 2.8 is required, only to immediately run another check that requires a more recent CMake version. (Note that the two-level check is presumably needed because CMake < 2.8 wouldn't understand VERSION_LESS.) --- Source/cmExportFileGenerator.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx index 4dddefa2b1..c412172fc3 100644 --- a/Source/cmExportFileGenerator.cxx +++ b/Source/cmExportFileGenerator.cxx @@ -994,7 +994,10 @@ void cmExportFileGenerator::GeneratePolicyHeaderCode(std::ostream& os) /* clang-format off */ os << "# Generated by CMake\n\n"; os << "if(\"${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}\" LESS 2.8)\n" - << " message(FATAL_ERROR \"CMake >= 2.8.0 required\")\n" + << " message(FATAL_ERROR \"CMake >= " + << this->RequiredCMakeVersionMajor << '.' + << this->RequiredCMakeVersionMinor << '.' + << this->RequiredCMakeVersionPatch << " required\")\n" << "endif()\n" << "if(CMAKE_VERSION VERSION_LESS \"" << this->RequiredCMakeVersionMajor << '.'