diff options
author | Orkun Tokdemir <ilhanorkuntokdemir@gmail.com> | 2023-10-18 13:00:57 (GMT) |
---|---|---|
committer | Orkun Tokdemir <ilhanorkuntokdemir@gmail.com> | 2024-01-17 15:02:58 (GMT) |
commit | 7c39dabdbc505587f91ae41b4fd7c287d41443e5 (patch) | |
tree | 8dd9d5a2e2d23bcc1fb26259ac8b64352ba44e60 /Source/cmQtAutoGenGlobalInitializer.h | |
parent | 31dead97edb03d568c2e66d88422fa3a7806a253 (diff) | |
download | CMake-7c39dabdbc505587f91ae41b4fd7c287d41443e5.zip CMake-7c39dabdbc505587f91ae41b4fd7c287d41443e5.tar.gz CMake-7c39dabdbc505587f91ae41b4fd7c287d41443e5.tar.bz2 |
Autogen: AUTO*_EXECUTABLE: add support for per-config values
* Per-config values were added to `AUTO*_EXECUTABLE`.
* Dependency order was refactored for `cmake_autogen` and `cmake_autorcc` to avoid unnecessary rebuilds.
* A new parameter was added for `cmake_autogen` and `cmake_autorcc` to specify the config name of the `auto*_executable` to be used.
* Add `AUTOGEN_BETTER_GRAPH_MULTI_CONFIG` target property to change the behavior of the dependency graph.
* The timestamp target is split into three targets for per-config to avoid redundant `mocs_compilation` builds when `AUTOGEN_BETTER_GRAPH_MULTI_CONFIG` is ON
* Per-config `DEP_FILE_RULE_NAME` values were added to `AutogenInfo.json` for `Multi-Config` usage.
* Some functions were refactored to avoid code duplication.
This commit reimplements fddd0f0443b4ce81d61f15ee1b2f13105967b25a
Fixes: #20074
Diffstat (limited to 'Source/cmQtAutoGenGlobalInitializer.h')
-rw-r--r-- | Source/cmQtAutoGenGlobalInitializer.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/cmQtAutoGenGlobalInitializer.h b/Source/cmQtAutoGenGlobalInitializer.h index e8569a5..c1c4758 100644 --- a/Source/cmQtAutoGenGlobalInitializer.h +++ b/Source/cmQtAutoGenGlobalInitializer.h @@ -66,14 +66,17 @@ private: void AddToGlobalAutoRcc(cmLocalGenerator* localGen, std::string const& targetName); - cmQtAutoGen::CompilerFeaturesHandle GetCompilerFeatures( - std::string const& generator, std::string const& executable, - std::string& error); + cmQtAutoGen::ConfigStrings<cmQtAutoGen::CompilerFeaturesHandle> + GetCompilerFeatures(std::string const& generator, + cmQtAutoGen::ConfigString const& executable, + std::string& error, bool isMultiConfig, + bool UseBetterGraph); std::vector<std::unique_ptr<cmQtAutoGenInitializer>> Initializers_; std::map<cmLocalGenerator*, std::string> GlobalAutoGenTargets_; std::map<cmLocalGenerator*, std::string> GlobalAutoRccTargets_; - std::unordered_map<std::string, cmQtAutoGen::CompilerFeaturesHandle> + cmQtAutoGen::ConfigStrings< + std::unordered_map<std::string, cmQtAutoGen::CompilerFeaturesHandle>> CompilerFeatures_; Keywords const Keywords_; }; |