summaryrefslogtreecommitdiff
path: root/Templates
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* TestDriver: Avoid declaring local variable after statementBrad King2021-06-281-2/+4
| | | | | | Move a declaration added by commit 3f6ff4b5db (create_test_sourcelist: add test driver option to run all tests, 2021-04-27, v3.21.0-rc1~257^2) into its own scope.
* 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
* | Merge topic 'test_driver_tap13_support'Brad King2021-04-291-1/+42
|\ \ | | | | | | | | | | | | | | | | | | | | | 3f6ff4b5db create_test_sourcelist: add test driver option to run all tests a3aa5596a1 Tests: Isolate TestDriver build directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3661
| * | create_test_sourcelist: add test driver option to run all testsSergey Bronnikov2021-04-281-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New option `-A` passed to test binary allows to run all testcases at once and prints a report in a standard format - TestAnythingProtocol v.13 [1]. Execution of test whose names will be passed after an option will be skipped. Sample of output: TAP version 13 1..6 ok 1 TestCryptoHash # 0.030000 ok 2 TestCryptoRand # 0.008000 not ok 3 TestCryptoCipher # 0.005000 ok 4 TestCryptoProtectData # 0.000000 cbPlainText: 21 cbCipherText: 32 PlainText: MySecretPassword123! (cbPlainText = 21, cbCipherText = 32) Decrypted CipherText: MySecretPassword123! ok 5 TestCryptoProtectMemory # 0.014000 ok 6 TestCryptoCertEnumCertificatesInStore # 0.000000 1. https://testanything.org/ Fixes: #19367
* | | 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
|
* create_test_sourcelist: fix typo in placeholder nameSergey Bronnikov2020-12-211-1/+1
| | | | Rename `CMAKE_FUNCTION_TABLE_{ENTIRES => ENTRIES}`.
* 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
* TestDriver: avoid clang-tidy lints in generated codeBen Boeckel2020-04-131-2/+5
|
* CUDA: MSVC + NVCC support --compiler-options compiler flagRobert Maynard2020-01-021-0/+20
| | | | Fixes #20164
* TestDriver: ignore strcpy callBen Boeckel2019-12-051-1/+1
| | | | | clang-analyzer has a check for any use of `strcpy`. This usage is safe because it is allocated above using the length of the string.
* Merge branch 'vs-v142-csharp-flags' into release-3.16Brad King2019-10-111-0/+574
|\ | | | | | | Merge-request: !3908
| * 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
* | TestDriver: Fix -Wzero-as-null-pointer-constant warningsSean McBride2019-09-181-7/+13
|/
* 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
* Merge topic 'vs2019'Brad King2019-01-282-0/+2535
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 626c51f47b VS: Update for Visual Studio 2019 Preview 2 fd45cbf40e VS: Fix `/MANIFESTUAC:` link flag mapping for v142 db35e3cfd6 VS: Fix support for '/guard:cf' linker flag for v142 533f95c847 VS: Map the link `/debug` flag for v142 d2fcc6748a VS: Fix `/MANIFESTUAC:NO` link flag mapping for v142 a7973ccb53 VS: Populate `/permissive` flag table entry for v142 049410c0b6 VS: Populate `/JMC-` flag table entry for v142 43aa632f57 VS: Populate `-Qspectre-` flag table entry for v142 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2856
| * 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.
| * VS: Populate `/Y-` flag table entry for v142Brad King2019-01-241-1/+1
| | | | | | | | | | | | Apply the change from commit 8df25f9400 (VS: connect /Y- compiler option with "Not Using Precompiled Headers", 2018-11-26) to the v142 flag table.
| * VS: Add `-Zc:inline[-]` flag table entry for v142Brad King2019-01-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit f1223e34c6 (VS: Add v140 flag table entries for `-Zc:inline[-]`, 2018-11-26) to the v142 flag table. The documentation of this option [1] claims that the default is off, but VS seems to use `-Zc:inline` by default if `RemoveUnreferencedCodeData` does not appear in the `.vcxproj` file. Add the flag table entry to allow use of the flag to be configured. [1] https://msdn.microsoft.com/en-us/library/dn642448.aspx
| * VS: Fix `/analyze:log` flag mapping for v142Brad King2019-01-241-14/+4
| | | | | | | | | | | | | | | | | | | | | | Apply the change from commit 44dc9fc48a (VS: Fix /analyze:log flag mapping, 2018-11-26) to the v142 flag table. The `/analyze:log` argument requires a value in the following argument. Also drop the general `/analyze:` flag table entry so that such flags will be passed through as plain additional options. This is necessary because some such options have following values and some do not but not all have `.vcxproj` elements to hold the values.