diff options
Diffstat (limited to 'Source/cmCPluginAPI.cxx')
| -rw-r--r-- | Source/cmCPluginAPI.cxx | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx index 8ebf6d2..438a077 100644 --- a/Source/cmCPluginAPI.cxx +++ b/Source/cmCPluginAPI.cxx @@ -221,8 +221,9 @@ void CCONV cmAddUtilityCommand(void* arg, const char* utilityName, // Pass the call to the makefile instance. std::vector<std::string> no_byproducts; - mf->AddUtilityCommand(utilityName, (all ? false : true), nullptr, - no_byproducts, depends2, commandLines); + mf->AddUtilityCommand(utilityName, !all, nullptr, no_byproducts, depends2, + commandLines, + mf->GetPolicyStatus(cmPolicies::CMP0116)); } void CCONV cmAddCustomCommand(void* arg, const char* source, @@ -263,7 +264,8 @@ void CCONV cmAddCustomCommand(void* arg, const char* source, // Pass the call to the makefile instance. const char* no_comment = nullptr; mf->AddCustomCommandOldStyle(target, outputs2, depends2, source, - commandLines, no_comment); + commandLines, no_comment, + mf->GetPolicyStatus(cmPolicies::CMP0116)); } void CCONV cmAddCustomCommandToOutput(void* arg, const char* output, @@ -298,7 +300,8 @@ void CCONV cmAddCustomCommandToOutput(void* arg, const char* output, const char* no_comment = nullptr; const char* no_working_dir = nullptr; mf->AddCustomCommandToOutput(output, depends2, main_dependency, commandLines, - no_comment, no_working_dir); + no_comment, no_working_dir, + mf->GetPolicyStatus(cmPolicies::CMP0116)); } void CCONV cmAddCustomCommandToTarget(void* arg, const char* target, @@ -340,7 +343,8 @@ void CCONV cmAddCustomCommandToTarget(void* arg, const char* target, const char* no_comment = nullptr; const char* no_working_dir = nullptr; mf->AddCustomCommandToTarget(target, no_byproducts, no_depends, commandLines, - cctype, no_comment, no_working_dir); + cctype, no_comment, no_working_dir, + mf->GetPolicyStatus(cmPolicies::CMP0116)); } static void addLinkLibrary(cmMakefile* mf, std::string const& target, @@ -550,6 +554,11 @@ void* CCONV cmAddSource(void* arg, void* arg2) // Create the real cmSourceFile instance and copy over saved information. cmSourceFile* rsf = mf->GetOrCreateSource(osf->FullPath); rsf->SetProperties(osf->Properties); + // In case the properties contain the GENERATED property, + // mark the real cmSourceFile as generated. + if (rsf->GetIsGenerated()) { + rsf->MarkAsGenerated(); + } for (std::string const& d : osf->Depends) { rsf->AddDepend(d); } @@ -562,7 +571,7 @@ void* CCONV cmAddSource(void* arg, void* arg2) sf->SourceExtension = osf->SourceExtension; // Store the proxy in the map so it can be re-used and deleted later. - auto value = sf.get(); + auto* value = sf.get(); cmCPluginAPISourceFiles[rsf] = std::move(sf); return value; } @@ -583,14 +592,12 @@ const char* CCONV cmSourceFileGetProperty(void* arg, const char* prop) { cmCPluginAPISourceFile* sf = static_cast<cmCPluginAPISourceFile*>(arg); if (cmSourceFile* rsf = sf->RealSourceFile) { - cmProp p = rsf->GetProperty(prop); - return cmToCStr(p); + return cmToCStr(rsf->GetProperty(prop)); } if (!strcmp(prop, "LOCATION")) { return sf->FullPath.c_str(); } - cmProp retVal = sf->Properties.GetPropertyValue(prop); - return cmToCStr(retVal); + return cmToCStr(sf->Properties.GetPropertyValue(prop)); } int CCONV cmSourceFileGetPropertyAsBool(void* arg, const char* prop) |
