summaryrefslogtreecommitdiffstats
path: root/Templates
Commit message (Collapse)AuthorAgeFilesLines
* 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-212-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.
| * VS: Add v142 flag tables for cl and link toolsBrad King2019-01-242-0/+2544
| | | | | | | | | | | | | | Convert from MSBuild `.xml` files: python cmConvertMSBuildXMLToJSON.py -t v142 .../2019/Preview/MSBuild/Microsoft/VC/v160/1033/cl.xml python cmConvertMSBuildXMLToJSON.py -t v142 .../2019/Preview/MSBuild/Microsoft/VC/v160/1033/link.xml
* | Reduce size of PNG imagesLucy Phipps2019-01-256-0/+0
|/ | | | | | Use FileOptimizer 13.50.2431 (x86) and ZopfliPNG 1.0.2. Update expected file hashes in tests.
* VS: Add flag table entry for "permissive" flag to disable conformance modeJonathan Storey2018-12-101-1/+8
| | | | | This flag is required to disable conformance mode on specific sources when it is otherwise enabled on most sources.
* VS: Add flag table entry for -JMCStephan Szabo2018-11-281-0/+14
| | | | | | Original header commit 516c6fc38c0bdfd7905edb169a4ebfef689cf116 Add support for mapping Just My Code compiler flag
* VS: Fix flag table entry for -QspectreStephan Szabo2018-11-281-8/+1
| | | | | | | | The Qspectre option was generated by the script (as opposed to being added by commit v3.13.0-rc1~4^2 (VS: Add flag table entry for -Qspectre, 2018-10-08), however the comment was not useful and there was a separate off option generated that was not in the old table.
* VS: connect /Y- compiler option with "Not Using Precompiled Headers"Stephan Szabo2018-11-285-5/+5
| | | | | | | | | Original header commit v3.10.0-rc1~423^2 The change allows to selectively disable PrecompiledHeaders. Despite the `$(VCTargetsPath)/1033/cl.xml` contains an empty value for switch, for effectively turn off setting need to use /Y- option as described on msdn: https://msdn.microsoft.com/en-us/library/1hy7a92h.aspx
* VS: Add v140 flag table entries for `-Zc:inline[-]`Stephan Szabo2018-11-282-0/+14
| | | | | | | | | | | | | Note: Zc:inline was added by generator, but not the - version. Original header commit v3.7.2~8^2 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 regressed mapping for the cl `/Os` compiler flagStephan Szabo2018-11-282-14/+0
| | | | | | | | | | | | | Original header commit v3.6.0-rc3~8^2 In commit v3.6.0-rc1~279^2~10 (VS: in Clang/C2 toolset, setup correct compiler settings, 2016-02-18) a flag mapping was added for the clang `-Os` flag. However, this collides with a mapping we already had for the MSVC flag of the same name. This is a symptom of a larger problem in that the VS generators need a per-toolset flag map (issue #16153). For now, simply drop the new mapping and drop `-Os` from clang compiler flags in the MinSizeRel configuration.
* VS 14: Add flag map for -std= to CppLanguageStandard tag in project filesStephan Szabo2018-11-282-0/+126
| | | | | | Original header commit v3.6.0-rc1~279^2~8 This is used by the Clang/C2 toolset.
* VS: in Clang/C2 toolset, setup correct compiler settingsStephan Szabo2018-11-282-0/+14
| | | | Original header commit v3.6.0-rc1~279^2~10
* VS: Fix /analyze:log flag mapping (#14858)Stephan Szabo2018-11-284-56/+16
| | | | | | | | | | | | | Original header commits: v11/v12 commit v3.1.0-rc1~695^2 v140/v141 commit v3.1.0-rc1~358^2~3 Fix the VS 11 and VS 12 flag table entries for this flag. It 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.
* VS: Fix CSharp support for win32res: and win32icon: flagsStephan Szabo2018-11-285-10/+10
| | | | | | | Original header commit v3.13.0-rc2~6^2 Add a missing `:` to these entries in the flag table. The user value is always required and must come after the `:`.