diff options
author | Marc Chevrier <marc.chevrier@gmail.com> | 2019-02-20 15:54:47 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-02-20 19:30:57 (GMT) |
commit | 98a2d42301ec9ba0cd1c69b0a05351039bc69dc8 (patch) | |
tree | 7db14bcb2aca9f65a8c582709335a9050eb99147 | |
parent | e6897c72e7c59f7a0b82ed19c1bdb40d42f7adaa (diff) | |
download | CMake-98a2d42301ec9ba0cd1c69b0a05351039bc69dc8.zip CMake-98a2d42301ec9ba0cd1c69b0a05351039bc69dc8.tar.gz CMake-98a2d42301ec9ba0cd1c69b0a05351039bc69dc8.tar.bz2 |
PIE link options: No warning when policy CMP0083 is not set.
Fixes: #18955
-rw-r--r-- | Help/policy/CMP0083.rst | 7 | ||||
-rw-r--r-- | Source/cmGeneratorTarget.cxx | 19 |
2 files changed, 8 insertions, 18 deletions
diff --git a/Help/policy/CMP0083.rst b/Help/policy/CMP0083.rst index b26d6c8..32acf1f 100644 --- a/Help/policy/CMP0083.rst +++ b/Help/policy/CMP0083.rst @@ -23,9 +23,10 @@ which it is used, it is the project's responsibility to use the :prop_tgt:`POSITION_INDEPENDENT_CODE` target property for executables will be honored at link time. -This policy was introduced in CMake version 3.14. CMake version -|release| warns when the policy is not set and uses ``OLD`` behavior. Use -the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly. +This policy was introduced in CMake version 3.14. Use the +:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly. +Unlike most policies, CMake version |release| does not warn when this policy is +not set and simply uses ``OLD`` behavior. .. include:: DEPRECATED.txt diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 78040c3..25349d4 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -510,21 +510,10 @@ const char* cmGeneratorTarget::GetLinkPIEProperty( return nullptr; } - switch (this->GetPolicyStatusCMP0083()) { - case cmPolicies::WARN: { - std::ostringstream e; - e << cmPolicies::GetPolicyWarning(cmPolicies::CMP0083); - this->LocalGenerator->IssueMessage(MessageType::AUTHOR_WARNING, e.str()); - CM_FALLTHROUGH; - } - case cmPolicies::OLD: - return nullptr; - default: - // nothing to do - break; - } - - return PICValue.c_str(); + auto status = this->GetPolicyStatusCMP0083(); + return (status != cmPolicies::WARN && status != cmPolicies::OLD) + ? PICValue.c_str() + : nullptr; } bool cmGeneratorTarget::IsIPOEnabled(std::string const& lang, |