Revision d592bfc9f5f616249d85bbea94d8e76a666591a8 authored by Sebastian Holtermann on 10 January 2018, 14:17:02 UTC, committed by Sebastian Holtermann on 10 January 2018, 18:46:22 UTC
Until CMake 3.10 a list of source files that had the AUTOUIC_OPTIONS property
populated was kept in `cmMakefile::QtUiFilesWithOptions`.  In the process to
remove all AUTOUIC related code from `cmMakefile` for CMake 3.10, the pre
filtered list was replaced by a loop in `cmQtAutoGeneratorInitializer` over
all source files in the `cmMakefile`.  This loop introduced the problem that
file paths were computed for source files that weren't in the target's sources
and that might not even have existed.  If the path for an unused and not
existing file was computed a `cmake::FATAL_ERROR` with the error message
"Cannot find source file:" was thrown nevertheless.
This caused some projects to fail in CMake 3.10.

This patch adds a test for path errors in the loops in
`cmQtAutoGeneratorInitializer` that iterate over all source files in a
`cmMakefile`. If a path error appears, the file is silently ignored.
If the file is part of the target's sources, the path error will still be
caught in the loop over all the target's sources.

This is the fix for CMake 3.10.1.
1 parent 166bf4c
Raw File
.gitattributes
.gitattributes   export-ignore
.hooks*          export-ignore

# Custom attribute to mark sources as using our C code style.
[attr]our-c-style  whitespace=tab-in-indent  format.clang-format

# Custom attribute to mark sources as generated.
# Do not perform whitespace checks.  Do not format.
[attr]generated  whitespace=-tab-in-indent,-indent-with-non-tab -format.clang-format

bootstrap        eol=lf
configure        eol=lf
*.[1-9]          eol=lf
*.sh             eol=lf
*.sh.in          eol=lf

*.bat            eol=crlf
*.bat.in         eol=crlf
*.sln            eol=crlf
*.vcproj         eol=crlf

*.pfx            -text
*.png            -text

*.c              our-c-style
*.cc             our-c-style
*.cpp            our-c-style
*.cu             our-c-style
*.cxx            our-c-style
*.h              our-c-style
*.hh             our-c-style
*.hpp            our-c-style
*.hxx            our-c-style
*.notcu          our-c-style

*.cmake          whitespace=tab-in-indent
*.rst            whitespace=tab-in-indent conflict-marker-size=79
*.txt            whitespace=tab-in-indent
back to top