Skip to content

Commit d62fa35

Browse files
authored
Merge pull request #1 from MicrosoftDocs/master
Merge from MicrosftDocs
2 parents 332a3a5 + 570c227 commit d62fa35

File tree

8 files changed

+16498
-14592
lines changed

8 files changed

+16498
-14592
lines changed

docs/cpp-conformance-improvements-2017.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1673,6 +1673,8 @@ struct S : Base<T> {
16731673
16741674
To fix the error, change the `return` statement to `return this->base_value;`.
16751675
1676+
**Note:** In the Boost python library, there has been for a long time an MSVC-specific workaround for a template forward declaration in [unwind_type.hpp](https://github.com/boostorg/python/blame/develop/include/boost/python/detail/unwind_type.hpp). Under [/permissive-](build/reference/permissive-standards-conformance.md) mode starting with Visual Studio 2017 version 15.8 (_MSC_VER=1915), the MSVC compiler does argument-dependent name lookup (ADL) correctly and is consistent with other compilers, making this workaround guard unnecessary. In order to avoid this error *C3861: 'unwind_type': identifier not found*, see [PR 229](https://github.com/boostorg/python/pull/229) in the Boostorg repo to update the header file. We have already patched the [vcpkg](vcpkg.md) Boost package, so if you get or upgrade your Boost sources from vcpkg then you do not need to apply the patch separately.
1677+
16761678
### forward declarations and definitions in namespace std
16771679
16781680
The C++ standard doesn't allow a user to add forward declarations or definitions into namespace `std`. Adding declarations or definitions to namespace `std` or to a namespace within namespace std now results in undefined behavior.

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)