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/cmcmd.cxx | |
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/cmcmd.cxx')
-rw-r--r-- | Source/cmcmd.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx index 93b0086..bcf7462 100644 --- a/Source/cmcmd.cxx +++ b/Source/cmcmd.cxx @@ -1443,13 +1443,17 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string> const& args, if ((args[1] == "cmake_autogen") && (args.size() >= 4)) { cm::string_view const infoFile = args[2]; cm::string_view const config = args[3]; - return cmQtAutoMocUic(infoFile, config) ? 0 : 1; + cm::string_view const executableConfig = + (args.size() >= 5) ? cm::string_view(args[4]) : cm::string_view(); + return cmQtAutoMocUic(infoFile, config, executableConfig) ? 0 : 1; } if ((args[1] == "cmake_autorcc") && (args.size() >= 3)) { cm::string_view const infoFile = args[2]; cm::string_view const config = (args.size() > 3) ? cm::string_view(args[3]) : cm::string_view(); - return cmQtAutoRcc(infoFile, config) ? 0 : 1; + cm::string_view const executableConfig = + (args.size() >= 5) ? cm::string_view(args[4]) : cm::string_view(); + return cmQtAutoRcc(infoFile, config, executableConfig) ? 0 : 1; } #endif |