diff options
author | Sebastian Holtermann <sebholt@xwmw.org> | 2018-01-31 12:54:37 (GMT) |
---|---|---|
committer | Sebastian Holtermann <sebholt@xwmw.org> | 2018-02-02 08:10:40 (GMT) |
commit | a8ee7406a74cbc4d5e341ad33210b8eeb99af48f (patch) | |
tree | 3d13bde5ee4e44cc66eca61faff9007e108f53ad /Modules | |
parent | 5a16e762e21e22e7a212acc7e2bc7bd027d66166 (diff) | |
download | CMake-a8ee7406a74cbc4d5e341ad33210b8eeb99af48f.zip CMake-a8ee7406a74cbc4d5e341ad33210b8eeb99af48f.tar.gz CMake-a8ee7406a74cbc4d5e341ad33210b8eeb99af48f.tar.bz2 |
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
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/AutoRccInfo.cmake.in | 7 | ||||
-rw-r--r-- | Modules/AutogenInfo.cmake.in | 32 |
2 files changed, 0 insertions, 39 deletions
diff --git a/Modules/AutoRccInfo.cmake.in b/Modules/AutoRccInfo.cmake.in deleted file mode 100644 index cbab4a7..0000000 --- a/Modules/AutoRccInfo.cmake.in +++ /dev/null @@ -1,7 +0,0 @@ -# Meta -set(ARCC_MULTI_CONFIG @_multi_config@) -# Directories and files -set(ARCC_BUILD_DIR @_build_dir@) -# Qt environment -set(ARCC_RCC_EXECUTABLE @_qt_rcc_executable@) -set(ARCC_RCC_LIST_OPTIONS @_qt_rcc_list_options@) diff --git a/Modules/AutogenInfo.cmake.in b/Modules/AutogenInfo.cmake.in deleted file mode 100644 index 7320c0a..0000000 --- a/Modules/AutogenInfo.cmake.in +++ /dev/null @@ -1,32 +0,0 @@ -# Meta -set(AM_MULTI_CONFIG @_multi_config@) -set(AM_PARALLEL @_parallel@) -# Directories and files -set(AM_CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@/") -set(AM_CMAKE_SOURCE_DIR "@CMAKE_SOURCE_DIR@/") -set(AM_CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@/") -set(AM_CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@/") -set(AM_CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE "@CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE@") -set(AM_BUILD_DIR @_build_dir@) -set(AM_SOURCES @_sources@) -set(AM_HEADERS @_headers@) -set(AM_SETTINGS_FILE @_settings_file@) -# Qt environment -set(AM_QT_VERSION_MAJOR @_qt_version_major@) -set(AM_QT_MOC_EXECUTABLE @_qt_moc_executable@) -set(AM_QT_UIC_EXECUTABLE @_qt_uic_executable@) -# MOC settings -set(AM_MOC_SKIP @_moc_skip@) -set(AM_MOC_DEFINITIONS @_moc_compile_defs@) -set(AM_MOC_INCLUDES @_moc_include_dirs@) -set(AM_MOC_OPTIONS @_moc_options@) -set(AM_MOC_RELAXED_MODE @_moc_relaxed_mode@) -set(AM_MOC_MACRO_NAMES @_moc_macro_names@) -set(AM_MOC_DEPEND_FILTERS @_moc_depend_filters@) -set(AM_MOC_PREDEFS_CMD @_moc_predefs_cmd@) -# UIC settings -set(AM_UIC_SKIP @_uic_skip@) -set(AM_UIC_TARGET_OPTIONS @_uic_target_options@) -set(AM_UIC_OPTIONS_FILES @_qt_uic_options_files@) -set(AM_UIC_OPTIONS_OPTIONS @_qt_uic_options_options@) -set(AM_UIC_SEARCH_PATHS @_uic_search_paths@) |