Ninja: Honor the LINK_DEPENDS target property (#14796)

This commit is contained in:
Brad King 2015-08-05 14:02:55 -04:00
parent 863b0a8ee9
commit 43c9428140
2 changed files with 10 additions and 1 deletions

View File

@ -209,6 +209,15 @@ cmNinjaDeps cmNinjaTargetGenerator::ComputeLinkDeps() const
result.push_back(this->ConvertToNinjaPath(this->ModuleDefinitionFile)); 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; return result;
} }

View File

@ -34,7 +34,7 @@ if(WIN32 AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel")
set(_cmake_options "-DCMAKE_EXE_LINKER_FLAGS=") set(_cmake_options "-DCMAKE_EXE_LINKER_FLAGS=")
endif() endif()
if("${CMAKE_GENERATOR}" MATCHES "Make") if("${CMAKE_GENERATOR}" MATCHES "Make|Ninja")
set(TEST_LINK_DEPENDS ${BuildDepends_BINARY_DIR}/Project/linkdep.txt) set(TEST_LINK_DEPENDS ${BuildDepends_BINARY_DIR}/Project/linkdep.txt)
file(WRITE ${TEST_LINK_DEPENDS} "1") file(WRITE ${TEST_LINK_DEPENDS} "1")
endif() endif()