summaryrefslogtreecommitdiffstats
path: root/Source/cmcmd.cxx
diff options
context:
space:
mode:
authorOrkun Tokdemir <ilhanorkuntokdemir@gmail.com>2023-06-14 11:10:03 (GMT)
committerOrkun Tokdemir <ilhanorkuntokdemir@gmail.com>2023-09-13 16:23:56 (GMT)
commitfddd0f0443b4ce81d61f15ee1b2f13105967b25a (patch)
tree46e0ed1f11a9ac721672977758c2a628478cba32 /Source/cmcmd.cxx
parent10b09647f2699b32c3d243f595437cb1c63049e2 (diff)
downloadCMake-fddd0f0443b4ce81d61f15ee1b2f13105967b25a.zip
CMake-fddd0f0443b4ce81d61f15ee1b2f13105967b25a.tar.gz
CMake-fddd0f0443b4ce81d61f15ee1b2f13105967b25a.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. * The timestamp target was split into three targets for per-config to avoid redundant `mocs_compilation` builds. * Per-config `DEP_FILE_RULE_NAME` values were added to `AutogenInfo.json` for `CMAKE_CROSS_CONFIG` usage. * Some functions were refactored to avoid code duplication. 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 94f4d38..431ffbf 100644
--- a/Source/cmcmd.cxx
+++ b/Source/cmcmd.cxx
@@ -1435,13 +1435,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