• Frank Benkstein's avatar
    configure_file: canonicalize input and output path in dependencies · 6199637e
    Frank Benkstein authored
    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
    6199637e
Name
Last commit
Last update
..
BadArg-result.txt Loading commit data...
BadArg-stderr.txt Loading commit data...
BadArg.cmake Loading commit data...
CMakeLists.txt Loading commit data...
DirInput-result.txt Loading commit data...
DirInput-stderr.txt Loading commit data...
DirInput.cmake Loading commit data...
DirOutput-stderr.txt Loading commit data...
DirOutput.cmake Loading commit data...
DirOutput.txt Loading commit data...
NO-BOM.cmake Loading commit data...
NO-BOM.txt.in Loading commit data...
NewLineStyle-COPYONLY-result.txt Loading commit data...
NewLineStyle-COPYONLY-stderr.txt Loading commit data...
NewLineStyle-COPYONLY.cmake Loading commit data...
NewLineStyle-NoArg-result.txt Loading commit data...
NewLineStyle-NoArg-stderr.txt Loading commit data...
NewLineStyle-NoArg.cmake Loading commit data...
NewLineStyle-ValidArg.cmake Loading commit data...
NewLineStyle-WrongArg-result.txt Loading commit data...
NewLineStyle-WrongArg-stderr.txt Loading commit data...
NewLineStyle-WrongArg.cmake Loading commit data...
Relative-In.txt Loading commit data...
Relative-stderr.txt Loading commit data...
Relative.cmake Loading commit data...
RerunCMake-rerun-stderr.txt Loading commit data...
RerunCMake-rerun-stdout.txt Loading commit data...
RerunCMake-stderr.txt Loading commit data...
RerunCMake-stdout.txt Loading commit data...
RerunCMake.cmake Loading commit data...
RunCMakeTest.cmake Loading commit data...
UTF16BE-BOM-result.txt Loading commit data...
UTF16BE-BOM-stderr.txt Loading commit data...
UTF16BE-BOM.cmake Loading commit data...
UTF16BE-BOM.txt.in Loading commit data...
UTF16LE-BOM-result.txt Loading commit data...
UTF16LE-BOM-stderr.txt Loading commit data...
UTF16LE-BOM.cmake Loading commit data...
UTF16LE-BOM.txt.in Loading commit data...
UTF32BE-BOM-result.txt Loading commit data...
UTF32BE-BOM-stderr.txt Loading commit data...
UTF32BE-BOM.cmake Loading commit data...
UTF32BE-BOM.txt.in Loading commit data...
UTF32LE-BOM-result.txt Loading commit data...
UTF32LE-BOM-stderr.txt Loading commit data...
UTF32LE-BOM.cmake Loading commit data...
UTF32LE-BOM.txt.in Loading commit data...
UTF8-BOM.cmake Loading commit data...
UTF8-BOM.txt.in Loading commit data...
UnknownArg-stderr.txt Loading commit data...
UnknownArg.cmake Loading commit data...