summaryrefslogtreecommitdiff
path: root/Templates/MSBuild
Commit message (Collapse)AuthorAgeFilesLines
* CUDA: MSVC pass all cuda gencode flags via AdditionalOptionsRobert Maynard2022-06-161-112/+0
| | | | Fixes #23491
* VS: Add compiler flag table entry for -FI followed by separate argumentBrad King2022-04-017-0/+77
| | | | | | | | The MSVC `/FI` flag accepts an attached value or a following argument. Previously our flag tables only had entries for the former. Add the latter. Fixes: #23382
* VS: Remove the '/guard:cf' flag from v143 link flag tableBenjamin Sluis2022-01-121-7/+0
| | | | | | | | | | | | Apply the change from commit db35e3cfd6 (VS: Fix support for '/guard:cf' linker flag for v142, 2019-01-24, v3.14.0-rc1~74^2~2) to the v143 flag table. The entry for `LinkControlFlowGuard` in `v143_Link.json` does not work when used in a `.vcxproj` file. Drop our link flag table entries for this toolset so that the flag will be passed via `AdditionalOptions`. Also add a test case.
* VS: Fix /reference and /headerUnit flag table entries for v142 and v143Brad King2021-08-102-4/+4
| | | | | | | These flags accept values in following arguments, not immediately appended. Fixes: #22530
* VS: Remove C++ module CompileAs flag table entries for v142 and v143Brad King2021-07-262-42/+0
| | | | | | | | | | | | | The `CompileAs` entry in a `.vcxproj` file with values: * `CompileAsCppModule` for `-interface` * `CompileAsCppModuleInternalPartition` for `-internalPartition` * `CompileAsHeaderUnit` for `-exportHeader` does not cause the corresponding flag to be added to the command line. Drop the flag table entries so that the flags go to `AdditionalOptions`. Fixes: #22477
* VS: Remove cl /FS entry from flag table for v142 and v143Brad King2021-07-262-14/+0
| | | | | | | The `ForceSynchronousPDBWrites` entry in a `.vcxproj` file does not actually cause the `/FS` flag to be added to the command line. Fixes: #22476
* VS: Fix `/sourceDependencies` flag table entries for v143Brad King2021-07-151-8/+2
| | | | | | | | | Revise the `/sourceDependencies[:directives]` table entries to properly distinguish the two options (because one is a prefix of the other), and to populate both `Generate*Dependencies` and `*DependenciesFile`. This is the manual update mentioned in commit 887e9df0c7 (VS: Update v142 CL flag table for VS 16.10, 2021-06-04, v3.21.0-rc1~77^2).
* VS: Remove broken EnableASAN entry from flag table for v143Brad King2021-07-151-7/+0
| | | | | | | | Apply the change from commit 7fce2d372e (VS: Revert "Add support for ASAN -fsanitize=address flag", 2021-04-26, v3.21.0-rc1~270^2) to the v143 flag table. Issue: #21081
* VS: Remove empty ExternalWarningLevel entry from flag table for v143Brad King2021-07-151-7/+0
|
* VS: Remove empty LanguageStandard entries from flag table for v143Brad King2021-07-151-14/+0
|
* VS: Remove empty ConformanceMode entry from flag table for v143Brad King2021-07-151-7/+0
|
* VS: Populate `/JMC-` flag table entry for v143Brad King2021-07-151-0/+7
| | | | | Apply the change from commit 049410c0b6 (VS: Populate `/JMC-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~6) to the v143 flag table.
* VS: Populate `-Qspectre-` flag table entry for v143Brad King2021-07-151-9/+9
| | | | | | | Apply the change from commit 43aa632f57 (VS: Populate `-Qspectre-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7) to the v143 flag table. Sort the longer options before the shorter ones. Remove the default variant with an empty switch.
* VS: Populate `/Y-` flag table entry for v143Brad King2021-07-151-1/+1
| | | | | Apply the change from commit 460a146e2b (VS: Populate `/Y-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~8) to the v143 flag table.
* VS: Add `-Zc:inline[-]` flag table entry for v143Brad King2021-07-151-0/+7
| | | | | | Apply the change from commit 0df3790371 (VS: Add `-Zc:inline[-]` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~9) to the v143 flag table.
* VS: Fix `/analyze:log` flag mapping for v143Brad King2021-07-151-14/+4
| | | | | | Apply the change from commit fb2e418c64 (VS: Fix `/analyze:log` flag mapping for v142, 2019-01-24, v3.14.0-rc1~74^2~10) to the v143 flag table.
* VS: Remove the /MERGE flag from v143 link flag tableBrad King2021-07-151-9/+0
| | | | | Apply the change from commit a9f992434d (VS: Remove the /MERGE flag from FlagTables, 2021-06-08, v3.21.0-rc1~58^2) to the v143 flag table.
* VS: Map the link `/debug` flag for v143Brad King2021-07-151-10/+18
| | | | | Apply the changes from commit 533f95c847 (VS: Map the link `/debug` flag for v142, 2019-01-24, v3.14.0-rc1~74^2~3) to the v143 flag table.
* VS: Fix `/MANIFESTUAC:` link flag mapping for v143Brad King2021-07-151-25/+4
| | | | | | | Apply the changes from commit d2fcc6748a (VS: Fix `/MANIFESTUAC:NO` link flag mapping for v142, 2019-01-24, v3.14.0-rc1~74^2~4) and commit fd45cbf40e (VS: Fix `/MANIFESTUAC:` link flag mapping for v142, 2019-01-24, v3.14.0-rc1~74^2~1) to the v143 flag table.
* VS: Add v143 flag tables for VS 17.0 Preview 2Brad King2021-07-152-0/+2982
| | | | | | | | | | | | Run the commands python3 Source/cmConvertMSBuildXMLToJSON.py -t v143 \ 'c:/.../2022/Preview/MSBuild/Microsoft/VC/v170/1033/cl.xml' python3 Source/cmConvertMSBuildXMLToJSON.py -t v143 \ 'c:/.../2022/Preview/MSBuild/Microsoft/VC/v170/1033/link.xml' To generate `Templates/MSBuild/FlagTables/v143_{CL,Link}.json`. We can re-use `Templates/MSBuild/FlagTables/v14_LIB.json`.
* VS: Add CSharp VS 2022 compiler version and flag table v143Brad King2021-07-151-0/+553
| | | | | | While the flag tables for C and C++ were generated from MSBuild `.xml` files, the CSharp flag tables were written by hand. Copy the `v142` flag table to use for the `v143` toolset.
* VS: Improve v142 CL flag table LanguageStandard orderingBrad King2021-07-151-6/+6
|
* VS: Update v142 CL flag table for VS 17.0 Preview 1Brad King2021-06-251-0/+7
| | | | | | | | | | Run the command python3 Source/cmConvertMSBuildXMLToJSON.py -t v142 \ 'c:/.../MSBuild/Microsoft/VC/v160/1033/cl.xml' To generate `v142_CL.json` locally. Manually move new and updated settings over to `Templates/MSBuild/FlagTables/v142_CL.json`.
* VS: Do not apply any '/external:*' flag table mapping on VS < 16.10Brad King2021-06-171-0/+8
| | | | | | | | | | | Since commit 887e9df0c7 (VS: Update v142 CL flag table for VS 16.10, 2021-06-04) we map several `/external:*` flags to their corresponding `.vcxproj` elements. These elements were added to `cl.xml` in VS 16.10, so filter them out in older VS versions. Add a field to the json flag table format to specify the minimum version of VS needed for a given mapping. Issue: #22308
* Merge topic 'vs-custom-depfile'Brad King2021-06-101-0/+48
|\ | | | | | | | | | | | | | | | | | | 526e2ef71c VS: Add support for add_custom_command DEPFILE 794ad78abb Help: Generalize release note filename for add_custom_command DEPFILE 7291f31254 cmTransformDepfile: Add support for MSBuild AdditionalInputs format a6de8ec51b cmTransformDepfile: Make directory for transformed depfile automatically Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6206
| * VS: Add support for add_custom_command DEPFILEBrad King2021-06-091-0/+48
| | | | | | | | | | | | | | | | Transform the depfile into MSBuild `AdditionalInputs` content. Add MSBuild Targets to update `AdditionalInputs` and the `.tlog` files for future builds without actually modifying the `.vcxproj` file. Fixes: #20286
* | VS: Remove the /MERGE flag from FlagTablesDuncan Ogilvie2021-06-086-54/+0
|/ | | | Fixes #22229
* VS: Update v142 CL flag table for VS 16.10Brad King2021-06-041-5/+219
| | | | | | | | | | | | | | Run the command python3 Source/cmConvertMSBuildXMLToJSON.py -t v142 \ 'c:/.../MSBuild/Microsoft/VC/v160/1033/cl.xml' To generate `v142_CL.json` locally. Manually move new and updated settings over to `Templates/MSBuild/FlagTables/v142_CL.json`. Revise the `/sourceDependencies[:directives]` table entries to properly distinguish the two options (because one is a prefix of the other), and to populate both `Generate*Dependencies` and `*DependenciesFile`.
* VS: Update v141 CL flag table for VS 15.9Brad King2021-06-041-2/+23
| | | | | | | | | | Run the command python3 Source/cmConvertMSBuildXMLToJSON.py -t v141 \ 'c:/.../Common7/IDE/VC/VCTargets/1033/cl.xml' To generate `v141_CL.json` locally. Manually move new and updated settings over to `Templates/MSBuild/FlagTables/v141_CL.json`.
* VS: Re-order v141 and v142 CL flag table entries to match xml files betterBrad King2021-06-042-28/+28
|
* Merge topic 'vs-16.10-map-external-warnings'Brad King2021-05-281-0/+35
|\ | | | | | | | | | | | | 9054cd05e6 VS: Add flag table entries for '/external:W*' flags in VS 16.10 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6171
| * VS: Add flag table entries for '/external:W*' flags in VS 16.10Brad King2021-05-281-0/+35
| | | | | | | | Fixes: #22255
* | VS: Revert "Add support for ASAN -fsanitize=address flag"Brad King2021-04-261-7/+0
| | | | | | | | | | | | | | | | | | Revert commit 1b37305b0f (VS: Add support for ASAN -fsanitize=address flag, 2021-04-21). The tag `EnableASAN` is created in `ItemDefinitionGroup` but it needs to be in `PropertyGroup`. Revert the mapping pending an implementation in the generator. Issue: #21081
* | Merge topic 'vs-asan'Brad King2021-04-221-0/+7
|\ \ | | | | | | | | | | | | | | | | | | 1b37305b0f VS: Add support for ASAN -fsanitize=address flag Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6034
| * | VS: Add support for ASAN -fsanitize=address flagoltolm2021-04-211-0/+7
| |/ | | | | | | | | | | Map it to the `EnableASAN` element in `.vcxproj` files. Fixes: #21081
* | VS: Generalize CSharp /langversion flag mappingBrad King2021-04-216-270/+36
|/ | | | | | | Map the `/langversion:` flag followed by any value to a `LangVersion` element with the specified value in the `.csproj` file. Fixes: #22089
* CSharp: Add 'warnaserror:...' to v142 flag table for VSFrancois Keith2021-01-251-0/+11
| | | | | | | This allows listing the warnings that must be flagged as errors. For example: target_compile_options(proj PRIVATE "/warnaserror:1998,4014")
* CSharp: Add 'debug:portable' to v142 flag table for VSFrancois Keith2021-01-251-0/+7
|
* MSVC: Add support for targeting ARM64ECMoyo Okeremi 😊2021-01-202-0/+14
|
* VS: Populate `std:c{11,17}` flag table entries for v142Brad King2020-09-281-0/+14
| | | | | | | | The `-std:c11` option added by commit f7347f28c7 (MSVC: Record support for C11 and c_restrict, 2020-08-09, v3.18.2~9^2) needs this flag table entry to map in the VS IDE properly. Issue: #21069
* CUDA: MSVC + NVCC support --compiler-options compiler flagRobert Maynard2020-01-021-0/+20
| | | | Fixes #20164
* VS: Add toolset v142 CSharp flag tableBrad King2019-10-111-0/+574
| | | | | | | | | | | | | While the flag tables for C and C++ were generated from MSBuild `.xml` files, the CSharp flag tables were written by hand. Copy the `v141` flag table to use for the `v142` toolset. Remove the special case added by commit 626c51f47b (VS: Update for Visual Studio 2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) that mapped the v142 flag table lookup to v141 since we now have the real v142 table. Fixes: #19828
* VS: Fix nowarn compiler option to accept warning numbers.Wil Stark2019-02-075-15/+35
| | | | | | Warning disables are transferred to the VS IDE `<NoWarn>` node. Fixes: #18878
* VS: Fix `/MANIFESTUAC:` link flag mapping for v142Brad King2019-01-241-21/+4
| | | | | | | | | | | Apply the change from commit 454b47ba0b (VS: Fix MANIFESTUAC link flag map to .vcxproj elements, 2018-11-21) to the v142 flag table. Add special parsing of the flags given in `/MANIFESTUAC:"..."` in order to map them correctly to `.vcxproj` elements. Keep the old incorrect flag table entries for `uiAccess` and `level` flags for compatibility even though they do not really exist.
* VS: Fix support for '/guard:cf' linker flag for v142Brad King2019-01-241-7/+0
| | | | | | | | | | Apply the change from commit 57a78b5526 (VS: Fix support for '/guard:cf' linker flag, 2018-11-21) to the v142 flag table. Although `$(VCTargetsPath)/1033/link.xml` contains an entry for `LinkControlFlowGuard`, it does not work when used in a `.vcxproj` file (at least as of v140 and v141). Drop our link flag table entries for these toolsets so that the flag will be passed via `AdditionalOptions`.
* VS: Map the link `/debug` flag for v142Brad King2019-01-241-10/+18
| | | | | | | | | | Apply the changes from commit a5d9aa5063 (VS: Map the link `/debug` to its IDE property, 2018-11-21) and commit f77320c12a (VS: Add v140 and v141 flag table entries for /DEBUG:NONE and /DEBUG:FULL, 2018-11-21) to the v142 flag table. See commit ae44496e2b (VS: Fix GenerateDebugInformation values for v140 and v141 toolsets, 2017-06-27, v3.9.0-rc6~15^2~1) for explanation.
* VS: Fix `/MANIFESTUAC:NO` link flag mapping for v142Brad King2019-01-241-5/+1
| | | | | | | | | | Apply the change from commit 1d00fd7702 (VS: Fix /MANIFESTUAC:NO linker option mapping, 2018-11-21) to the v142 flag table. There are no versions of `/MANIFESTUAC:NO` where addition values are appended. Remove both of the `MANIFESTUAC:NO` entries from our flag tables and replace them with one which would set `EnableUAC` to false and immediately stop processing the `/MANIFESTUAC:NO` option.
* VS: Populate `/permissive` flag table entry for v142Brad King2019-01-241-1/+8
| | | | | | Apply the change from commit e0d6d01e52 (VS: Add flag table entry for "permissive" flag to disable conformance mode, 2018-12-10) to the v142 flag table.
* VS: Populate `/JMC-` flag table entry for v142Brad King2019-01-241-0/+7
| | | | Add the negative form of the option.
* VS: Populate `-Qspectre-` flag table entry for v142Brad King2019-01-241-6/+6
| | | | | | | Rather than the change from commit 584ad067ba (VS: Fix flag table entry for -Qspectre, 2018-11-26), update the v142 flag table with an actual flag for the negative form of the flag. Switch the entry order so that the longer negative form is first.