diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index ffd41d2110..22daa0e111 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -717,8 +717,15 @@ void cmLocalGenerator::GenerateInstallRules() /* clang-format off */ fout << "if(CMAKE_INSTALL_COMPONENT)\n" - " set(CMAKE_INSTALL_MANIFEST \"install_manifest_" + " if(CMAKE_INSTALL_COMPONENT MATCHES \"^[a-zA-Z0-9_.+-]+$\")\n" + " set(CMAKE_INSTALL_MANIFEST \"install_manifest_" "${CMAKE_INSTALL_COMPONENT}.txt\")\n" + " else()\n" + " string(MD5 CMAKE_INST_COMP_HASH \"${CMAKE_INSTALL_COMPONENT}\")\n" + " set(CMAKE_INSTALL_MANIFEST \"install_manifest_" + "${CMAKE_INST_COMP_HASH}.txt\")\n" + " unset(CMAKE_INST_COMP_HASH)\n" + " endif()\n" "else()\n" " set(CMAKE_INSTALL_MANIFEST \"install_manifest.txt\")\n" "endif()\n"