summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-02-12 10:58:50 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-02-13 14:12:31 (GMT)
commite1f908015f943ed507063260b3aae1f3b503237e (patch)
tree32643d048d7a5fe48062d2a21df2deda4be90ce8
parent567c8d103ed3c3cb7303877d89e8508dd3f8d0ca (diff)
downloadCMake-e1f908015f943ed507063260b3aae1f3b503237e.zip
CMake-e1f908015f943ed507063260b3aae1f3b503237e.tar.gz
CMake-e1f908015f943ed507063260b3aae1f3b503237e.tar.bz2
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.
-rw-r--r--Source/cmTargetLinkLibrariesCommand.cxx44
-rw-r--r--Tests/RunCMake/include_directories/DebugIncludes-stderr.txt13
-rw-r--r--Tests/RunCMake/include_directories/DebugIncludes.cmake6
3 files changed, 12 insertions, 51 deletions
diff --git a/Source/cmTargetLinkLibrariesCommand.cxx b/Source/cmTargetLinkLibrariesCommand.cxx
index 22ea920..3f652c9 100644
--- a/Source/cmTargetLinkLibrariesCommand.cxx
+++ b/Source/cmTargetLinkLibrariesCommand.cxx
@@ -252,42 +252,10 @@ cmTargetLinkLibrariesCommand
}
//----------------------------------------------------------------------------
-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
cmTargetLinkLibrariesCommand::HandleLibrary(const char* lib,
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.
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.
std::vector<std::string> const& debugConfigs =
this->Makefile->GetCMakeInstance()->GetDebugConfigs();
diff --git a/Tests/RunCMake/include_directories/DebugIncludes-stderr.txt b/Tests/RunCMake/include_directories/DebugIncludes-stderr.txt
index c17e0ae..63aec90 100644
--- a/Tests/RunCMake/include_directories/DebugIncludes-stderr.txt
+++ b/Tests/RunCMake/include_directories/DebugIncludes-stderr.txt
@@ -23,21 +23,22 @@ CMake Debug Log at DebugIncludes.cmake:18 \(include_directories\):
Call Stack \(most recent call first\):
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:
\* .*/Tests/RunCMake/include_directories/five
+ \* .*/Tests/RunCMake/include_directories/six
+ \* .*/Tests/RunCMake/include_directories/seven
Call Stack \(most recent call first\):
+ DebugIncludes.cmake:44 \(some_macro\)
+ DebugIncludes.cmake:47 \(some_function\)
CMakeLists.txt:3 \(include\)
+
-CMake Debug Log at DebugIncludes.cmake:29 \(set_property\):
+CMake Debug Log at DebugIncludes.cmake:30 \(target_link_libraries\):
Used includes for target lll:
- \* .*/Tests/RunCMake/include_directories/six
- \* .*/Tests/RunCMake/include_directories/seven
+ \* .*/Tests/RunCMake/include_directories/eight
Call Stack \(most recent call first\):
- DebugIncludes.cmake:40 \(some_macro\)
- DebugIncludes.cmake:43 \(some_function\)
CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/include_directories/DebugIncludes.cmake b/Tests/RunCMake/include_directories/DebugIncludes.cmake
index 794a852..de36899 100644
--- a/Tests/RunCMake/include_directories/DebugIncludes.cmake
+++ b/Tests/RunCMake/include_directories/DebugIncludes.cmake
@@ -22,7 +22,11 @@ include_directories(
)
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)
macro(some_macro)