diff options
author | Brad King <brad.king@kitware.com> | 2015-08-05 18:02:55 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-08-05 18:12:05 (GMT) |
commit | 43c94281401cfa89bcbe7110727845ed5df984ec (patch) | |
tree | bb017d1a95506e624a2c0d108aebff50baced101 | |
parent | 863b0a8ee9eb7a19226a37edd1d8a398462379a1 (diff) | |
download | CMake-43c94281401cfa89bcbe7110727845ed5df984ec.zip CMake-43c94281401cfa89bcbe7110727845ed5df984ec.tar.gz CMake-43c94281401cfa89bcbe7110727845ed5df984ec.tar.bz2 |
Ninja: Honor the LINK_DEPENDS target property (#14796)
-rw-r--r-- | Source/cmNinjaTargetGenerator.cxx | 9 | ||||
-rw-r--r-- | Tests/BuildDepends/CMakeLists.txt | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx index 4e4dc3f..08b2e66 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() |