Skip to content

Commit a705fb7

Browse files
authored
Merge pull request #1271 from rchiodo/rchiodo/add_cmakesettings
Add missing CMakeSettings entry descriptions for both Windows and Linux
2 parents 364ca65 + 8b6c9bb commit a705fb7

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

docs/ide/cmake-tools-for-visual-cpp.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,8 @@ To specify a Visual Studio generator, open the CMakeSettings.json from the main
211211
1. **variables**: contains a name-value pair of CMake variables that will get passed as **-D**_name_**=**_value_ to CMake. If your CMake project build instructions specify the addition of any variables directly to the CMake cache file, it is recommended that you add them here instead.
212212
1. **cmakeCommandArgs**: specifies any additional switches you want to pass to CMake.exe.
213213
1. **configurationType**: defines the build configuration type for the selected generator. Currently supported values are "Debug", "MinSizeRel", "Release", and "RelWithDebInfo".
214+
1. **ctestCommandArgs**: specifies additional switches to pass to CTest when running tests.
215+
1. **buildCommandArgs**: specifies additional switches to pass to the underlying build system. For example, passing -v when using the Ninja generator forces Ninja to output command lines.
214216

215217
### Environment variables
216218

docs/linux/cmake-linux-project.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,18 +79,24 @@ To change the default CMake settings, choose **CMake | Change CMake Settings | C
7979
"remoteCMakeListsRoot": "/var/tmp/src/${workspaceHash}/${name}",
8080
"cmakeExecutable": "/usr/local/bin/cmake",
8181
"buildRoot": "${env.LOCALAPPDATA}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
82+
"installRoot": "${env.LOCALAPPDATA}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
8283
"remoteBuildRoot": "/var/tmp/build/${workspaceHash}/build/${name}",
84+
"remoteInstallRoot": "/var/tmp/build/${workspaceHash}/install/${name}",
8385
"remoteCopySources": true,
8486
"remoteCopySourcesOutputVerbosity": "Normal",
8587
"remoteCopySourcesConcurrentCopies": "10",
88+
"remoteCopySourcesMethod": "rsync",
89+
"remoteCopySourcesExclusionList": [".vs", ".git"],
90+
"rsyncCommandArgs" : "-t --delete --delete-excluded",
91+
"remoteCopyBuildOutput" : "false",
8692
"cmakeCommandArgs": "",
8793
"buildCommandArgs": "",
8894
"ctestCommandArgs": "",
8995
"inheritEnvironments": [ "linux-x64" ]
9096
}
9197
```
9298

93-
The `name` value can be whatever you like. The `remoteMachineName` value specifies which remote system to target, in case you have more than one. IntelliSense is enabled for this field to help you select the right system. The field `remoteCMakeListsRoot` specifies where your project sources will be copied to on the remote system. The field `remoteBuildRoot` is where the build output will be generated on your remote system. That output is also copied locally to the location specified by `buildRoot`.
99+
The `name` value can be whatever you like. The `remoteMachineName` value specifies which remote system to target, in case you have more than one. IntelliSense is enabled for this field to help you select the right system. The field `remoteCMakeListsRoot` specifies where your project sources will be copied to on the remote system. The field `remoteBuildRoot` is where the build output will be generated on your remote system. That output is also copied locally to the location specified by `buildRoot`. The `remoteInstallRoot` and `installRoot` fields are similar to `remoteBuildRoot` and `buildRoot`, except they apply when doing a cmake install. The `remoteCopySources` entry controls whether or not your local sources are copied to the remote machine. You might set this to false if you have a lot of files and you're already syncing the sources yourself. The `remoteCopyOutputVerbosity` value controls the verbosity of the copy step in case you need to diagnose errors. The `remoteCopySourcesConcurrentCopies` entry controls how many processes are spawned to do the copy. The `remoteCopySourcesMethod` value can be one of rsync or smtp. The `remoteCopySourcesExclusionList` field allows you to control what gets copied to the remote machine. The `rsyncCommandArgs` value lets you control the rsync method of copying. The `remoteCopyBuildOutput` field controls whether or not the remote build output is copied to your local build folder.
94100

95101
## Build a supported CMake release from source
96102

0 commit comments

Comments
 (0)