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 /Source/cmQtAutoGen.cxx | |
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 'Source/cmQtAutoGen.cxx')
-rw-r--r-- | Source/cmQtAutoGen.cxx | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/Source/cmQtAutoGen.cxx b/Source/cmQtAutoGen.cxx index 18ecbe7..6e9ca44 100644 --- a/Source/cmQtAutoGen.cxx +++ b/Source/cmQtAutoGen.cxx @@ -17,10 +17,6 @@ std::string const genNameMoc = "AutoMoc"; std::string const genNameUic = "AutoUic"; std::string const genNameRcc = "AutoRcc"; -std::string const mcNameSingle = "SINGLE"; -std::string const mcNameWrapper = "WRAPPER"; -std::string const mcNameMulti = "MULTI"; - // - Static functions /// @brief Merges newOpts into baseOpts @@ -102,30 +98,6 @@ std::string cmQtAutoGen::GeneratorNameUpper(GeneratorT genType) return cmSystemTools::UpperCase(cmQtAutoGen::GeneratorName(genType)); } -std::string const& cmQtAutoGen::MultiConfigName(MultiConfigT config) -{ - switch (config) { - case MultiConfigT::SINGLE: - return mcNameSingle; - case MultiConfigT::WRAPPER: - return mcNameWrapper; - case MultiConfigT::MULTI: - return mcNameMulti; - } - return mcNameWrapper; -} - -cmQtAutoGen::MultiConfigT cmQtAutoGen::MultiConfigType(std::string const& name) -{ - if (name == mcNameSingle) { - return MultiConfigT::SINGLE; - } - if (name == mcNameMulti) { - return MultiConfigT::MULTI; - } - return MultiConfigT::WRAPPER; -} - std::string cmQtAutoGen::Quoted(std::string const& text) { static const char* rep[18] = { "\\", "\\\\", "\"", "\\\"", "\a", "\\a", |