This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, next has been updated via e69ff1eaae0fed54aeb9af6c8b46e23139ccb207 (commit) via c7512801262090ce0570539434716d88fd09da1e (commit) via 2a0d0afeb9483bbfa60105f42ace246c7e605e51 (commit) via dec057e2cf5e41d72b42ba3c2d8ae1cb3803a3a8 (commit) via 6bfd310d1bedf7acce15ebbfb36c0a6b7b82a0b2 (commit) via 825fdc8b0febb04c1b442614c0b07ab918120aa0 (commit) via cad35b1f63a9b1a3dabd3762cace806e1d025fc1 (commit) via 8a86cb765e4183a2a9ce8947519246201dbb9159 (commit) via 5b63355440ed3a551eeeda65fafc84e25032246a (commit) via a0e6a84259d4f680c124a1401f1a9434773ea87c (commit) via 46e51436e3038261bd9a80d2f350e965e7921298 (commit) via a29a88ca512bb924a496984f5c44615c085553a8 (commit) via 9c78bd2764369306a2b4801e518f9d57c1cc74ec (commit) via b48fd0064b9cbb70ea1129086b70bf6c17c90a9d (commit) from 82e1694f385e55596a746d4c9d8ad06917154d51 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e69ff1eaae0fed54aeb9af6c8b46e23139ccb207 commit e69ff1eaae0fed54aeb9af6c8b46e23139ccb207 Merge: 82e1694 c751280 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 07:52:37 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sun Jul 19 07:52:37 2015 -0400 Merge topic 'end-Policy-lifetime' into next c7512801 CMP0011: Issue warning regardless of policy setting or -Wno-dev. 2a0d0afe CMP0055: Issue warning regardless of policy setting or -Wno-dev. dec057e2 CMP0056: Issue warning regardless of policy setting or -Wno-dev. 6bfd310d CMP0063: Issue warning regardless of policy setting. 825fdc8b CMP0062: Issue warning regardless of policy setting. cad35b1f CMP0061: Issue warning regardless of policy setting. 8a86cb76 CMP0060: Issue warning regardless of policy setting. 5b633554 CMP0059: Issue warning regardless of policy setting. a0e6a842 CMP0058: Issue warning regardless of policy setting. 46e51436 CMP0057: Issue warning regardless of policy setting. a29a88ca CMP0057: Test that the policy warning is not issued for OLD. 9c78bd27 CMP0057: Fix indentation. b48fd006 cmake: Add a MessageType for policies with unconditional warnings. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c7512801262090ce0570539434716d88fd09da1e commit c7512801262090ce0570539434716d88fd09da1e Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 13:46:36 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:51:45 2015 +0200 CMP0011: Issue warning regardless of policy setting or -Wno-dev. diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 8c45a3e..cad1623 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -429,6 +429,7 @@ cmMakefile::IncludeScope::IncludeScope(cmMakefile* mf, // Check CMP0011 to determine the policy scope type. switch (this->Makefile->GetPolicyStatus(cmPolicies::CMP0011)) { + case cmPolicies::OLD: case cmPolicies::WARN: // We need to push a scope to detect whether the script sets // any policies that would affect the includer and therefore @@ -437,10 +438,6 @@ cmMakefile::IncludeScope::IncludeScope(cmMakefile* mf, this->Makefile->PushPolicy(true); this->CheckCMP0011 = true; break; - case cmPolicies::OLD: - // OLD behavior is to not push a scope at all. - this->NoPolicyScope = true; - break; case cmPolicies::REQUIRED_IF_USED: case cmPolicies::REQUIRED_ALWAYS: // We should never make this policy required, but we handle it @@ -508,8 +505,8 @@ void cmMakefile::IncludeScope::EnforceCMP0011() // script might actually set this policy for its includer. switch (this->Makefile->GetPolicyStatus(cmPolicies::CMP0011)) { + case cmPolicies::OLD: case cmPolicies::WARN: - // Warn because the user did not set this policy. { std::ostringstream w; w << cmPolicies::GetPolicyWarning(cmPolicies::CMP0011) << "\n" @@ -518,7 +515,7 @@ void cmMakefile::IncludeScope::EnforceCMP0011() << "affects policy settings. " << "CMake is implying the NO_POLICY_SCOPE option for compatibility, " << "so the effects are applied to the including context."; - this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, w.str()); + this->Makefile->IssueMessage(cmake::POLICY_WARNING, w.str()); } break; case cmPolicies::REQUIRED_IF_USED: @@ -532,7 +529,6 @@ void cmMakefile::IncludeScope::EnforceCMP0011() this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str()); } break; - case cmPolicies::OLD: case cmPolicies::NEW: // The script set this policy. We assume the purpose of the // script is to initialize policies for its includer, and since diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index b4df8db..f58c3eb 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -285,8 +285,9 @@ bool cmPolicies::GetPolicyID(const char *id, cmPolicies::PolicyID &pid) static bool ignoreWNoDev(cmPolicies::PolicyID id) { - return id >= cmPolicies::CMP0055 - && id <= cmPolicies::CMP0056; + return id == cmPolicies::CMP0011 + || (id >= cmPolicies::CMP0055 + && id <= cmPolicies::CMP0056); } static bool ignorePolicySetting(cmPolicies::PolicyID id) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2a0d0afeb9483bbfa60105f42ace246c7e605e51 commit 2a0d0afeb9483bbfa60105f42ace246c7e605e51 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 13:22:04 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:51:45 2015 +0200 CMP0055: Issue warning regardless of policy setting or -Wno-dev. diff --git a/Source/cmBreakCommand.cxx b/Source/cmBreakCommand.cxx index fc0c3f5..ed41044 100644 --- a/Source/cmBreakCommand.cxx +++ b/Source/cmBreakCommand.cxx @@ -17,17 +17,14 @@ bool cmBreakCommand::InitialPass(std::vector<std::string> const &args, { if(!this->Makefile->IsLoopBlock()) { - bool issueMessage = true; std::ostringstream e; - cmake::MessageType messageType = cmake::AUTHOR_WARNING; + cmake::MessageType messageType = cmake::POLICY_WARNING; switch(this->Makefile->GetPolicyStatus(cmPolicies::CMP0055)) { + case cmPolicies::OLD: case cmPolicies::WARN: e << cmPolicies::GetPolicyWarning(cmPolicies::CMP0055) << "\n"; break; - case cmPolicies::OLD: - issueMessage = false; - break; case cmPolicies::REQUIRED_ALWAYS: case cmPolicies::REQUIRED_IF_USED: case cmPolicies::NEW: @@ -35,15 +32,12 @@ bool cmBreakCommand::InitialPass(std::vector<std::string> const &args, break; } - if(issueMessage) + e << "A BREAK command was found outside of a proper " + "FOREACH or WHILE loop scope."; + this->Makefile->IssueMessage(messageType, e.str()); + if(messageType == cmake::FATAL_ERROR) { - e << "A BREAK command was found outside of a proper " - "FOREACH or WHILE loop scope."; - this->Makefile->IssueMessage(messageType, e.str()); - if(messageType == cmake::FATAL_ERROR) - { - return false; - } + return false; } } @@ -51,17 +45,14 @@ bool cmBreakCommand::InitialPass(std::vector<std::string> const &args, if(!args.empty()) { - bool issueMessage = true; std::ostringstream e; - cmake::MessageType messageType = cmake::AUTHOR_WARNING; + cmake::MessageType messageType = cmake::POLICY_WARNING; switch(this->Makefile->GetPolicyStatus(cmPolicies::CMP0055)) { + case cmPolicies::OLD: case cmPolicies::WARN: e << cmPolicies::GetPolicyWarning(cmPolicies::CMP0055) << "\n"; break; - case cmPolicies::OLD: - issueMessage = false; - break; case cmPolicies::REQUIRED_ALWAYS: case cmPolicies::REQUIRED_IF_USED: case cmPolicies::NEW: @@ -69,14 +60,11 @@ bool cmBreakCommand::InitialPass(std::vector<std::string> const &args, break; } - if(issueMessage) + e << "The BREAK command does not accept any arguments."; + this->Makefile->IssueMessage(messageType, e.str()); + if(messageType == cmake::FATAL_ERROR) { - e << "The BREAK command does not accept any arguments."; - this->Makefile->IssueMessage(messageType, e.str()); - if(messageType == cmake::FATAL_ERROR) - { - return false; - } + return false; } } diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 5a868f8..b4df8db 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -285,7 +285,8 @@ bool cmPolicies::GetPolicyID(const char *id, cmPolicies::PolicyID &pid) static bool ignoreWNoDev(cmPolicies::PolicyID id) { - return id == cmPolicies::CMP0056; + return id >= cmPolicies::CMP0055 + && id <= cmPolicies::CMP0056; } static bool ignorePolicySetting(cmPolicies::PolicyID id) diff --git a/Tests/RunCMake/CMP0055/CMP0055-OLD-Out-of-Scope-stderr.txt b/Tests/RunCMake/CMP0055/CMP0055-OLD-Out-of-Scope-stderr.txt new file mode 100644 index 0000000..87a4d11 --- /dev/null +++ b/Tests/RunCMake/CMP0055/CMP0055-OLD-Out-of-Scope-stderr.txt @@ -0,0 +1,10 @@ +CMake Warning \(dev\) at CMP0055-OLD-Out-of-Scope.cmake:4 \(break\): + Policy CMP0055 behavior is triggered: Strict checking for break\(\) command. + Run "cmake --help-policy CMP0055" for policy details. + + This policy was introduced in CMake 3.2.0 and issues a warning regardless + of the policy setting. + + A BREAK command was found outside of a proper FOREACH or WHILE loop scope. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/CMP0055/CMP0055-OLD-Reject-Arguments-stderr.txt b/Tests/RunCMake/CMP0055/CMP0055-OLD-Reject-Arguments-stderr.txt new file mode 100644 index 0000000..346279d --- /dev/null +++ b/Tests/RunCMake/CMP0055/CMP0055-OLD-Reject-Arguments-stderr.txt @@ -0,0 +1,10 @@ +CMake Warning \(dev\) at CMP0055-OLD-Reject-Arguments.cmake:5 \(break\): + Policy CMP0055 behavior is triggered: Strict checking for break\(\) command. + Run "cmake --help-policy CMP0055" for policy details. + + This policy was introduced in CMake 3.2.0 and issues a warning regardless + of the policy setting. + + The BREAK command does not accept any arguments. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/CMP0055/CMP0055-WARN-Out-of-Scope-stderr.txt b/Tests/RunCMake/CMP0055/CMP0055-WARN-Out-of-Scope-stderr.txt index ad850ac..6c6e409 100644 --- a/Tests/RunCMake/CMP0055/CMP0055-WARN-Out-of-Scope-stderr.txt +++ b/Tests/RunCMake/CMP0055/CMP0055-WARN-Out-of-Scope-stderr.txt @@ -1,9 +1,10 @@ CMake Warning \(dev\) at CMP0055-WARN-Out-of-Scope.cmake:2 \(break\): - Policy CMP0055 is not set: Strict checking for break\(\) command. Run "cmake - --help-policy CMP0055" for policy details. Use the cmake_policy command to - set the policy and suppress this warning. + Policy CMP0055 behavior is triggered: Strict checking for break\(\) command. + Run "cmake --help-policy CMP0055" for policy details. + + This policy was introduced in CMake 3.2.0 and issues a warning regardless + of the policy setting. A BREAK command was found outside of a proper FOREACH or WHILE loop scope. Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) -This warning is for project developers. Use -Wno-dev to suppress it. diff --git a/Tests/RunCMake/CMP0055/CMP0055-WARN-Reject-Arguments-stderr.txt b/Tests/RunCMake/CMP0055/CMP0055-WARN-Reject-Arguments-stderr.txt index 3cc686d..3b9800d 100644 --- a/Tests/RunCMake/CMP0055/CMP0055-WARN-Reject-Arguments-stderr.txt +++ b/Tests/RunCMake/CMP0055/CMP0055-WARN-Reject-Arguments-stderr.txt @@ -1,9 +1,10 @@ CMake Warning \(dev\) at CMP0055-WARN-Reject-Arguments.cmake:3 \(break\): - Policy CMP0055 is not set: Strict checking for break\(\) command. Run "cmake - --help-policy CMP0055" for policy details. Use the cmake_policy command to - set the policy and suppress this warning. + Policy CMP0055 behavior is triggered: Strict checking for break\(\) command. + Run "cmake --help-policy CMP0055" for policy details. + + This policy was introduced in CMake 3.2.0 and issues a warning regardless + of the policy setting. The BREAK command does not accept any arguments. Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) -This warning is for project developers. Use -Wno-dev to suppress it. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dec057e2cf5e41d72b42ba3c2d8ae1cb3803a3a8 commit dec057e2cf5e41d72b42ba3c2d8ae1cb3803a3a8 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 13:15:17 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:51:44 2015 +0200 CMP0056: Issue warning regardless of policy setting or -Wno-dev. diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx index e1e1a5c..65dfe4a 100644 --- a/Source/cmCoreTryCompile.cxx +++ b/Source/cmCoreTryCompile.cxx @@ -328,6 +328,7 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv) } switch(this->Makefile->GetPolicyStatus(cmPolicies::CMP0056)) { + case cmPolicies::OLD: case cmPolicies::WARN: if(this->Makefile->PolicyOptionalWarningEnabled( "CMAKE_POLICY_WARNING_CMP0056")) @@ -338,10 +339,8 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv) "is not honoring caller link flags (e.g. CMAKE_EXE_LINKER_FLAGS) " "in the test project." ; - this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, w.str()); + this->Makefile->IssueMessage(cmake::POLICY_WARNING, w.str()); } - case cmPolicies::OLD: - // OLD behavior is to do nothing. break; case cmPolicies::REQUIRED_IF_USED: case cmPolicies::REQUIRED_ALWAYS: diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 6e5ee51..5a868f8 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -283,6 +283,11 @@ bool cmPolicies::GetPolicyID(const char *id, cmPolicies::PolicyID &pid) return stringToId(id, pid); } +static bool ignoreWNoDev(cmPolicies::PolicyID id) +{ + return id == cmPolicies::CMP0056; +} + static bool ignorePolicySetting(cmPolicies::PolicyID id) { return id >= cmPolicies::CMP0057 @@ -294,7 +299,17 @@ std::string cmPolicies::GetPolicyWarning(cmPolicies::PolicyID id) { std::ostringstream msg; - if (ignorePolicySetting(id)) + if (ignoreWNoDev(id)) + { + msg << + "Policy " << idToString(id) << " behavior is triggered: " + "" << idToShortDescription(id) << " " + "Run \"cmake --help-policy " << idToString(id) << "\" for " + "policy details.\nThis policy was introduced in CMake " + << idToVersion(id) + << " and issues a warning regardless of the policy setting."; + } + else if (ignorePolicySetting(id)) { msg << "Policy " << idToString(id) << " behavior is triggered: " diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 66e653c..e948caf 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -2419,6 +2419,10 @@ bool cmake::PrintMessagePreamble(cmake::MessageType t, std::ostream& msg) { msg << "CMake Deprecation Warning"; } + else if (t == cmake::POLICY_WARNING) + { + msg << "CMake Warning (dev)"; + } else if (t == cmake::POLICY_OPTIONAL_WARNING) { // Allow suppression of these warnings. diff --git a/Source/cmake.h b/Source/cmake.h index 2f574ba..68b421e 100644 --- a/Source/cmake.h +++ b/Source/cmake.h @@ -67,7 +67,8 @@ class cmake LOG, DEPRECATION_ERROR, DEPRECATION_WARNING, - POLICY_OPTIONAL_WARNING + POLICY_OPTIONAL_WARNING, + POLICY_WARNING }; diff --git a/Tests/RunCMake/try_compile/CMP0056-stderr.txt b/Tests/RunCMake/try_compile/CMP0056-stderr.txt index 5c1f0e4..5ad1f33 100644 --- a/Tests/RunCMake/try_compile/CMP0056-stderr.txt +++ b/Tests/RunCMake/try_compile/CMP0056-stderr.txt @@ -2,12 +2,27 @@ before try_compile with CMP0056 WARN-default after try_compile with CMP0056 WARN-default * CMake Warning \(dev\) at CMP0056.cmake:[0-9]+ \(try_compile\): - Policy CMP0056 is not set: Honor link flags in try_compile\(\) source-file - signature. Run "cmake --help-policy CMP0056" for policy details. Use the - cmake_policy command to set the policy and suppress this warning. + Policy CMP0056 behavior is triggered: Honor link flags in try_compile\(\) + source-file signature. Run "cmake --help-policy CMP0056" for policy + details. + + This policy was introduced in CMake 3.2.0 and issues a warning regardless + of the policy setting. For compatibility with older versions of CMake, try_compile is not honoring caller link flags \(e.g. CMAKE_EXE_LINKER_FLAGS\) in the test project. Call Stack \(most recent call first\): CMakeLists.txt:[0-9]+ \(include\) -This warning is for project developers. Use -Wno-dev to suppress it.$ ++ +CMake Warning \(dev\) at CMP0056.cmake:[0-9]+ \(try_compile\): + Policy CMP0056 behavior is triggered: Honor link flags in try_compile\(\) + source-file signature. Run "cmake --help-policy CMP0056" for policy + details. + + This policy was introduced in CMake 3.2.0 and issues a warning regardless + of the policy setting. + + For compatibility with older versions of CMake, try_compile is not honoring + caller link flags \(e.g. CMAKE_EXE_LINKER_FLAGS\) in the test project. +Call Stack \(most recent call first\): + CMakeLists.txt:[0-9]+ \(include\)$ http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6bfd310d1bedf7acce15ebbfb36c0a6b7b82a0b2 commit 6bfd310d1bedf7acce15ebbfb36c0a6b7b82a0b2 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 13:01:12 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:51:44 2015 +0200 CMP0063: Issue warning regardless of policy setting. diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 5c9ee0e..6898cb3 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -2215,7 +2215,6 @@ void cmLocalGenerator switch (target->GetPolicyStatusCMP0063()) { case cmPolicies::OLD: - return; case cmPolicies::WARN: pWarnCMP0063 = &warnCMP0063; break; @@ -2243,7 +2242,8 @@ void cmLocalGenerator warnCMP0063 << "For compatibility CMake is not honoring them for this target."; target->GetMakefile()->GetCMakeInstance() - ->IssueMessage(cmake::AUTHOR_WARNING, w.str(), target->GetBacktrace()); + ->IssueMessage(cmake::POLICY_OPTIONAL_WARNING, + w.str(), target->GetBacktrace()); } } diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 2fa6484..6e5ee51 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -286,7 +286,7 @@ bool cmPolicies::GetPolicyID(const char *id, cmPolicies::PolicyID &pid) static bool ignorePolicySetting(cmPolicies::PolicyID id) { return id >= cmPolicies::CMP0057 - && id <= cmPolicies::CMP0062; + && id <= cmPolicies::CMP0063; } ///! return a warning string for a given policy diff --git a/Tests/RunCMake/VisibilityPreset/CMP0063-OLD-stderr.txt b/Tests/RunCMake/VisibilityPreset/CMP0063-OLD-stderr.txt new file mode 100644 index 0000000..76a61c4 --- /dev/null +++ b/Tests/RunCMake/VisibilityPreset/CMP0063-OLD-stderr.txt @@ -0,0 +1,56 @@ +^CMake Warning \(dev\) at CMP0063-Common.cmake:[0-9]+ \(add_executable\): + Policy CMP0063 behavior is triggered: Honor visibility properties for all + target types. Run "cmake --help-policy CMP0063" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. + + Target "myexe" of type "EXECUTABLE" has the following visibility properties + set for CXX: + + CXX_VISIBILITY_PRESET + VISIBILITY_INLINES_HIDDEN + + For compatibility CMake is not honoring them for this target. +Call Stack \(most recent call first\): + CMP0063-OLD.cmake:[0-9]+ \(include\) + CMakeLists.txt:[0-9]+ \(include\) ++ +CMake Warning \(dev\) at CMP0063-Common.cmake:[0-9]+ \(add_library\): + Policy CMP0063 behavior is triggered: Honor visibility properties for all + target types. Run "cmake --help-policy CMP0063" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. + + Target "myobject" of type "OBJECT_LIBRARY" has the following visibility + properties set for CXX: + + CXX_VISIBILITY_PRESET + VISIBILITY_INLINES_HIDDEN + + For compatibility CMake is not honoring them for this target. +Call Stack \(most recent call first\): + CMP0063-OLD.cmake:[0-9]+ \(include\) + CMakeLists.txt:[0-9]+ \(include\) ++ +CMake Warning \(dev\) at CMP0063-Common.cmake:[0-9]+ \(add_library\): + Policy CMP0063 behavior is triggered: Honor visibility properties for all + target types. Run "cmake --help-policy CMP0063" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. + + Target "mystatic" of type "STATIC_LIBRARY" has the following visibility + properties set for CXX: + + CXX_VISIBILITY_PRESET + VISIBILITY_INLINES_HIDDEN + + For compatibility CMake is not honoring them for this target. +Call Stack \(most recent call first\): + CMP0063-OLD.cmake:[0-9]+ \(include\) + CMakeLists.txt:[0-9]+ \(include\)$ diff --git a/Tests/RunCMake/VisibilityPreset/CMP0063-OLD.cmake b/Tests/RunCMake/VisibilityPreset/CMP0063-OLD.cmake index 8378209..3507a6f 100644 --- a/Tests/RunCMake/VisibilityPreset/CMP0063-OLD.cmake +++ b/Tests/RunCMake/VisibilityPreset/CMP0063-OLD.cmake @@ -1,7 +1,7 @@ cmake_policy(SET CMP0063 OLD) enable_language(CXX) -# Ensure CMake would warn even if toolchain does not really have these flags. +# Ensure CMake warns even if toolchain does not really have these flags. set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden") set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY "-fvisibility=") diff --git a/Tests/RunCMake/VisibilityPreset/CMP0063-WARN-yes-stderr.txt b/Tests/RunCMake/VisibilityPreset/CMP0063-WARN-yes-stderr.txt index 59a4b8f..3b61ec2 100644 --- a/Tests/RunCMake/VisibilityPreset/CMP0063-WARN-yes-stderr.txt +++ b/Tests/RunCMake/VisibilityPreset/CMP0063-WARN-yes-stderr.txt @@ -1,7 +1,10 @@ ^CMake Warning \(dev\) at CMP0063-Common.cmake:[0-9]+ \(add_executable\): - Policy CMP0063 is not set: Honor visibility properties for all target - types. Run "cmake --help-policy CMP0063" for policy details. Use the - cmake_policy command to set the policy and suppress this warning. + Policy CMP0063 behavior is triggered: Honor visibility properties for all + target types. Run "cmake --help-policy CMP0063" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. Target "myexe" of type "EXECUTABLE" has the following visibility properties set for CXX: @@ -13,12 +16,14 @@ Call Stack \(most recent call first\): CMP0063-WARN-yes.cmake:[0-9]+ \(include\) CMakeLists.txt:[0-9]+ \(include\) -This warning is for project developers. Use -Wno-dev to suppress it. + CMake Warning \(dev\) at CMP0063-Common.cmake:[0-9]+ \(add_library\): - Policy CMP0063 is not set: Honor visibility properties for all target - types. Run "cmake --help-policy CMP0063" for policy details. Use the - cmake_policy command to set the policy and suppress this warning. + Policy CMP0063 behavior is triggered: Honor visibility properties for all + target types. Run "cmake --help-policy CMP0063" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. Target "myobject" of type "OBJECT_LIBRARY" has the following visibility properties set for CXX: @@ -30,12 +35,14 @@ CMake Warning \(dev\) at CMP0063-Common.cmake:[0-9]+ \(add_library\): Call Stack \(most recent call first\): CMP0063-WARN-yes.cmake:[0-9]+ \(include\) CMakeLists.txt:[0-9]+ \(include\) -This warning is for project developers. Use -Wno-dev to suppress it. + CMake Warning \(dev\) at CMP0063-Common.cmake:[0-9]+ \(add_library\): - Policy CMP0063 is not set: Honor visibility properties for all target - types. Run "cmake --help-policy CMP0063" for policy details. Use the - cmake_policy command to set the policy and suppress this warning. + Policy CMP0063 behavior is triggered: Honor visibility properties for all + target types. Run "cmake --help-policy CMP0063" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. Target "mystatic" of type "STATIC_LIBRARY" has the following visibility properties set for CXX: @@ -46,5 +53,4 @@ CMake Warning \(dev\) at CMP0063-Common.cmake:[0-9]+ \(add_library\): For compatibility CMake is not honoring them for this target. Call Stack \(most recent call first\): CMP0063-WARN-yes.cmake:[0-9]+ \(include\) - CMakeLists.txt:[0-9]+ \(include\) -This warning is for project developers. Use -Wno-dev to suppress it.$ + CMakeLists.txt:[0-9]+ \(include\)$ http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=825fdc8b0febb04c1b442614c0b07ab918120aa0 commit 825fdc8b0febb04c1b442614c0b07ab918120aa0 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 12:57:16 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:51:43 2015 +0200 CMP0062: Issue warning regardless of policy setting. diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx index 899b088..51dd795 100644 --- a/Source/cmInstallCommand.cxx +++ b/Source/cmInstallCommand.cxx @@ -882,14 +882,14 @@ bool cmInstallCommand::HandleFilesMode(std::vector<std::string> const& args) { const char *modal = 0; std::ostringstream e; - cmake::MessageType messageType = cmake::AUTHOR_WARNING; + cmake::MessageType messageType = cmake::POLICY_OPTIONAL_WARNING; switch(status) { + case cmPolicies::OLD: case cmPolicies::WARN: e << cmPolicies::GetPolicyWarning(cmPolicies::CMP0062) << "\n"; modal = "should"; - case cmPolicies::OLD: break; case cmPolicies::REQUIRED_IF_USED: case cmPolicies::REQUIRED_ALWAYS: diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 43e687f..2fa6484 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -286,7 +286,7 @@ bool cmPolicies::GetPolicyID(const char *id, cmPolicies::PolicyID &pid) static bool ignorePolicySetting(cmPolicies::PolicyID id) { return id >= cmPolicies::CMP0057 - && id <= cmPolicies::CMP0061; + && id <= cmPolicies::CMP0062; } ///! return a warning string for a given policy diff --git a/Tests/RunCMake/install/CMP0062-OLD-stderr.txt b/Tests/RunCMake/install/CMP0062-OLD-stderr.txt new file mode 100644 index 0000000..5c65ae9 --- /dev/null +++ b/Tests/RunCMake/install/CMP0062-OLD-stderr.txt @@ -0,0 +1,18 @@ +CMake Warning \(dev\) at CMP0062-OLD.cmake:[0-9]+ \(install\): + Policy CMP0062 behavior is triggered: Disallow install\(\) of export\(\) + result. Run "cmake --help-policy CMP0062" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. + + The file + + .*Tests/RunCMake/install/CMP0062-OLD-build/exported.cmake + + was generated by the export\(\) command. It should not be installed with the + install\(\) command. Use the install\(EXPORT\) mechanism instead. See the + cmake-packages\(7\) manual for more. + +Call Stack \(most recent call first\): + CMakeLists.txt:[0-9]+ \(include\) diff --git a/Tests/RunCMake/install/CMP0062-WARN-stderr.txt b/Tests/RunCMake/install/CMP0062-WARN-stderr.txt index 12ae745..62f6719 100644 --- a/Tests/RunCMake/install/CMP0062-WARN-stderr.txt +++ b/Tests/RunCMake/install/CMP0062-WARN-stderr.txt @@ -1,7 +1,10 @@ CMake Warning \(dev\) at CMP0062-WARN.cmake:[0-9]+ \(install\): - Policy CMP0062 is not set: Disallow install\(\) of export\(\) result. Run - "cmake --help-policy CMP0062" for policy details. Use the cmake_policy - command to set the policy and suppress this warning. + Policy CMP0062 behavior is triggered: Disallow install\(\) of export\(\) + result. Run "cmake --help-policy CMP0062" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. The file @@ -13,4 +16,3 @@ CMake Warning \(dev\) at CMP0062-WARN.cmake:[0-9]+ \(install\): Call Stack \(most recent call first\): CMakeLists.txt:[0-9]+ \(include\) -This warning is for project developers. Use -Wno-dev to suppress it. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cad35b1f63a9b1a3dabd3762cace806e1d025fc1 commit cad35b1f63a9b1a3dabd3762cace806e1d025fc1 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 12:53:06 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:51:43 2015 +0200 CMP0061: Issue warning regardless of policy setting. Because this policy doesn't have a warning, this does not actually change anything. diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 94c77e1..8c45a3e 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -5014,9 +5014,9 @@ bool cmMakefile::IgnoreErrorsCMP0061() const bool ignoreErrors = true; switch (this->GetPolicyStatus(cmPolicies::CMP0061)) { + case cmPolicies::OLD: case cmPolicies::WARN: // No warning for this policy! - case cmPolicies::OLD: break; case cmPolicies::REQUIRED_IF_USED: case cmPolicies::REQUIRED_ALWAYS: diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 16ff1f4..43e687f 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -286,7 +286,7 @@ bool cmPolicies::GetPolicyID(const char *id, cmPolicies::PolicyID &pid) static bool ignorePolicySetting(cmPolicies::PolicyID id) { return id >= cmPolicies::CMP0057 - && id <= cmPolicies::CMP0060; + && id <= cmPolicies::CMP0061; } ///! return a warning string for a given policy http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8a86cb765e4183a2a9ce8947519246201dbb9159 commit 8a86cb765e4183a2a9ce8947519246201dbb9159 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 12:45:49 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:51:42 2015 +0200 CMP0060: Issue warning regardless of policy setting. diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx index 1f3046a..49f0029 100644 --- a/Source/cmComputeLinkInformation.cxx +++ b/Source/cmComputeLinkInformation.cxx @@ -563,7 +563,7 @@ bool cmComputeLinkInformation::Compute() "link line will ask the linker to search for these by library " "name." ; - this->CMakeInstance->IssueMessage(cmake::AUTHOR_WARNING, w.str(), + this->CMakeInstance->IssueMessage(cmake::POLICY_OPTIONAL_WARNING, w.str(), this->Target->GetBacktrace()); } @@ -1213,6 +1213,7 @@ bool cmComputeLinkInformation::CheckImplicitDirItem(std::string const& item) // Check the policy for whether we should use the approach below. switch (this->Target->GetPolicyStatusCMP0060()) { + case cmPolicies::OLD: case cmPolicies::WARN: if (this->CMP0060Warn) { @@ -1224,7 +1225,6 @@ bool cmComputeLinkInformation::CheckImplicitDirItem(std::string const& item) this->CMP0060WarnItems.insert(item); } } - case cmPolicies::OLD: break; case cmPolicies::REQUIRED_ALWAYS: case cmPolicies::REQUIRED_IF_USED: diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 07f6328..16ff1f4 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -286,7 +286,7 @@ bool cmPolicies::GetPolicyID(const char *id, cmPolicies::PolicyID &pid) static bool ignorePolicySetting(cmPolicies::PolicyID id) { return id >= cmPolicies::CMP0057 - && id <= cmPolicies::CMP0059; + && id <= cmPolicies::CMP0060; } ///! return a warning string for a given policy diff --git a/Tests/RunCMake/CMP0060/CMP0060-WARN-ON-stderr.txt b/Tests/RunCMake/CMP0060/CMP0060-WARN-ON-stderr.txt index f6cc978..7b98684 100644 --- a/Tests/RunCMake/CMP0060/CMP0060-WARN-ON-stderr.txt +++ b/Tests/RunCMake/CMP0060/CMP0060-WARN-ON-stderr.txt @@ -1,7 +1,11 @@ ^CMake Warning \(dev\) at CMP0060-Common.cmake:[0-9]+ \(add_executable\): - Policy CMP0060 is not set: Link libraries by full path even in implicit - directories. Run "cmake --help-policy CMP0060" for policy details. Use - the cmake_policy command to set the policy and suppress this warning. + Policy CMP0060 behavior is triggered: Link libraries by full path even in + implicit directories. Run "cmake --help-policy CMP0060" for policy + details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. Some library files are in directories implicitly searched by the linker when invoked for C: @@ -13,4 +17,3 @@ Call Stack \(most recent call first\): CMP0060-WARN-ON.cmake:[0-9]+ \(include\) CMakeLists.txt:3 \(include\) -This warning is for project developers. Use -Wno-dev to suppress it.$ http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5b63355440ed3a551eeeda65fafc84e25032246a commit 5b63355440ed3a551eeeda65fafc84e25032246a Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 12:40:45 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:51:42 2015 +0200 CMP0059: Issue warning regardless of policy setting. diff --git a/Source/cmGetDirectoryPropertyCommand.cxx b/Source/cmGetDirectoryPropertyCommand.cxx index c056d95..4b4794f 100644 --- a/Source/cmGetDirectoryPropertyCommand.cxx +++ b/Source/cmGetDirectoryPropertyCommand.cxx @@ -90,10 +90,10 @@ bool cmGetDirectoryPropertyCommand { switch(this->Makefile->GetPolicyStatus(cmPolicies::CMP0059)) { + case cmPolicies::OLD: case cmPolicies::WARN: - this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, + this->Makefile->IssueMessage(cmake::POLICY_OPTIONAL_WARNING, cmPolicies::GetPolicyWarning(cmPolicies::CMP0059)); - case cmPolicies::OLD: this->StoreResult(variable, this->Makefile->GetDefineFlagsCMP0059()); return true; diff --git a/Source/cmGetPropertyCommand.cxx b/Source/cmGetPropertyCommand.cxx index 33d638b..4e5c80e 100644 --- a/Source/cmGetPropertyCommand.cxx +++ b/Source/cmGetPropertyCommand.cxx @@ -283,10 +283,10 @@ bool cmGetPropertyCommand::HandleDirectoryMode() { switch(mf->GetPolicyStatus(cmPolicies::CMP0059)) { + case cmPolicies::OLD: case cmPolicies::WARN: - mf->IssueMessage(cmake::AUTHOR_WARNING, + mf->IssueMessage(cmake::POLICY_OPTIONAL_WARNING, cmPolicies::GetPolicyWarning(cmPolicies::CMP0059)); - case cmPolicies::OLD: return this->StoreResult(mf->GetDefineFlagsCMP0059()); case cmPolicies::NEW: case cmPolicies::REQUIRED_ALWAYS: diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index bc0425a..07f6328 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -286,7 +286,7 @@ bool cmPolicies::GetPolicyID(const char *id, cmPolicies::PolicyID &pid) static bool ignorePolicySetting(cmPolicies::PolicyID id) { return id >= cmPolicies::CMP0057 - && id <= cmPolicies::CMP0058; + && id <= cmPolicies::CMP0059; } ///! return a warning string for a given policy diff --git a/Tests/RunCMake/CMP0059/CMP0059-OLD-stderr.txt b/Tests/RunCMake/CMP0059/CMP0059-OLD-stderr.txt index e35e8c5..ed16f82 100644 --- a/Tests/RunCMake/CMP0059/CMP0059-OLD-stderr.txt +++ b/Tests/RunCMake/CMP0059/CMP0059-OLD-stderr.txt @@ -1,2 +1,22 @@ +CMake Warning \(dev\) at CMP0059-OLD.cmake:6 \(get_property\): + Policy CMP0059 behavior is triggered: Do no treat DEFINITIONS as a built-in + directory property. Run "cmake --help-policy CMP0059" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) ++ DEFS: -DSOME_DEF +CMake Warning \(dev\) at CMP0059-OLD.cmake:14 \(get_property\): + Policy CMP0059 behavior is triggered: Do no treat DEFINITIONS as a built-in + directory property. Run "cmake --help-policy CMP0059" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) ++ CUSTOM CONTENT: -DSOME_DEF diff --git a/Tests/RunCMake/CMP0059/CMP0059-WARN-stderr.txt b/Tests/RunCMake/CMP0059/CMP0059-WARN-stderr.txt index 4e04d15..2617428 100644 --- a/Tests/RunCMake/CMP0059/CMP0059-WARN-stderr.txt +++ b/Tests/RunCMake/CMP0059/CMP0059-WARN-stderr.txt @@ -1,18 +1,22 @@ CMake Warning \(dev\) at CMP0059-WARN.cmake:6 \(get_property\): - Policy CMP0059 is not set: Do no treat DEFINITIONS as a built-in directory - property. Run "cmake --help-policy CMP0059" for policy details. Use the - cmake_policy command to set the policy and suppress this warning. + Policy CMP0059 behavior is triggered: Do no treat DEFINITIONS as a built-in + directory property. Run "cmake --help-policy CMP0059" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) -This warning is for project developers. Use -Wno-dev to suppress it. - ++ DEFS: -DSOME_DEF CMake Warning \(dev\) at CMP0059-WARN.cmake:14 \(get_property\): - Policy CMP0059 is not set: Do no treat DEFINITIONS as a built-in directory - property. Run "cmake --help-policy CMP0059" for policy details. Use the - cmake_policy command to set the policy and suppress this warning. + Policy CMP0059 behavior is triggered: Do no treat DEFINITIONS as a built-in + directory property. Run "cmake --help-policy CMP0059" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) -This warning is for project developers. Use -Wno-dev to suppress it. - ++ CUSTOM CONTENT: -DSOME_DEF http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a0e6a84259d4f680c124a1401f1a9434773ea87c commit a0e6a84259d4f680c124a1401f1a9434773ea87c Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sat Jul 18 21:13:59 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:51:41 2015 +0200 CMP0058: Issue warning regardless of policy setting. diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index b88b8c8..2d08a02 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -1122,7 +1122,7 @@ void cmGlobalNinjaGenerator::WriteUnknownExplicitDependencies(std::ostream& os) "", deps, cmNinjaDeps()); - if (this->PolicyCMP0058 == cmPolicies::WARN && + if (this->PolicyCMP0058 <= cmPolicies::WARN && !inSourceBuild && warnExplicitDepends.size() < 10) { warnExplicitDepends.push_back(*i); @@ -1146,7 +1146,8 @@ void cmGlobalNinjaGenerator::WriteUnknownExplicitDependencies(std::ostream& os) "Project authors should add the missing BYPRODUCTS or OUTPUT " "options to the custom commands that produce these files." ; - this->GetCMakeInstance()->IssueMessage(cmake::AUTHOR_WARNING, w.str()); + this->GetCMakeInstance()->IssueMessage(cmake::POLICY_OPTIONAL_WARNING, + w.str()); } } diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 9b923d2..bc0425a 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -285,7 +285,8 @@ bool cmPolicies::GetPolicyID(const char *id, cmPolicies::PolicyID &pid) static bool ignorePolicySetting(cmPolicies::PolicyID id) { - return id == cmPolicies::CMP0057; + return id >= cmPolicies::CMP0057 + && id <= cmPolicies::CMP0058; } ///! return a warning string for a given policy diff --git a/Tests/RunCMake/Ninja/CMP0058-WARN-no-stderr.txt b/Tests/RunCMake/Ninja/CMP0058-OLD-no-stderr.txt similarity index 58% copy from Tests/RunCMake/Ninja/CMP0058-WARN-no-stderr.txt copy to Tests/RunCMake/Ninja/CMP0058-OLD-no-stderr.txt index 439a2d9..92a713d 100644 --- a/Tests/RunCMake/Ninja/CMP0058-WARN-no-stderr.txt +++ b/Tests/RunCMake/Ninja/CMP0058-OLD-no-stderr.txt @@ -1,7 +1,11 @@ ^CMake Warning \(dev\): - Policy CMP0058 is not set: Ninja requires custom command byproducts to be - explicit. Run "cmake --help-policy CMP0058" for policy details. Use the - cmake_policy command to set the policy and suppress this warning. + Policy CMP0058 behavior is triggered: Ninja requires custom command + byproducts to be explicit. Run "cmake --help-policy CMP0058" for policy + details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. This project specifies custom command DEPENDS on files in the build tree that are not specified as the OUTPUT or BYPRODUCTS of any @@ -16,4 +20,3 @@ Project authors should add the missing BYPRODUCTS or OUTPUT options to the custom commands that produce these files. -This warning is for project developers. Use -Wno-dev to suppress it. diff --git a/Tests/RunCMake/Ninja/CMP0058-WARN-no-stderr.txt b/Tests/RunCMake/Ninja/CMP0058-WARN-no-stderr.txt index 439a2d9..92a713d 100644 --- a/Tests/RunCMake/Ninja/CMP0058-WARN-no-stderr.txt +++ b/Tests/RunCMake/Ninja/CMP0058-WARN-no-stderr.txt @@ -1,7 +1,11 @@ ^CMake Warning \(dev\): - Policy CMP0058 is not set: Ninja requires custom command byproducts to be - explicit. Run "cmake --help-policy CMP0058" for policy details. Use the - cmake_policy command to set the policy and suppress this warning. + Policy CMP0058 behavior is triggered: Ninja requires custom command + byproducts to be explicit. Run "cmake --help-policy CMP0058" for policy + details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. This project specifies custom command DEPENDS on files in the build tree that are not specified as the OUTPUT or BYPRODUCTS of any @@ -16,4 +20,3 @@ Project authors should add the missing BYPRODUCTS or OUTPUT options to the custom commands that produce these files. -This warning is for project developers. Use -Wno-dev to suppress it. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=46e51436e3038261bd9a80d2f350e965e7921298 commit 46e51436e3038261bd9a80d2f350e965e7921298 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sat Jul 18 21:09:40 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:51:29 2015 +0200 CMP0057: Issue warning regardless of policy setting. diff --git a/Source/cmConditionEvaluator.cxx b/Source/cmConditionEvaluator.cxx index 06cf7ae..5e95da9 100644 --- a/Source/cmConditionEvaluator.cxx +++ b/Source/cmConditionEvaluator.cxx @@ -688,15 +688,16 @@ bool cmConditionEvaluator::HandleLevel2(cmArgumentList &newArgs, this->HandleBinaryOp(result, reducible, arg, newArgs, argP1, argP2); } - else if(this->Policy57Status == cmPolicies::WARN) + else { std::ostringstream e; e << cmPolicies::GetPolicyWarning(cmPolicies::CMP0057) << "\n"; e << "IN_LIST will be interpreted as an operator " "when the policy is set to NEW. " - "Since the policy is not set the OLD behavior will be used."; + "Since the policy is not set to NEW, the OLD behavior will be " + "used."; - this->Makefile.IssueMessage(cmake::AUTHOR_WARNING, e.str()); + this->Makefile.IssueMessage(cmake::POLICY_OPTIONAL_WARNING, e.str()); } } diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 5026893..9b923d2 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -283,17 +283,37 @@ bool cmPolicies::GetPolicyID(const char *id, cmPolicies::PolicyID &pid) return stringToId(id, pid); } +static bool ignorePolicySetting(cmPolicies::PolicyID id) +{ + return id == cmPolicies::CMP0057; +} + ///! return a warning string for a given policy std::string cmPolicies::GetPolicyWarning(cmPolicies::PolicyID id) { std::ostringstream msg; - msg << - "Policy " << idToString(id) << " is not set: " - "" << idToShortDescription(id) << " " - "Run \"cmake --help-policy " << idToString(id) << "\" for " - "policy details. " - "Use the cmake_policy command to set the policy " - "and suppress this warning."; + + if (ignorePolicySetting(id)) + { + msg << + "Policy " << idToString(id) << " behavior is triggered: " + "" << idToShortDescription(id) << " " + "Run \"cmake --help-policy " << idToString(id) << "\" for " + "policy details.\nThis policy was introduced in CMake " + << idToVersion(id) + << " and issues a warning regardless of the policy setting. For " + "third party users of this software, the command line option " + "-Wno-dev may be used to suppress this warning."; + } + else + { + msg << + "Policy " << idToString(id) << " is not set: " + "" << idToShortDescription(id) << " " + "Run \"cmake --help-policy " << idToString(id) << "\" for " + "policy details. Use the cmake_policy command to set the policy " + "and suppress this warning."; + } return msg.str(); } diff --git a/Tests/RunCMake/CMP0057/CMP0057-OLD-stderr.txt b/Tests/RunCMake/CMP0057/CMP0057-OLD-stderr.txt index bb1197e..343cc0e 100644 --- a/Tests/RunCMake/CMP0057/CMP0057-OLD-stderr.txt +++ b/Tests/RunCMake/CMP0057/CMP0057-OLD-stderr.txt @@ -1,4 +1,17 @@ -^CMake Error at CMP0057-OLD.cmake:5 \(if\): +CMake Warning \(dev\) at CMP0057-OLD.cmake:5 \(if\): + Policy CMP0057 behavior is triggered: Support new IN_LIST if\(\) operator. + Run "cmake --help-policy CMP0057" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. + + IN_LIST will be interpreted as an operator when the policy is set to NEW. + Since the policy is not set to NEW, the OLD behavior will be used. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) ++ +CMake Error at CMP0057-OLD.cmake:5 \(if\): if given arguments: "foo" "IN_LIST" "MY_LIST" diff --git a/Tests/RunCMake/CMP0057/CMP0057-WARN-stderr.txt b/Tests/RunCMake/CMP0057/CMP0057-WARN-stderr.txt index b1c9b63..05eb8e0 100644 --- a/Tests/RunCMake/CMP0057/CMP0057-WARN-stderr.txt +++ b/Tests/RunCMake/CMP0057/CMP0057-WARN-stderr.txt @@ -1,14 +1,16 @@ CMake Warning \(dev\) at CMP0057-WARN.cmake:3 \(if\): - Policy CMP0057 is not set: Support new IN_LIST if\(\) operator. Run "cmake - --help-policy CMP0057" for policy details. Use the cmake_policy command to - set the policy and suppress this warning. + Policy CMP0057 behavior is triggered: Support new IN_LIST if\(\) operator. + Run "cmake --help-policy CMP0057" for policy details. + + This policy was introduced in CMake 3.3.0 and issues a warning regardless + of the policy setting. For third party users of this software, the command + line option -Wno-dev may be used to suppress this warning. IN_LIST will be interpreted as an operator when the policy is set to NEW. - Since the policy is not set the OLD behavior will be used. + Since the policy is not set to NEW, the OLD behavior will be used. Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) -This warning is for project developers. Use -Wno-dev to suppress it. - ++ CMake Error at CMP0057-WARN.cmake:3 \(if\): if given arguments: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a29a88ca512bb924a496984f5c44615c085553a8 commit a29a88ca512bb924a496984f5c44615c085553a8 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 12:18:34 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:44:01 2015 +0200 CMP0057: Test that the policy warning is not issued for OLD. diff --git a/Tests/RunCMake/CMP0057/CMP0057-OLD-stderr.txt b/Tests/RunCMake/CMP0057/CMP0057-OLD-stderr.txt index f3fad8d..bb1197e 100644 --- a/Tests/RunCMake/CMP0057/CMP0057-OLD-stderr.txt +++ b/Tests/RunCMake/CMP0057/CMP0057-OLD-stderr.txt @@ -1,4 +1,4 @@ -CMake Error at CMP0057-OLD.cmake:5 \(if\): +^CMake Error at CMP0057-OLD.cmake:5 \(if\): if given arguments: "foo" "IN_LIST" "MY_LIST" http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9c78bd2764369306a2b4801e518f9d57c1cc74ec commit 9c78bd2764369306a2b4801e518f9d57c1cc74ec Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sat Jul 18 21:08:29 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:44:01 2015 +0200 CMP0057: Fix indentation. diff --git a/Source/cmConditionEvaluator.cxx b/Source/cmConditionEvaluator.cxx index 61847d4..06cf7ae 100644 --- a/Source/cmConditionEvaluator.cxx +++ b/Source/cmConditionEvaluator.cxx @@ -688,16 +688,16 @@ bool cmConditionEvaluator::HandleLevel2(cmArgumentList &newArgs, this->HandleBinaryOp(result, reducible, arg, newArgs, argP1, argP2); } - else if(this->Policy57Status == cmPolicies::WARN) - { - std::ostringstream e; - e << cmPolicies::GetPolicyWarning(cmPolicies::CMP0057) << "\n"; - e << "IN_LIST will be interpreted as an operator " - "when the policy is set to NEW. " - "Since the policy is not set the OLD behavior will be used."; + else if(this->Policy57Status == cmPolicies::WARN) + { + std::ostringstream e; + e << cmPolicies::GetPolicyWarning(cmPolicies::CMP0057) << "\n"; + e << "IN_LIST will be interpreted as an operator " + "when the policy is set to NEW. " + "Since the policy is not set the OLD behavior will be used."; - this->Makefile.IssueMessage(cmake::AUTHOR_WARNING, e.str()); - } + this->Makefile.IssueMessage(cmake::AUTHOR_WARNING, e.str()); + } } ++arg; http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b48fd0064b9cbb70ea1129086b70bf6c17c90a9d commit b48fd0064b9cbb70ea1129086b70bf6c17c90a9d Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Sun Jul 19 11:54:30 2015 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Sun Jul 19 13:43:54 2015 +0200 cmake: Add a MessageType for policies with unconditional warnings. diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 7bf3832..66e653c 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -2419,6 +2419,17 @@ bool cmake::PrintMessagePreamble(cmake::MessageType t, std::ostream& msg) { msg << "CMake Deprecation Warning"; } + else if (t == cmake::POLICY_OPTIONAL_WARNING) + { + // Allow suppression of these warnings. + const char* suppress = this->State->GetCacheEntryValue( + "CMAKE_SUPPRESS_DEVELOPER_WARNINGS"); + if(suppress && cmSystemTools::IsOn(suppress)) + { + return false; + } + msg << "CMake Warning (dev)"; + } else { msg << "CMake Warning"; diff --git a/Source/cmake.h b/Source/cmake.h index f0f9411..2f574ba 100644 --- a/Source/cmake.h +++ b/Source/cmake.h @@ -66,7 +66,8 @@ class cmake WARNING, LOG, DEPRECATION_ERROR, - DEPRECATION_WARNING + DEPRECATION_WARNING, + POLICY_OPTIONAL_WARNING }; ----------------------------------------------------------------------- Summary of changes: Source/cmBreakCommand.cxx | 38 +++++-------- Source/cmComputeLinkInformation.cxx | 4 +- Source/cmConditionEvaluator.cxx | 21 ++++---- Source/cmCoreTryCompile.cxx | 5 +- Source/cmGetDirectoryPropertyCommand.cxx | 4 +- Source/cmGetPropertyCommand.cxx | 4 +- Source/cmGlobalNinjaGenerator.cxx | 5 +- Source/cmInstallCommand.cxx | 4 +- Source/cmLocalGenerator.cxx | 4 +- Source/cmMakefile.cxx | 12 ++--- Source/cmPolicies.cxx | 52 +++++++++++++++--- Source/cmake.cxx | 15 ++++++ Source/cmake.h | 4 +- .../CMP0055/CMP0055-OLD-Out-of-Scope-stderr.txt | 10 ++++ .../CMP0055-OLD-Reject-Arguments-stderr.txt | 10 ++++ .../CMP0055/CMP0055-WARN-Out-of-Scope-stderr.txt | 9 ++-- .../CMP0055-WARN-Reject-Arguments-stderr.txt | 9 ++-- Tests/RunCMake/CMP0057/CMP0057-OLD-stderr.txt | 13 +++++ Tests/RunCMake/CMP0057/CMP0057-WARN-stderr.txt | 14 ++--- Tests/RunCMake/CMP0059/CMP0059-OLD-stderr.txt | 20 +++++++ Tests/RunCMake/CMP0059/CMP0059-WARN-stderr.txt | 24 +++++---- Tests/RunCMake/CMP0060/CMP0060-WARN-ON-stderr.txt | 11 ++-- ...ARN-no-stderr.txt => CMP0058-OLD-no-stderr.txt} | 11 ++-- Tests/RunCMake/Ninja/CMP0058-WARN-no-stderr.txt | 11 ++-- .../VisibilityPreset/CMP0063-OLD-stderr.txt | 56 ++++++++++++++++++++ Tests/RunCMake/VisibilityPreset/CMP0063-OLD.cmake | 2 +- .../VisibilityPreset/CMP0063-WARN-yes-stderr.txt | 32 ++++++----- Tests/RunCMake/install/CMP0062-OLD-stderr.txt | 18 +++++++ Tests/RunCMake/install/CMP0062-WARN-stderr.txt | 10 ++-- Tests/RunCMake/try_compile/CMP0056-stderr.txt | 23 ++++++-- 30 files changed, 331 insertions(+), 124 deletions(-) create mode 100644 Tests/RunCMake/CMP0055/CMP0055-OLD-Out-of-Scope-stderr.txt create mode 100644 Tests/RunCMake/CMP0055/CMP0055-OLD-Reject-Arguments-stderr.txt copy Tests/RunCMake/Ninja/{CMP0058-WARN-no-stderr.txt => CMP0058-OLD-no-stderr.txt} (58%) create mode 100644 Tests/RunCMake/VisibilityPreset/CMP0063-OLD-stderr.txt create mode 100644 Tests/RunCMake/install/CMP0062-OLD-stderr.txt hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits