1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-16 14:08:35 +08:00

FileAPI: Ignore unresolved FileSet generators

Fixes: #27054
This commit is contained in:
Vito Gamberini
2025-07-09 10:08:47 -04:00
parent 9953069215
commit ea6404b9c4
4 changed files with 12 additions and 3 deletions

View File

@@ -1068,10 +1068,16 @@ Json::Value DirectoryObject::DumpInstaller(cmInstallGenerator* gen)
} }
} else if (auto* installFileSet = } else if (auto* installFileSet =
dynamic_cast<cmInstallFileSetGenerator*>(gen)) { dynamic_cast<cmInstallFileSetGenerator*>(gen)) {
auto const* fileSet = installFileSet->GetFileSet();
// No fileSet by that name exists for the associated target
if (!fileSet) {
return installer;
}
installer["type"] = "fileSet"; installer["type"] = "fileSet";
installer["destination"] = installFileSet->GetDestination(this->Config); installer["destination"] = installFileSet->GetDestination(this->Config);
auto const* fileSet = installFileSet->GetFileSet();
auto* target = installFileSet->GetTarget(); auto* target = installFileSet->GetTarget();
auto dirCges = fileSet->CompileDirectoryEntries(); auto dirCges = fileSet->CompileDirectoryEntries();

View File

@@ -187,7 +187,7 @@
"backtrace": [ "backtrace": [
{ {
"file": "^fileset/CMakeLists\\.txt$", "file": "^fileset/CMakeLists\\.txt$",
"line": 25, "line": 28,
"command": "install", "command": "install",
"hasParent": true "hasParent": true
}, },

View File

@@ -88,7 +88,7 @@
"backtrace": [ "backtrace": [
{ {
"file": "^fileset/CMakeLists\\.txt$", "file": "^fileset/CMakeLists\\.txt$",
"line": 25, "line": 28,
"command": "install", "command": "install",
"hasParent": true "hasParent": true
}, },

View File

@@ -21,5 +21,8 @@ install(TARGETS c_headers_1
FILE_SET HEADERS DESTINATION include COMPONENT Headers FILE_SET HEADERS DESTINATION include COMPONENT Headers
FILE_SET b DESTINATION include/dir FILE_SET b DESTINATION include/dir
FILE_SET c FILE_SET c
# Non-extant FILE_SET should be ignored
FILE_SET d
) )
install(TARGETS c_headers_2) install(TARGETS c_headers_2)