diff options
author | Marc Chevrier <marc.chevrier@gmail.com> | 2018-04-24 15:01:01 (GMT) |
---|---|---|
committer | Marc Chevrier <marc.chevrier@gmail.com> | 2018-06-06 15:22:39 (GMT) |
commit | c1f5a44b28047cde74e2fb10e8d68e314272f699 (patch) | |
tree | 6124b73331c13c92480b5352045686758d3df86f /Source/cmMakefileTargetGenerator.cxx | |
parent | 8e28d2630a60475dad715162a1802d301ada35bd (diff) | |
download | CMake-c1f5a44b28047cde74e2fb10e8d68e314272f699.zip CMake-c1f5a44b28047cde74e2fb10e8d68e314272f699.tar.gz CMake-c1f5a44b28047cde74e2fb10e8d68e314272f699.tar.bz2 |
LINK_OPTIONS: Add new family of properties
This family enable to manage link flags
Three new properties:
* directory property: LINK_OPTIONS
* target properties: LINK_OPTIONS and INTERFACE_LINK_OPTIONS
Two new commands
* add_link_options(): to populate directory property
* target_link_options(): to populate target properties
Fixes: #16543
Diffstat (limited to 'Source/cmMakefileTargetGenerator.cxx')
-rw-r--r-- | Source/cmMakefileTargetGenerator.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index 8cbddd9..08fcd8f 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/Source/cmMakefileTargetGenerator.cxx @@ -82,7 +82,8 @@ cmMakefileTargetGenerator* cmMakefileTargetGenerator::New( return result; } -void cmMakefileTargetGenerator::GetTargetLinkFlags(std::string& flags) +void cmMakefileTargetGenerator::GetTargetLinkFlags( + std::string& flags, const std::string& linkLanguage) { this->LocalGenerator->AppendFlags( flags, this->GeneratorTarget->GetProperty("LINK_FLAGS")); @@ -91,6 +92,11 @@ void cmMakefileTargetGenerator::GetTargetLinkFlags(std::string& flags) linkFlagsConfig += cmSystemTools::UpperCase(this->ConfigName); this->LocalGenerator->AppendFlags( flags, this->GeneratorTarget->GetProperty(linkFlagsConfig)); + + std::vector<std::string> opts; + this->GeneratorTarget->GetLinkOptions(opts, this->ConfigName, linkLanguage); + // LINK_OPTIONS are escaped. + this->LocalGenerator->AppendCompileOptions(flags, opts); } void cmMakefileTargetGenerator::CreateRuleFile() |