Browse Source

generated-scripts: improve prose messages with CMake lists

Instead of printing a CMake list, make it an English-style list. This
also allows the line-break algorithm to make these messages much more
readable.
Ben Boeckel 3 years ago
parent
commit
a1a7f62918
2 changed files with 7 additions and 3 deletions
  1. 4 2
      Source/cmExportFileGenerator.cxx
  2. 3 1
      Source/cmInstallExportGenerator.cxx

+ 4 - 2
Source/cmExportFileGenerator.cxx

@@ -1006,9 +1006,11 @@ void cmExportFileGenerator::GenerateExpectedTargetsCode(
         "  return()\n"
         "endif()\n"
         "if(NOT _cmake_targets_defined STREQUAL \"\")\n"
+        "  string(REPLACE \";\" \", \" _cmake_targets_defined_text \"${_cmake_targets_defined}\")\n"
+        "  string(REPLACE \";\" \", \" _cmake_targets_not_defined_text \"${_cmake_targets_not_defined}\")\n"
         "  message(FATAL_ERROR \"Some (but not all) targets in this export "
-        "set were already defined.\\nTargets Defined: ${_cmake_targets_defined}\\n"
-        "Targets not yet defined: ${_cmake_targets_not_defined}\\n\")\n"
+        "set were already defined.\\nTargets Defined: ${_cmake_targets_defined_text}\\n"
+        "Targets not yet defined: ${_cmake_targets_not_defined_text}\\n\")\n"
         "endif()\n"
         "unset(_cmake_targets_defined)\n"
         "unset(_cmake_targets_not_defined)\n"

+ 3 - 1
Source/cmInstallExportGenerator.cxx

@@ -202,8 +202,10 @@ void cmInstallExportGenerator::GenerateScriptActions(std::ostream& os,
   os << indentNN << "file(GLOB _cmake_old_config_files \"" << installedDir
      << this->EFGen->GetConfigImportFileGlob() << "\")\n";
   os << indentNN << "if(_cmake_old_config_files)\n";
+  os << indentNNN << "string(REPLACE \";\" \", \" _cmake_old_config_files_text \"${_cmake_old_config_files}\")\n";
   os << indentNNN << R"(message(STATUS "Old export file \")" << installedFile
-     << "\\\" will be replaced.  Removing files [${_cmake_old_config_files}].\")\n";
+     << "\\\" will be replaced.  Removing files [${_cmake_old_config_files_text}].\")\n";
+  os << indentNNN << "unset(_cmake_old_config_files_text)\n";
   os << indentNNN << "file(REMOVE ${_cmake_old_config_files})\n";
   os << indentNN << "endif()\n";
   os << indentNN << "unset(_cmake_old_config_files)\n";