[Cmake-commits] CMake branch, next, updated. v2.8.12-4812-g357b100
Brad King
brad.king at kitware.com
Sun Nov 3 09:17:56 EST 2013
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 357b100061179e176e04fa7206dbaafc9f3c9c71 (commit)
via f51689dd420af6424c26e6d544671e60fda89f00 (commit)
via 0a561a03475f4ed1e017802970a8f17998fe05c3 (commit)
via 1c89624f5bd492312d53f83eaf11fa46fc67e425 (commit)
via 26ba0748f0c2778dc920e7d0808d25036add2c11 (commit)
from 8cf028b99d19e47d8f299688559b23c4241bc215 (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=357b100061179e176e04fa7206dbaafc9f3c9c71
commit 357b100061179e176e04fa7206dbaafc9f3c9c71
Merge: 8cf028b f51689d
Author: Brad King <brad.king at kitware.com>
AuthorDate: Sun Nov 3 09:17:53 2013 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sun Nov 3 09:17:53 2013 -0500
Merge topic 'policy-CMP0022-fixes-for-master' into next
f51689d Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-master
0a561a0 CMP0022: Warn about a given target at most once
1c89624 Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-master
26ba074 CMP0022: Inititalize warning suppression in call constructors
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f51689dd420af6424c26e6d544671e60fda89f00
commit f51689dd420af6424c26e6d544671e60fda89f00
Merge: 1c89624 0a561a0
Author: Brad King <brad.king at kitware.com>
AuthorDate: Sun Nov 3 09:15:58 2013 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Sun Nov 3 09:15:58 2013 -0500
Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-master
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0a561a03475f4ed1e017802970a8f17998fe05c3
commit 0a561a03475f4ed1e017802970a8f17998fe05c3
Author: Brad King <brad.king at kitware.com>
AuthorDate: Sun Nov 3 06:45:21 2013 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Sun Nov 3 09:14:54 2013 -0500
CMP0022: Warn about a given target at most once
Since cmTarget::ComputeLinkInterface is called separately for each
"head" target that links a target, the warning we produce when
CMP0022 is not set could be repeated. Add explicit logic to allow
the warning to appear at most once. Multiple copies of the warning
for the same target are almost always identical and therefore
redundant. In the rare case that two copies of the warning are
different, the second can appear in a future run after the first
is fixed.
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 3365caf..3598fcc 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -83,10 +83,12 @@ class cmTargetInternals
public:
cmTargetInternals()
{
+ this->PolicyWarnedCMP0022 = false;
this->SourceFileFlagsConstructed = false;
}
cmTargetInternals(cmTargetInternals const& r)
{
+ this->PolicyWarnedCMP0022 = false;
this->SourceFileFlagsConstructed = false;
// Only some of these entries are part of the object state.
// Others not copied here are result caches.
@@ -109,6 +111,7 @@ public:
typedef std::map<TargetConfigPair, OptionalLinkInterface>
LinkInterfaceMapType;
LinkInterfaceMapType LinkInterfaceMap;
+ bool PolicyWarnedCMP0022;
typedef std::map<cmStdString, cmTarget::OutputInfo> OutputInfoMapType;
OutputInfoMapType OutputInfoMap;
@@ -6433,7 +6436,8 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface,
}
}
- if(explicitLibraries && this->PolicyStatusCMP0022 == cmPolicies::WARN)
+ if(explicitLibraries && this->PolicyStatusCMP0022 == cmPolicies::WARN &&
+ !this->Internal->PolicyWarnedCMP0022)
{
// Compare the explicitly set old link interface properties to the
// preferred new link interface property one and warn if different.
@@ -6455,6 +6459,7 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface,
linkIfaceProp << ":\n"
" " << (explicitLibraries ? explicitLibraries : "(empty)") << "\n";
this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, w.str());
+ this->Internal->PolicyWarnedCMP0022 = true;
}
}
@@ -6544,7 +6549,8 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface,
iface.Languages = impl->Languages;
}
- if(this->PolicyStatusCMP0022 == cmPolicies::WARN)
+ if(this->PolicyStatusCMP0022 == cmPolicies::WARN &&
+ !this->Internal->PolicyWarnedCMP0022)
{
// Compare the link implementation fallback link interface to the
// preferred new link interface property and warn if different.
@@ -6603,6 +6609,7 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface,
"Link implementation:\n"
" " << oldLibraries << "\n";
this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, w.str());
+ this->Internal->PolicyWarnedCMP0022 = true;
}
}
}
diff --git a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-exe-stderr.txt b/Tests/RunCMake/CMP0022/CMP0022-NOWARN-exe-stderr.txt
new file mode 100644
index 0000000..10f3293
--- /dev/null
+++ b/Tests/RunCMake/CMP0022/CMP0022-NOWARN-exe-stderr.txt
@@ -0,0 +1 @@
+^$
diff --git a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-exe.cmake b/Tests/RunCMake/CMP0022/CMP0022-NOWARN-exe.cmake
new file mode 100644
index 0000000..b0268c8
--- /dev/null
+++ b/Tests/RunCMake/CMP0022/CMP0022-NOWARN-exe.cmake
@@ -0,0 +1,7 @@
+enable_language(CXX)
+
+add_library(testLib empty_vs6_1.cpp)
+add_executable(testExe empty_vs6_2.cpp)
+target_link_libraries(testExe testLib)
+
+export(TARGETS testExe FILE "${CMAKE_CURRENT_BINARY_DIR}/cmp0022NOWARN-exe.cmake")
diff --git a/Tests/RunCMake/CMP0022/CMP0022-WARN-stderr.txt b/Tests/RunCMake/CMP0022/CMP0022-WARN-stderr.txt
index f849be2..2f7dfbf 100644
--- a/Tests/RunCMake/CMP0022/CMP0022-WARN-stderr.txt
+++ b/Tests/RunCMake/CMP0022/CMP0022-WARN-stderr.txt
@@ -1,4 +1,4 @@
-CMake Warning \(dev\) in CMakeLists.txt:
+^CMake Warning \(dev\) in CMakeLists.txt:
Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
interface. Run "cmake --help-policy CMP0022" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
diff --git a/Tests/RunCMake/CMP0022/CMP0022-WARN.cmake b/Tests/RunCMake/CMP0022/CMP0022-WARN.cmake
index 24b7f45..fe7e858 100644
--- a/Tests/RunCMake/CMP0022/CMP0022-WARN.cmake
+++ b/Tests/RunCMake/CMP0022/CMP0022-WARN.cmake
@@ -9,3 +9,8 @@ set_property(TARGET bar PROPERTY LINK_INTERFACE_LIBRARIES bat)
add_library(user empty.cpp)
target_link_libraries(user bar)
+
+# Use "bar" again with a different "head" target to check
+# that the warning does not appear again.
+add_library(user2 empty_vs6_3.cpp)
+target_link_libraries(user2 bar)
diff --git a/Tests/RunCMake/CMP0022/RunCMakeTest.cmake b/Tests/RunCMake/CMP0022/RunCMakeTest.cmake
index 45b56e4..2781d20 100644
--- a/Tests/RunCMake/CMP0022/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CMP0022/RunCMakeTest.cmake
@@ -4,6 +4,7 @@ run_cmake(CMP0022-WARN)
run_cmake(CMP0022-WARN-tll)
run_cmake(CMP0022-WARN-static)
run_cmake(CMP0022-WARN-empty-old)
+run_cmake(CMP0022-NOWARN-exe)
run_cmake(CMP0022-NOWARN-shared)
run_cmake(CMP0022-NOWARN-static)
run_cmake(CMP0022-NOWARN-static-link_libraries)
diff --git a/Tests/RunCMake/CMP0022/empty_vs6_4.cpp b/Tests/RunCMake/CMP0022/empty_vs6_4.cpp
new file mode 100644
index 0000000..7efedab
--- /dev/null
+++ b/Tests/RunCMake/CMP0022/empty_vs6_4.cpp
@@ -0,0 +1 @@
+#include "empty.cpp"
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1c89624f5bd492312d53f83eaf11fa46fc67e425
commit 1c89624f5bd492312d53f83eaf11fa46fc67e425
Merge: c9a2c99 26ba074
Author: Brad King <brad.king at kitware.com>
AuthorDate: Sun Nov 3 09:14:31 2013 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Sun Nov 3 09:14:31 2013 -0500
Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-master
diff --cc Source/cmTarget.cxx
index d9d79fa,3598fcc..7e87514
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@@ -84,9 -86,13 +84,10 @@@ public
this->PolicyWarnedCMP0022 = false;
this->SourceFileFlagsConstructed = false;
}
- cmTargetInternals(cmTargetInternals const& r)
+ cmTargetInternals(cmTargetInternals const&)
{
+ this->PolicyWarnedCMP0022 = false;
this->SourceFileFlagsConstructed = false;
- // Only some of these entries are part of the object state.
- // Others not copied here are result caches.
- this->SourceEntries = r.SourceEntries;
}
~cmTargetInternals();
typedef cmTarget::SourceFileFlags SourceFileFlags;
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=26ba0748f0c2778dc920e7d0808d25036add2c11
commit 26ba0748f0c2778dc920e7d0808d25036add2c11
Author: Brad King <brad.king at kitware.com>
AuthorDate: Sun Nov 3 09:14:18 2013 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Sun Nov 3 09:14:18 2013 -0500
CMP0022: Inititalize warning suppression in call constructors
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 7bdf60f..3598fcc 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -88,6 +88,7 @@ public:
}
cmTargetInternals(cmTargetInternals const& r)
{
+ this->PolicyWarnedCMP0022 = false;
this->SourceFileFlagsConstructed = false;
// Only some of these entries are part of the object state.
// Others not copied here are result caches.
-----------------------------------------------------------------------
Summary of changes:
Source/cmTarget.cxx | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list