Don't populate INTERFACE includes and defines properties in tll.
This is a partial revert of commit 77cecb77
(Add includes and compile
definitions with target_link_libraries., 2012-11-05).
As the interface includes and defines are now determined by the link
closure, there is no need to populate the corresponding properties
explicitly.
This commit is contained in:
parent
567c8d103e
commit
e1f908015f
|
@ -251,43 +251,11 @@ cmTargetLinkLibrariesCommand
|
||||||
this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, w.str());
|
this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, w.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
|
||||||
static std::string compileProperty(cmTarget *tgt, const std::string &lib,
|
|
||||||
bool isGenex,
|
|
||||||
const std::string &property,
|
|
||||||
cmTarget::LinkLibraryType llt)
|
|
||||||
{
|
|
||||||
std::string value = !isGenex ? "$<LINKED:" + lib + ">"
|
|
||||||
: "$<$<TARGET_DEFINED:" + lib + ">:" +
|
|
||||||
"$<TARGET_PROPERTY:" + lib +
|
|
||||||
",INTERFACE_" + property + ">"
|
|
||||||
">";
|
|
||||||
|
|
||||||
return tgt->GetDebugGeneratorExpressions(value, llt);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
void
|
void
|
||||||
cmTargetLinkLibrariesCommand::HandleLibrary(const char* lib,
|
cmTargetLinkLibrariesCommand::HandleLibrary(const char* lib,
|
||||||
cmTarget::LinkLibraryType llt)
|
cmTarget::LinkLibraryType llt)
|
||||||
{
|
{
|
||||||
const bool isGenex = cmGeneratorExpression::Find(lib) != std::string::npos;
|
|
||||||
|
|
||||||
const bool potentialTargetName
|
|
||||||
= cmGeneratorExpression::IsValidTargetName(lib);
|
|
||||||
|
|
||||||
if (potentialTargetName || isGenex)
|
|
||||||
{
|
|
||||||
this->Target->AppendProperty("INCLUDE_DIRECTORIES",
|
|
||||||
compileProperty(this->Target, lib,
|
|
||||||
isGenex,
|
|
||||||
"INCLUDE_DIRECTORIES", llt).c_str());
|
|
||||||
this->Target->AppendProperty("COMPILE_DEFINITIONS",
|
|
||||||
compileProperty(this->Target, lib,
|
|
||||||
isGenex,
|
|
||||||
"COMPILE_DEFINITIONS", llt).c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handle normal case first.
|
// Handle normal case first.
|
||||||
if(this->CurrentProcessingState != ProcessingLinkInterface)
|
if(this->CurrentProcessingState != ProcessingLinkInterface)
|
||||||
{
|
{
|
||||||
|
@ -308,18 +276,6 @@ cmTargetLinkLibrariesCommand::HandleLibrary(const char* lib,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (potentialTargetName || isGenex)
|
|
||||||
{
|
|
||||||
this->Target->AppendProperty("INTERFACE_COMPILE_DEFINITIONS",
|
|
||||||
compileProperty(this->Target, lib,
|
|
||||||
isGenex,
|
|
||||||
"COMPILE_DEFINITIONS", llt).c_str());
|
|
||||||
this->Target->AppendProperty("INTERFACE_INCLUDE_DIRECTORIES",
|
|
||||||
compileProperty(this->Target, lib,
|
|
||||||
isGenex,
|
|
||||||
"INCLUDE_DIRECTORIES", llt).c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the list of configurations considered to be DEBUG.
|
// Get the list of configurations considered to be DEBUG.
|
||||||
std::vector<std::string> const& debugConfigs =
|
std::vector<std::string> const& debugConfigs =
|
||||||
this->Makefile->GetCMakeInstance()->GetDebugConfigs();
|
this->Makefile->GetCMakeInstance()->GetDebugConfigs();
|
||||||
|
|
|
@ -23,21 +23,22 @@ CMake Debug Log at DebugIncludes.cmake:18 \(include_directories\):
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:3 \(include\)
|
CMakeLists.txt:3 \(include\)
|
||||||
+
|
+
|
||||||
CMake Debug Log at DebugIncludes.cmake:26 \(target_link_libraries\):
|
CMake Debug Log at DebugIncludes.cmake:33 \(set_property\):
|
||||||
Used includes for target lll:
|
Used includes for target lll:
|
||||||
|
|
||||||
\* .*/Tests/RunCMake/include_directories/five
|
\* .*/Tests/RunCMake/include_directories/five
|
||||||
|
|
||||||
Call Stack \(most recent call first\):
|
|
||||||
CMakeLists.txt:3 \(include\)
|
|
||||||
+
|
|
||||||
CMake Debug Log at DebugIncludes.cmake:29 \(set_property\):
|
|
||||||
Used includes for target lll:
|
|
||||||
|
|
||||||
\* .*/Tests/RunCMake/include_directories/six
|
\* .*/Tests/RunCMake/include_directories/six
|
||||||
\* .*/Tests/RunCMake/include_directories/seven
|
\* .*/Tests/RunCMake/include_directories/seven
|
||||||
|
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
DebugIncludes.cmake:40 \(some_macro\)
|
DebugIncludes.cmake:44 \(some_macro\)
|
||||||
DebugIncludes.cmake:43 \(some_function\)
|
DebugIncludes.cmake:47 \(some_function\)
|
||||||
|
CMakeLists.txt:3 \(include\)
|
||||||
|
+
|
||||||
|
CMake Debug Log at DebugIncludes.cmake:30 \(target_link_libraries\):
|
||||||
|
Used includes for target lll:
|
||||||
|
|
||||||
|
\* .*/Tests/RunCMake/include_directories/eight
|
||||||
|
|
||||||
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:3 \(include\)
|
CMakeLists.txt:3 \(include\)
|
||||||
|
|
|
@ -22,7 +22,11 @@ include_directories(
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(foo "${CMAKE_CURRENT_BINARY_DIR}/DebugIncludes.cpp")
|
add_library(foo "${CMAKE_CURRENT_BINARY_DIR}/DebugIncludes.cpp")
|
||||||
target_include_directories(foo INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/five")
|
target_include_directories(foo
|
||||||
|
INTERFACE
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/seven"
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/eight"
|
||||||
|
)
|
||||||
target_link_libraries(lll foo)
|
target_link_libraries(lll foo)
|
||||||
|
|
||||||
macro(some_macro)
|
macro(some_macro)
|
||||||
|
|
Loading…
Reference in New Issue