You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This static function calls the Win32 function [InterlockedDecrement](/windows/desktop/api/winbase/nf-winbase-interlockeddecrement), which decrements the value of the variable pointed to by *p*.
144
+
This static function calls the Win32 function [InterlockedDecrement](/windows/desktop/api/winnt/nf-winnt-interlockeddecrement), which decrements the value of the variable pointed to by *p*.
145
145
146
146
```
147
147
static ULONG WINAPI Decrement(LPLONG p) throw ();
@@ -162,7 +162,7 @@ If the result of the decrement is 0, then `Decrement` returns 0. If the result o
This static function calls the Win32 function [InterlockedIncrement](/windows/desktop/api/winbase/nf-winbase-interlockedincrement), which increments the value of the variable pointed to by *p*.
165
+
This static function calls the Win32 function [InterlockedIncrement](/windows/desktop/api/winnt/nf-winnt-interlockedincrement), which increments the value of the variable pointed to by *p*.
This static function calls the Win32 function [InterlockedDecrement](/windows/desktop/api/winbase/nf-winbase-interlockeddecrement), which decrements the value of the variable pointed to by *p*.
104
+
This static function calls the Win32 function [InterlockedDecrement](/windows/desktop/api/winnt/nf-winnt-interlockeddecrement), which decrements the value of the variable pointed to by *p*.
105
105
106
106
```
107
107
static ULONG WINAPI Decrement(LPLONG p) throw();
@@ -122,7 +122,7 @@ If the result of the decrement is 0, then `Decrement` returns 0. If the result o
This static function calls the Win32 function [InterlockedIncrement](/windows/desktop/api/winbase/nf-winbase-interlockedincrement), which increments the value of the variable pointed to by *p*.
125
+
This static function calls the Win32 function [InterlockedIncrement](/windows/desktop/api/winnt/nf-winnt-interlockedincrement), which increments the value of the variable pointed to by *p*.
Copy file name to clipboardExpand all lines: docs/build/customize-cmake-settings.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,19 +46,19 @@ You can also directly edit `CMakeSettings.json` to create custom configurations
46
46
47
47
-**generator**: maps to the CMake **-G** switch and specifies the generator to be used. This property can also be used as a macro, `${generator}`, when composing other property values. Visual Studio currently supports the following CMake generators:
48
48
49
-
- "Ninja"
50
-
- "Visual Studio 14 2015"
51
-
- "Visual Studio 14 2015 ARM"
52
-
- "Visual Studio 14 2015 Win64"
53
-
- "Visual Studio 15 2017"
54
-
- "Visual Studio 15 2017 ARM"
55
-
- "Visual Studio 15 2017 Win64"
49
+
- "Ninja"
50
+
- "Visual Studio 14 2015"
51
+
- "Visual Studio 14 2015 ARM"
52
+
- "Visual Studio 14 2015 Win64"
53
+
- "Visual Studio 15 2017"
54
+
- "Visual Studio 15 2017 ARM"
55
+
- "Visual Studio 15 2017 Win64"
56
56
57
-
Because Ninja is designed for fast build speeds instead of flexibility and function, it is set as the default. However, some CMake projects may be unable to correctly build using Ninja. If this occurs, you can instruct CMake to generate a Visual Studio project instead.
57
+
Because Ninja is designed for fast build speeds instead of flexibility and function, it is set as the default. However, some CMake projects may be unable to correctly build using Ninja. If this occurs, you can instruct CMake to generate a Visual Studio project instead.
58
58
59
-
To specify a Visual Studio generator, open the `CMakeSettings.json` from the main menu by choosing **CMake | Change CMake Settings**. Delete “Ninja” and type “V”. This activates IntelliSense, which enables you to choose the generator you want.
59
+
To specify a Visual Studio generator, open the `CMakeSettings.json` from the main menu by choosing **CMake | Change CMake Settings**. Delete “Ninja” and type “V”. This activates IntelliSense, which enables you to choose the generator you want.
60
60
61
-
When the active configuration specifies a Visual Studio generator, by default MSBuild.exe is invoked with `-m -v:minimal` arguments. To customize the build, inside the `CMakeSettings.json` file, you can specify additional [MSBuild command line arguments](../build/msbuild-visual-cpp-overview.md) to be passed to the build system via the `buildCommandArgs` property:
61
+
When the active configuration specifies a Visual Studio generator, by default MSBuild.exe is invoked with `-m -v:minimal` arguments. To customize the build, inside the `CMakeSettings.json` file, you can specify additional [MSBuild command line arguments](../build/reference/msbuild-visual-cpp-overview.md) to be passed to the build system via the `buildCommandArgs` property:
# Common macros for MSBuild commands and properties
9
9
10
-
Depending on your installation options, Visual Studio can make hundreds of macros available to you. These correspond to the MSBuild properties that are set by default, or in .props or .targets files, or in your project settings. You can use these macros anywhere in a project's **Property Pages** dialog box where strings are accepted. These macros are not case sensitive.
10
+
Depending on your installation options, Visual Studio can make hundreds of macros available to you in a Visual Studio project (based on MSBuild). These correspond to the MSBuild properties that are set by default, or in .props or .targets files, or in your project settings. You can use these macros anywhere in a project's **Property Pages** dialog box where strings are accepted. These macros are not case sensitive.
11
11
12
12
## View the current properties and macros
13
13
14
-
To display the currently available macros, on any property page in the **Property Pages** dialog, choose the drop-down arrow at the end of a property row. If **Edit** is available, choose it, and then in the edit dialog box, choose the **Macros** button. The current set of properties and macros visible to Visual Studio is listed along with the current value for each. For more information, see the **Specifying User-Defined Values** section of [C++ project property page reference](property-pages-visual-cpp.md).
14
+
To display all of the currently available macros, in the **Property Pages** dialog, under **VC++ Directories**, choose the drop-down arrow at the end of a property row. Click on **Edit** and then in the edit dialog box, choose the **Macros** button. The current set of properties and macros visible to Visual Studio is listed along with the current value for each. For more information, see the **Specifying User-Defined Values** section of [C++ project property page reference](property-pages-visual-cpp.md).
This table describes a commonly used subset of the available macros. This list is far from exhaustive. For details on how MSBuild property definitions are created and used as macros in .props, .targets, and .vcxproj files, see [MSBuild Properties](/visualstudio/msbuild/msbuild-properties).
20
+
This table describes a commonly used subset of the available macros; there are many more not listed here. Go to the **Macros** dialog to see all of the properties and their current values in your project. For details on how MSBuild property definitions are created and used as macros in .props, .targets, and .vcxproj files, see [MSBuild Properties](/visualstudio/msbuild/msbuild-properties).
19
21
20
22
|Macro|Description|
21
23
|-----------|-----------------|
@@ -28,6 +30,7 @@ This table describes a commonly used subset of the available macros. This list i
28
30
|**$(IntDir)**|Path to the directory specified for intermediate files. If this is a relative path, intermediate files go to this path appended to the project directory. This path should have a trailing slash. This resolves to the value for the **Intermediate Directory** property. Do not use **$(OutDir)** to define this property.|
29
31
|**$(OutDir)**|Path to the output file directory. If this is a relative path, output files go to this path appended to the project directory. This path should have a trailing slash. This resolves to the value for the **Output Directory** property. Do not use **$(IntDir)** to define this property.|
30
32
|**$(Platform)**|The name of current project platform, for example, "Win32".|
33
+
|**$(PlatformShortName)**|The short name of current architecture, for example, "x86" or "x64".|
31
34
|**$(ProjectDir)**|The directory of the project (defined as drive + path); includes the trailing backslash '\\'.|
32
35
|**$(ProjectExt)**|The file extension of the project. It includes the '.' before the file extension.|
33
36
|**$(ProjectFileName)**|The file name of the project (defined as base name + file extension).|
This topic describes all the types of files that are associated with Visual Studio projects for classic desktop applications. The actual files included in your project depend on the project type and the options you select when using a wizard.
10
10
11
-
-[Project and Solution Files]()
11
+
-[Project and Solution Files](project-and-solution-files.md)
|.vcxitems|Project|Shared Items project for sharing code files between multiple C++ projects. See [Project Files and Makefiles]() for more information.|
65
-
|.vcxproj|Project|The Visual Studio project file. See [Project Files and Makefiles]() for more information.|
64
+
|.vcxitems|Project|Shared Items project for sharing code files between multiple C++ projects. See [Project and Solution Files](project-and-solution-files.md) for more information.|
65
+
|.vcxproj|Project|The Visual Studio project file. See [Project and Solution Files](project-and-solution-files.md) for more information.|
66
66
|.vcxproj.filters|Project|When Solution Explorer is used to add a file to a project, the filters file defines where in the Solution Explorer tree view the file is added, based on its file name extension.|
67
67
|.vdproj|Project|The Visual Studio deployment project file.|
0 commit comments