summaryrefslogtreecommitdiffstats
path: root/Source/cmcmd.cxx
diff options
context:
space:
mode:
authorOrkun Tokdemir <ilhanorkuntokdemir@gmail.com>2023-10-18 13:00:57 (GMT)
committerOrkun Tokdemir <ilhanorkuntokdemir@gmail.com>2024-01-17 15:02:58 (GMT)
commit7c39dabdbc505587f91ae41b4fd7c287d41443e5 (patch)
tree8dd9d5a2e2d23bcc1fb26259ac8b64352ba44e60 /Source/cmcmd.cxx
parent31dead97edb03d568c2e66d88422fa3a7806a253 (diff)
downloadCMake-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.cxx8
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