diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2012-03-17 20:49:36 (GMT) |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2012-03-17 23:16:40 (GMT) |
commit | df847671b43f35162570db1e6f2801bc3b2de11a (patch) | |
tree | e9a985a74f40621013a07f7289a2add8591bfe30 | |
parent | 48eb7fc7d7b3fa5570a7b32968fa2cff07bf6fe7 (diff) | |
download | CMake-df847671b43f35162570db1e6f2801bc3b2de11a.zip CMake-df847671b43f35162570db1e6f2801bc3b2de11a.tar.gz CMake-df847671b43f35162570db1e6f2801bc3b2de11a.tar.bz2 |
Ninja: add support for OBJECT_OUTPUTS, fix PrecompiledHeader test case
-rw-r--r-- | Source/cmNinjaTargetGenerator.cxx | 11 | ||||
-rw-r--r-- | Tests/PrecompiledHeader/CMakeLists.txt | 3 |
2 files changed, 13 insertions, 1 deletions
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx index b9f997d..9acbc67 100644 --- a/Source/cmNinjaTargetGenerator.cxx +++ b/Source/cmNinjaTargetGenerator.cxx @@ -475,6 +475,17 @@ cmNinjaTargetGenerator emptyDeps, orderOnlyDeps, vars); + + if(const char* objectOutputs = source->GetProperty("OBJECT_OUTPUTS")) { + std::vector<std::string> outputList; + cmSystemTools::ExpandListArgument(objectOutputs, outputList); + std::transform(outputList.begin(), outputList.end(), outputList.begin(), + MapToNinjaPath()); + cmGlobalNinjaGenerator::WritePhonyBuild(this->GetBuildFileStream(), + "Additional output files.", + outputList, + outputs); + } } //---------------------------------------------------------------------------- diff --git a/Tests/PrecompiledHeader/CMakeLists.txt b/Tests/PrecompiledHeader/CMakeLists.txt index d423cae..3374e32 100644 --- a/Tests/PrecompiledHeader/CMakeLists.txt +++ b/Tests/PrecompiledHeader/CMakeLists.txt @@ -47,7 +47,8 @@ SET_SOURCE_FILES_PROPERTIES(foo_precompile.c PROPERTIES # Setup dependencies for precompiled header creation and use. The VS # IDE takes care of this automatically. -IF("${CMAKE_GENERATOR}" MATCHES "Makefile") +IF("${CMAKE_GENERATOR}" MATCHES "Makefile" OR + "${CMAKE_GENERATOR}" MATCHES "Ninja") # This source file creates the precompiled header as a side-effect. SET_SOURCE_FILES_PROPERTIES(foo_precompile.c PROPERTIES OBJECT_OUTPUTS "${PCH_DIR}/foo_precompiled.pch") |