CMake/Tests/CustomCommand
Stephen Kelly c4af46b444 add_custom_command: Normalize OUTPUT and DEPENDS paths.
While tracing dependencies of a target, cmTargetTraceDependencies
follows sources by full path to determine if the source is to be
produced by a custom command.  Commit 4959f341 (cmSourceFileLocation:
Collapse full path for directory comparisons., 2014-03-27) changed
the storage of target sources to be in the form of a normalized
path instead of an unnormalized path.

The path is followed by looking it up in a mapping via
cmMakefile::GetSourceFileWithOutput to acquire an appropriate
cmSourceFile.  The mapping is populated with the OUTPUT components
of add_custom_command invocations, however it is populated with
unnormalized paths.  This means that the tracing logic does not
find appropriate cmSourceFiles, and does not generate appropriate
build rules for the generated sources.

Normalize the paths in the OUTPUT components of add_custom_command
to resolve this.

The paths in the DEPENDS component of add_custom_command are also
not normalized, leading to the same problem again.  Normalize the
depends paths after generator evaluation and expansion.
2014-05-28 21:05:41 +02:00
..
GeneratedHeader Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
GeneratorInExtraDir Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
check_command_line.c.in ENH: Added quick means to turn on verbose output for debugging this test. 2007-05-18 09:18:09 -04:00
check_mark.cmake Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CMakeLists.txt add_custom_command: Normalize OUTPUT and DEPENDS paths. 2014-05-28 21:05:41 +02:00
config.h.in ENH: Added test for generation of files listed explicitly as sources but not used during the build of a target. 2006-06-01 13:01:31 -04:00
doc1.tex new test 2003-06-03 10:34:15 -04:00
foo.h.in COMP: Avoid C++ comment in C translation unit. 2005-08-18 09:21:45 -04:00
foo.in Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
gen_redirect_in.c BUG: Do not escape shell operators when generating command lines. 2008-04-29 15:34:49 -04:00
generator.cxx BUG: Do not escape shell operators when generating command lines. 2008-04-29 15:34:49 -04:00
main.cxx ENH: now target names can be used in add_custom_command() and 2007-05-09 08:25:45 -04:00
source_in_custom_target.cpp Generators: don't append sources from utility targets to objectSources 2013-10-28 14:25:28 +01:00
tcat.cxx BUG: Do not escape shell operators when generating command lines. 2008-04-29 15:34:49 -04:00
wrapped.h new test 2003-06-03 10:34:15 -04:00
wrapper.cxx BUG: Fix new custom command with make-var expansion test on VS6. The VS6 IDE adds some extra characters to the variable value during expansion. 2008-06-05 10:01:16 -04:00