Skip to content

Autogen: Improved multi-config include scheme

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 (closed)

Merge request reports