diff options
author | Frank Benkstein <frank@benkstein.net> | 2018-11-09 18:14:58 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-11-13 20:01:17 (GMT) |
commit | 6199637e9540627b03d9018ff53a14f005274607 (patch) | |
tree | 1f4fa728d2a86b0617bb6894bd69d794c075cecd /Tests/RunCMake/configure_file | |
parent | 48bc74710d4ddcf62e3dcf69e3400e4060a2bdc1 (diff) | |
download | CMake-6199637e9540627b03d9018ff53a14f005274607.zip CMake-6199637e9540627b03d9018ff53a14f005274607.tar.gz CMake-6199637e9540627b03d9018ff53a14f005274607.tar.bz2 |
configure_file: canonicalize input and output path in dependencies
Represent the input file path internally in canonical form. Otherwise
multiple `configure_file` calls that share the same input file but specify
it relative to different directories (e.g. via `../`) result in multiple
copies of the dependency on the rule to re-run CMake. This causes the
Ninja generator to emit duplicate phony build statements for these
dependencies, which generates an error with `-w dupbuild=err`, which
will be default in Ninja 1.9.
Also canonicalize the output path for consistency.
Add a test case.
Fixes: #18584
Diffstat (limited to 'Tests/RunCMake/configure_file')
-rw-r--r-- | Tests/RunCMake/configure_file/DirInput-stderr.txt | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Tests/RunCMake/configure_file/DirInput-stderr.txt b/Tests/RunCMake/configure_file/DirInput-stderr.txt index 2e0cd14..165ad80 100644 --- a/Tests/RunCMake/configure_file/DirInput-stderr.txt +++ b/Tests/RunCMake/configure_file/DirInput-stderr.txt @@ -1,7 +1,7 @@ CMake Error at DirInput.cmake:[0-9]+ \(configure_file\): configure_file input location - .*/Tests/RunCMake/configure_file/. + .*/Tests/RunCMake/configure_file is a directory but a file was expected. Call Stack \(most recent call first\): |