summaryrefslogtreecommitdiffstats
path: root/Help
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 /Help
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 'Help')
-rw-r--r--Help/manual/cmake-properties.7.rst1
-rw-r--r--Help/manual/cmake-variables.7.rst1
-rw-r--r--Help/prop_tgt/AUTOGEN_BETTER_GRAPH_MULTI_CONFIG.rst22
-rw-r--r--Help/variable/CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG.rst10
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.