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 /Help | |
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 'Help')
-rw-r--r-- | Help/manual/cmake-properties.7.rst | 1 | ||||
-rw-r--r-- | Help/manual/cmake-variables.7.rst | 1 | ||||
-rw-r--r-- | Help/prop_tgt/AUTOGEN_BETTER_GRAPH_MULTI_CONFIG.rst | 22 | ||||
-rw-r--r-- | Help/variable/CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG.rst | 10 |
4 files changed, 34 insertions, 0 deletions
diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst index 458cb73..0d1046a 100644 --- a/Help/manual/cmake-properties.7.rst +++ b/Help/manual/cmake-properties.7.rst @@ -129,6 +129,7 @@ Properties on Targets /prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG /prop_tgt/ARCHIVE_OUTPUT_NAME /prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG + /prop_tgt/AUTOGEN_BETTER_GRAPH_MULTI_CONFIG /prop_tgt/AUTOGEN_BUILD_DIR /prop_tgt/AUTOGEN_COMMAND_LINE_LENGTH_MAX /prop_tgt/AUTOGEN_ORIGIN_DEPENDS diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index 0e778f8..8a5ab30 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -389,6 +389,7 @@ Variables that Control the Build /variable/CMAKE_APPLE_SILICON_PROCESSOR /variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY /variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG + /variable/CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG /variable/CMAKE_AUTOGEN_COMMAND_LINE_LENGTH_MAX /variable/CMAKE_AUTOGEN_ORIGIN_DEPENDS /variable/CMAKE_AUTOGEN_PARALLEL diff --git a/Help/prop_tgt/AUTOGEN_BETTER_GRAPH_MULTI_CONFIG.rst b/Help/prop_tgt/AUTOGEN_BETTER_GRAPH_MULTI_CONFIG.rst new file mode 100644 index 0000000..edeb15c --- /dev/null +++ b/Help/prop_tgt/AUTOGEN_BETTER_GRAPH_MULTI_CONFIG.rst @@ -0,0 +1,22 @@ +AUTOGEN_BETTER_GRAPH_MULTI_CONFIG +--------------------------------- + +.. versionadded:: 3.29 + +``AUTOGEN_BETTER_GRAPH_MULTI_CONFIG`` is a boolean property that can be set +on a target to have better dependency graph for multi-configuration generators. +When this property is enabled, ``CMake`` will generate more per-config targets. +Thus, the dependency graph will be more accurate for multi-configuration +generators and some recompilations will be avoided. + +If the Qt version is 6.8 or newer, this property is enabled by default. +If the Qt version is older than 6.8, this property is disabled by default. +Consult the Qt documentation to check if the property can be enabled for older +Qt versions. + +See the :manual:`cmake-qt(7)` manual for more information on using CMake +with Qt. + +This property is initialized by the +:variable:`CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG` variable if it is set when +a target is created. diff --git a/Help/variable/CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG.rst b/Help/variable/CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG.rst new file mode 100644 index 0000000..223cfcc --- /dev/null +++ b/Help/variable/CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG.rst @@ -0,0 +1,10 @@ +CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG +--------------------------------------- + +.. versionadded:: 3.29 + +This variable is used to initialize the +:prop_tgt:`AUTOGEN_BETTER_GRAPH_MULTI_CONFIG` property on all targets as they +are created. See that target property for additional information. + +By default ``CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG`` is unset. |