summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-08-06 13:38:31 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2015-08-06 13:38:31 (GMT)
commit91c1b13d6e369190d6c8293d27cda1f6fba160d3 (patch)
tree8c4a2dff0a4ca5e945ebf77bbd0cd5fa382f7fe6
parent78141e799cac1f25e9d21e487ccaea3381a3715d (diff)
parent43c94281401cfa89bcbe7110727845ed5df984ec (diff)
downloadCMake-91c1b13d6e369190d6c8293d27cda1f6fba160d3.zip
CMake-91c1b13d6e369190d6c8293d27cda1f6fba160d3.tar.gz
CMake-91c1b13d6e369190d6c8293d27cda1f6fba160d3.tar.bz2
Merge topic 'ninja-LINK_DEPENDS'
43c94281 Ninja: Honor the LINK_DEPENDS target property (#14796)
-rw-r--r--Source/cmNinjaTargetGenerator.cxx9
-rw-r--r--Tests/BuildDepends/CMakeLists.txt2
2 files changed, 10 insertions, 1 deletions
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 07efa16..81fdde2 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -209,6 +209,15 @@ cmNinjaDeps cmNinjaTargetGenerator::ComputeLinkDeps() const
result.push_back(this->ConvertToNinjaPath(this->ModuleDefinitionFile));
}
+ // Add user-specified dependencies.
+ if (const char* linkDepends = this->Target->GetProperty("LINK_DEPENDS"))
+ {
+ std::vector<std::string> linkDeps;
+ cmSystemTools::ExpandListArgument(linkDepends, linkDeps);
+ std::transform(linkDeps.begin(), linkDeps.end(),
+ std::back_inserter(result), MapToNinjaPath());
+ }
+
return result;
}
diff --git a/Tests/BuildDepends/CMakeLists.txt b/Tests/BuildDepends/CMakeLists.txt
index 7b7353c..36987de 100644
--- a/Tests/BuildDepends/CMakeLists.txt
+++ b/Tests/BuildDepends/CMakeLists.txt
@@ -34,7 +34,7 @@ if(WIN32 AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel")
set(_cmake_options "-DCMAKE_EXE_LINKER_FLAGS=")
endif()
-if("${CMAKE_GENERATOR}" MATCHES "Make")
+if("${CMAKE_GENERATOR}" MATCHES "Make|Ninja")
set(TEST_LINK_DEPENDS ${BuildDepends_BINARY_DIR}/Project/linkdep.txt)
file(WRITE ${TEST_LINK_DEPENDS} "1")
endif()