summaryrefslogtreecommitdiff
path: root/Help
diff options
context:
space:
mode:
authorRobert Maynard <rmaynard@nvidia.com>2021-02-22 11:58:52 -0500
committerRobert Maynard <rmaynard@nvidia.com>2021-03-09 13:53:16 -0500
commitb227a9565eb06dcc6e59bfa31e6939edf1ddbaad (patch)
tree622ff00179b0ee21bc86308aac5fd26f3ffb3f28 /Help
parent38140713ad24576f1c4e6253a1de91ff217dd475 (diff)
downloadcmake-b227a9565eb06dcc6e59bfa31e6939edf1ddbaad.tar.gz
cmake: configure preset add support for --install-prefix mapping
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/OPTIONS_BUILD.txt3
-rw-r--r--Help/manual/cmake-presets.7.rst6
-rw-r--r--Help/manual/presets/schema.json94
-rw-r--r--Help/release/dev/cmake-install-prefix-command.rst3
4 files changed, 102 insertions, 4 deletions
diff --git a/Help/manual/OPTIONS_BUILD.txt b/Help/manual/OPTIONS_BUILD.txt
index 251672e779..c4f9be8a98 100644
--- a/Help/manual/OPTIONS_BUILD.txt
+++ b/Help/manual/OPTIONS_BUILD.txt
@@ -77,7 +77,8 @@
:variable:`CMAKE_GENERATOR_PLATFORM` variable for details.
``--install-prefix <directory>``
- Specify the installation prefix, :variable:`CMAKE_INSTALL_PREFIX`.
+ Specify the installation directory, used by the
+ :variable:`CMAKE_INSTALL_PREFIX` variable. Must be an absolute path.
``-Wno-dev``
Suppress developer warnings.
diff --git a/Help/manual/cmake-presets.7.rst b/Help/manual/cmake-presets.7.rst
index 467818dfa6..3d2ada88d4 100644
--- a/Help/manual/cmake-presets.7.rst
+++ b/Help/manual/cmake-presets.7.rst
@@ -183,6 +183,12 @@ that may contain the following fields:
specified, it must be inherited from the ``inherits`` preset (unless this
preset is ``hidden``).
+``installDir``
+
+ An optional string representing the path to the installation directory.
+ This field supports `macro expansion`_. If a relative path is specified,
+ it is calculated relative to the source directory.
+
``cmakeExecutable``
An optional string representing the path to the CMake executable to use
diff --git a/Help/manual/presets/schema.json b/Help/manual/presets/schema.json
index ffbd7feb3e..a5025bb6a1 100644
--- a/Help/manual/presets/schema.json
+++ b/Help/manual/presets/schema.json
@@ -11,7 +11,7 @@
},
"cmakeMinimumRequired": { "$ref": "#/definitions/cmakeMinimumRequired"},
"vendor": { "$ref": "#/definitions/vendor" },
- "configurePresets": { "$ref": "#/definitions/configurePresets"}
+ "configurePresets": { "$ref": "#/definitions/configurePresetsV1"}
},
"additionalProperties": false
},
@@ -19,11 +19,25 @@
"properties": {
"version": {
"const": 2,
+ "description": "A requVired integer representing the version of the JSON schema."
+ },
+ "cmakeMinimumRequired": { "$ref": "#/definitions/cmakeMinimumRequired"},
+ "vendor": { "$ref": "#/definitions/vendor" },
+ "configurePresets": { "$ref": "#/definitions/configurePresetsV1"},
+ "buildPresets": { "$ref": "#/definitions/buildPresets"},
+ "testPresets": { "$ref": "#/definitions/testPresets"}
+ },
+ "additionalProperties": false
+ },
+ {
+ "properties": {
+ "version": {
+ "const": 3,
"description": "A required integer representing the version of the JSON schema."
},
"cmakeMinimumRequired": { "$ref": "#/definitions/cmakeMinimumRequired"},
"vendor": { "$ref": "#/definitions/vendor" },
- "configurePresets": { "$ref": "#/definitions/configurePresets"},
+ "configurePresets": { "$ref": "#/definitions/configurePresetsV3"},
"buildPresets": { "$ref": "#/definitions/buildPresets"},
"testPresets": { "$ref": "#/definitions/testPresets"}
},
@@ -58,7 +72,21 @@
"description": "An optional map containing vendor-specific information. CMake does not interpret the contents of this field except to verify that it is a map if it does exist. However, the keys should be a vendor-specific domain name followed by a /-separated path. For example, the Example IDE 1.0 could use example.com/ExampleIDE/1.0. The value of each field can be anything desired by the vendor, though will typically be a map.",
"properties": {}
},
- "configurePresets": {
+ "configurePresetsItemsV3": {
+ "type": "array",
+ "description": "A configure preset object.",
+ "items": {
+ "type": "object",
+ "description": "A configure preset object.",
+ "properties": {
+ "installDir": {
+ "type": "string",
+ "description": "An optional string representing the path to the output binary directory. This field supports macro expansion. If a relative path is specified, it is calculated relative to the source directory. If binaryDir is not specified, it must be inherited from the inherits preset (unless this preset is hidden)."
+ }
+ }
+ }
+ },
+ "configurePresetsItemsV1": {
"type": "array",
"description": "An optional array of configure preset objects.",
"items": {
@@ -302,6 +330,66 @@
},
"additionalProperties": false
}
+ }
+ }
+ },
+ "configurePresetsV3": {
+ "type": "array",
+ "description": "An optional array of configure preset objects.",
+ "allOf": [
+ { "$ref": "#/definitions/configurePresetsItemsV1" },
+ { "$ref": "#/definitions/configurePresetsItemsV3" }
+ ],
+ "items": {
+ "properties": {
+ "name": {},
+ "hidden": {},
+ "inherits": {},
+ "vendor": {},
+ "displayName": {},
+ "description": {},
+ "generator": {},
+ "architecture": {},
+ "toolset": {},
+ "binaryDir": {},
+ "installDir": {},
+ "cmakeExecutable": {},
+ "cacheVariables": {},
+ "environment": {},
+ "warnings": {},
+ "errors": {},
+ "debug": {}
+ },
+ "required": [
+ "name"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "configurePresetsV1": {
+ "type": "array",
+ "description": "An optional array of configure preset objects.",
+ "allOf": [
+ { "$ref": "#/definitions/configurePresetsItemsV1" }
+ ],
+ "items": {
+ "properties": {
+ "name": {},
+ "hidden": {},
+ "inherits": {},
+ "vendor": {},
+ "displayName": {},
+ "description": {},
+ "generator": {},
+ "architecture": {},
+ "toolset": {},
+ "binaryDir": {},
+ "cmakeExecutable": {},
+ "cacheVariables": {},
+ "environment": {},
+ "warnings": {},
+ "errors": {},
+ "debug": {}
},
"required": [
"name"
diff --git a/Help/release/dev/cmake-install-prefix-command.rst b/Help/release/dev/cmake-install-prefix-command.rst
index a5b140a37a..2de5d91854 100644
--- a/Help/release/dev/cmake-install-prefix-command.rst
+++ b/Help/release/dev/cmake-install-prefix-command.rst
@@ -3,3 +3,6 @@ cmake-install-prefix-command
* The :manual:`cmake(1)` command gained the ``--install-prefix <dir>``
command line option to specify the location of the install prefix.
+
+* :manual:`cmake-presets(7)` configure preset gained support for specifying
+ the install prefix.