https://github.com/Kitware/CMake
Revision a8ee7406a74cbc4d5e341ad33210b8eeb99af48f authored by Sebastian Holtermann on 31 January 2018, 12:54:37 UTC, committed by Sebastian Holtermann on 02 February 2018, 08:10:40 UTC
For multi configuration generators AUTOMOC generates the
moc files that are included in `mocs_compilation.cpp`
in `AUTOGEN_BUILD_DIR/include_$<CONFIG>/`. By doing so each
configuration reads different moc files when compiling
`mocs_compilation.cpp`. Since we do not (need to) rewrite
`mocs_compilation.cpp` on a configuration change anymore,
the files also does not need to be recompiled anymore.
Not having to rewrite and recompile `mocs_compilation.cpp`
on a configuration change anymore was the main objective of
this patch.

In a similar fashion AUTORCC generates a `qrc_BASE_CMAKE.cpp`
file below `AUTOGEN_BUILD_DIR/include_$<CONFIG>/` and
`qrc_BASE.cpp` becomes a mere wrapper that includes this
actuall rcc output file (when using multi configuration
generators).

The template files `Modules/AutoRccInfo.cmake.in` and
`Modules/AutogenInfo.cmake.in` were removed in favor
of writing the info `.cmake` files manually.

Closes #17230
1 parent 5a16e76
Raw File
Tip revision: a8ee7406a74cbc4d5e341ad33210b8eeb99af48f authored by Sebastian Holtermann on 31 January 2018, 12:54:37 UTC
Autogen: Improved multi-config include scheme
Tip revision: a8ee740
.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