Merge topic 'fix-CMP0046-warning'

d83245a3 cmTarget: Don't create duplicate backtraces in CMP0046 warning
This commit is contained in:
Brad King 2014-03-13 09:36:06 -04:00 committed by CMake Topic Stage
commit e1a671c7d8
6 changed files with 31 additions and 4 deletions

View File

@ -418,11 +418,10 @@ void cmTarget::SetMakefile(cmMakefile* mf)
//----------------------------------------------------------------------------
void cmTarget::AddUtility(const std::string& u, cmMakefile *makefile)
{
this->Utilities.insert(u);
if(makefile)
{
if(this->Utilities.insert(u).second && makefile)
{
makefile->GetBacktrace(UtilityBacktraces[u]);
}
}
}
//----------------------------------------------------------------------------

View File

@ -0,0 +1 @@
0

View File

@ -0,0 +1,10 @@
CMake Warning \(dev\) at CMP0046-Duplicate.cmake:5 \(add_dependencies\):
Policy CMP0046 is not set: Error on non-existent dependency in
add_dependencies. Run "cmake --help-policy CMP0046" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
The dependency target "ctgt_no_exist" of target "dummy" does not exist.
Call Stack \(most recent call first\):
CMP0046-Duplicate.cmake:8 \(add_dep\)
CMakeLists.txt:3 \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.

View File

@ -0,0 +1,9 @@
add_library(dummy empty.cpp)
macro(add_dep)
add_dependencies(dummy ctgt_no_exist)
endmacro()
add_dep()
add_dep()

View File

@ -6,3 +6,4 @@ run_cmake(CMP0046-WARN-missing-dependency)
run_cmake(CMP0046-OLD-existing-dependency)
run_cmake(CMP0046-NEW-existing-dependency)
run_cmake(CMP0046-Duplicate)

View File

@ -0,0 +1,7 @@
#ifdef _WIN32
__declspec(dllexport)
#endif
int empty()
{
return 0;
}