• Sebastian Holtermann's avatar
    Autogen: Improved multi-config include scheme · a8ee7406
    Sebastian Holtermann authored
    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
    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
cmQtAutoGeneratorMocUic.cxx 61.3 KB