diff options
author | Shannon Booth <shannon.ml.booth@gmail.com> | 2020-12-22 23:57:50 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-12-23 14:59:03 (GMT) |
commit | d43f4692e0c5e6f71305be74fbed7c6120057d9d (patch) | |
tree | 2a696060ac2ea23dbca178c79dc1f4cd184e8ef6 | |
parent | c56d3bef3e6b105465c41cc241ab26cce2327393 (diff) | |
download | CMake-d43f4692e0c5e6f71305be74fbed7c6120057d9d.zip CMake-d43f4692e0c5e6f71305be74fbed7c6120057d9d.tar.gz CMake-d43f4692e0c5e6f71305be74fbed7c6120057d9d.tar.bz2 |
Ninja: Omit custom commands with an empty COMMAND
Fixes: #21063
-rw-r--r-- | Source/cmLocalNinjaGenerator.cxx | 6 | ||||
-rw-r--r-- | Tests/CustomCommand/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Tests/CustomCommand/empty_command.cxx | 4 |
3 files changed, 13 insertions, 1 deletions
diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx index b035f70..5a747e5 100644 --- a/Source/cmLocalNinjaGenerator.cxx +++ b/Source/cmLocalNinjaGenerator.cxx @@ -557,9 +557,13 @@ void cmLocalNinjaGenerator::AppendCustomCommandLines( std::string launcher = this->MakeCustomLauncher(ccg); for (unsigned i = 0; i != ccg.GetNumberOfCommands(); ++i) { + std::string c = ccg.GetCommand(i); + if (c.empty()) { + continue; + } cmdLines.push_back(launcher + this->ConvertToOutputFormat( - ccg.GetCommand(i), + c, gg->IsMultiConfig() ? cmOutputConverter::NINJAMULTI : cmOutputConverter::SHELL)); diff --git a/Tests/CustomCommand/CMakeLists.txt b/Tests/CustomCommand/CMakeLists.txt index c1a7a57..80545c4 100644 --- a/Tests/CustomCommand/CMakeLists.txt +++ b/Tests/CustomCommand/CMakeLists.txt @@ -582,3 +582,7 @@ set_target_properties(mac_fw PROPERTIES ) add_custom_command(OUTPUT mac_fw.txt COMMAND ${CMAKE_COMMAND} -E touch mac_fw.txt DEPENDS mac_fw) add_custom_target(drive_mac_fw ALL DEPENDS mac_fw.txt) + +# Test empty COMMANDs are ommited +add_executable(empty_command empty_command.cxx) +add_custom_command(TARGET empty_command POST_BUILD COMMAND $<0:date>) diff --git a/Tests/CustomCommand/empty_command.cxx b/Tests/CustomCommand/empty_command.cxx new file mode 100644 index 0000000..f8b643a --- /dev/null +++ b/Tests/CustomCommand/empty_command.cxx @@ -0,0 +1,4 @@ +int main() +{ + return 0; +} |