The following issue has been SUBMITTED.
======================================================================
http://www.cmake.org/Bug/view.php?id=14771
======================================================================
Reported By: Brad King
Assigned To:
======================================================================
Project: CMake
Issue ID: 14771
Category: CMake
Reproducibility: always
Severity: minor
Priority: normal
Status: new
======================================================================
Date Submitted: 2014-02-25 09:50 EST
Last Modified: 2014-02-25 09:50 EST
======================================================================
Summary: Ninja generator does not always honor SYMBOLIC rules
with no command
Description:
The SYMBOLIC source file property is a mark typically used on a custom command
output to say that the file will never actually exist. This can be used to
create always-out-of-date rules that run on every build.
When a custom command has no actual command line and a symbolic output the Ninja
generator implements this by creating a phony build rule. However, the Ninja
documentation states:
"If a phony build statement is written without any dependencies,
the target will be considered out of date if it does not exist."
If there are order-only dependencies then Ninja does not consider a phony target
to be out of date.
Steps to Reproduce:
$ cat ../CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project(OrderedBuildAlways NONE)
add_custom_target(first)
add_custom_command(
OUTPUT never-created
COMMAND
VERBATIM
)
add_custom_command(
OUTPUT always-printed
COMMAND ${CMAKE_COMMAND} -E echo "always printed"
COMMAND ${CMAKE_COMMAND} -E touch always-printed
DEPENDS never-created
VERBATIM
)
set_property(SOURCE never-created PROPERTY SYMBOLIC 1)
add_custom_target(drive ALL DEPENDS always-printed)
add_dependencies(drive first)
$ cmake .. -G Ninja
$ ninja
[1/1] Generating always-printed
always printed
$ ninja
ninja: no work to do.
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2014-02-25 09:50 Brad King New Issue
======================================================================
--
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers