diff --git a/Source/cmDyndepCollation.cxx b/Source/cmDyndepCollation.cxx index 50a38d0128..981e14c658 100644 --- a/Source/cmDyndepCollation.cxx +++ b/Source/cmDyndepCollation.cxx @@ -370,27 +370,6 @@ Json::Value CollationInformationExports(cmGeneratorTarget const* gt) return tdi_exports; } -std::vector -MakePreprocessorDefines(std::vector const& defines) -{ - std::vector result; - result.reserve(defines.size()); - - for (auto const& def : defines) { - cmCxxModuleMetadata::PreprocessorDefineData data; - auto offset = def.find('='); - if (offset == def.npos) { - data.Name = def; - } else { - data.Name = def.substr(0, offset); - data.Value = def.substr(offset); - } - result.emplace_back(std::move(data)); - } - - return result; -} - } void cmDyndepCollation::AddCollationInformation( @@ -826,11 +805,11 @@ bool cmDyndepCollation::WriteDyndepMetadata( mod.LogicalName = p.LogicalName; mod.IsInterface = p.IsInterface; - auto& local_args = mod.LocalArguments.emplace(); - local_args.Definitions = MakePreprocessorDefines(file_set.Definitions); - local_args.IncludeDirectories = file_set.IncludeDirectories; - local_args.CompileOptions = file_set.CompileOptions; - local_args.CompileFeatures = file_set.CompileFeatures; + // FIXME(#27565): Local arguments may refer to include directories or + // other resources which live in unknown locations on the consuming + // machine. There's no general-purpose way to solve this with module + // manifests as currently specified. For now, forego serializing them + // and rely on CPS to fill in the blanks. exp.Manifest.Modules.emplace_back(std::move(mod));