summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudio10TargetGenerator.h
Commit message (Collapse)AuthorAgeFilesLines
* cmVisualStudio10TargetGenerator: Adopt Windows Store and Phone infrastructureBrad King2020-05-181-1/+10
| | | | | Move support for Resx, Xaml, Certificate, and AppManifest file handling out of cmGeneratorTarget.
* Merge topic 'cmprop-source'Brad King2020-04-151-1/+1
|\ | | | | | | | | | | | | | | e64fa5f1b6 cmSourceFile::GetProperty: return cmProp fc223f9860 cmGlobalXCodeGenerator: Fix genex interpreter overloads Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4603
| * cmSourceFile::GetProperty: return cmPropVitaly Stakhovsky2020-04-141-1/+1
| |
* | Add support to indicate UTF-8 custom command pipe output encodingJustin Goshi2020-04-131-0/+2
|/ | | | | | | | | | | | | | | | | Adds a flag to indicate that pipe output from a custom command should be interpreted as UTF-8 encoded. This change does not introduce a public way to set the flag, but generators that create internally-generated commands know if they are calling cmake, which uses UTF-8 pipes. MSBuild added support for interpreting output of PreBuildEvent, PreLinkEvent, PostBuildEvent, and CustomBuildStep as UTF-8. This change will appear in Visual Studio 16.6 Preview 3. It is opt-in, and you need to add the StdOutEncoding tag. MSBuild treats these as property bags so if we emit the tag for earlier versions of Visual Studio it would be safely ignored. This change emits the StdOutEncoding tag and sets it to UTF-8 whenever the custom command UTF-8 pipe flag is set. This fixes globalization issues when the output from cmake contained characters that required MSBuild to interpret as UTF-8 before displaying them.
* Merge topic 'vs-non-built-file-item-metadata'Brad King2020-03-301-0/+10
|\ | | | | | | | | | | | | | | | | | | | | 0723e04f7a VS: Add documentation for VS_SETTINGS and VS_SOURCE_SETTINGS_<tool>. 2ca1102f83 VS: Test VS_SETTINGS and VS_SOURCE_SETTINGS_<tool> properties. f00e1b816d VS: Add VS_SOURCE_SETTINGS_<tool> target property 2ce42f281f VS: Add VS_SETTINGS source file property 53116d3942 VS: Use unordered_map to write HLSL settings. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4498
| * VS: Add VS_SOURCE_SETTINGS_<tool> target propertyMatt Davies2020-03-201-0/+1
| | | | | | | | | | | | | | VS_SOURCE_SETTINGS_<tool> is a list of key value pairs that get written as item metadata for any file associated with <tool> for that target. The entire value of VS_SOURCE_SETTINGS_<tool> is evaluated as a generator expression. VS_SETTINGS can override settings specified in this property.
| * VS: Add VS_SETTINGS source file propertyMatt Davies2020-03-201-2/+4
| | | | | | | | | | | | VS_SETTINGS is a list of key value pairs that get written as item metadata for the associated non-built file. The entire value of VS_SETTINGS is evaluated as a generator expression.
| * VS: Use unordered_map to write HLSL settings.Matt Davies2020-03-201-0/+7
| |
* | VS10Generator: avoid many string allocationsRolf Eike Beer2020-03-241-2/+0
|/
* CSharp: Add support for source groups with out-of-source buildsKinan Mahdi2020-02-281-1/+1
| | | | | | | This also fixes support for multiple sources of the same name in different directories. Add a test for both problems. Issue: #19505
* cmVisualStudio10TargetGenerator: use std::string for tagVitaly Stakhovsky2019-11-101-1/+1
|
* VS: Add VS_DOTNET_DOCUMENTATION_FILE propertyCharly Mourglia2019-10-151-0/+1
| | | | | | | Add a `VS_DOTNET_DOCUMENTATION_FILE` target property to tell VS generators to add a `DocumentationFile` setting in `.csproj` files. Fixes: #19784
* Merge topic 'vs-16.4-custom-commands'Brad King2019-09-251-1/+1
|\ | | | | | | | | | | | | 0578239d3a VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3860
| * VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputsBrad King2019-09-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | VS 16.4 introduces an additional check on `CustomBuild` rules that warns if the outputs of the command are not created. However, CMake supports marking outputs with the `SYMBOLIC` property to indicate that they will not actually be generated. That property is used by Makefile and Ninja generators but has not been needed by the VS generators before. Teach the VS generator to disable `VerifyInputsAndOutputsExist` in custom build rules that have a symbolic output. Fixes: #19737
* | clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-041-9/+9
|/ | | | | | | | Automate the conversion with perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g' then manually fix a few places.
* VS: Fix mapping of `-Qspectre-` flagBrad King2019-07-301-1/+1
| | | | | | | | | | | | The mapping for this flag was added by commit 43aa632f57 (VS: Populate `-Qspectre-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7). However, it did not do anything because the special logic added by commit bb60ed6e72 (VS: Add flag table entry for -Qspectre, 2018-10-08, v3.13.0-rc1~4^2) to move the `SpectreMitigation` element from `ClCompile` to the top level only handled the presence of the setting and not its value. Extend the special logic to carry the value too. Fixes: #19535
* Merge topic 'vs-add-package-reference'Brad King2019-05-311-0/+3
|\ | | | | | | | | | | | | | | 42e14d90b1 VS: Added support for VS package references for nuget Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Leonid Pospelov <pospelovlm@yandex.ru> Merge-request: !3389
| * VS: Added support for VS package references for nugetKinan Mahdi2019-05-301-0/+3
| |
* | Merge topic 'vs-depends-dedup'Brad King2019-05-311-1/+2
|\ \ | |/ |/| | | | | | | | | | | | | 42bc67bd43 VS: De-duplicate custom command dependencies d03a6fc857 VS: Clarify name of custom commands AdditionalInputs variable fcedf8e552 VS: Isolate custom command input/output generation scopes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3388
| * VS: Clarify name of custom commands AdditionalInputs variableFrans van Dorsselaer2019-05-301-1/+2
| |
* | Merge topic 'vs-project-import'Brad King2019-04-161-0/+1
|\ \ | | | | | | | | | | | | | | | | | | d145d72e70 VS: add target property VS_PROJECT_IMPORT_<propspath> Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3143
| * | VS: add target property VS_PROJECT_IMPORT_<propspath>Leonid Pospelov2019-04-151-0/+1
| |/ | | | | | | Fixes: #18998
* | cmVisualStudio10TargetGenerator: Remove uses of const_castLeonid Pospelov2019-04-121-1/+1
|/
* clang-tidy: Use `= delete`Regina Pfeifer2019-01-291-2/+6
|
* VS: Honor WinCE deployment properties in VS 2010+Wil Stark2019-01-101-0/+1
| | | | Previously only VS 2008 was supported.
* cmVisualStudio10TargetGenerator: Code improvementVitaly Stakhovsky2018-10-141-1/+1
| | | | Disallow incompletely initialized Elem objects
* VS: Add flag table entry for -QspectreBrad King2018-10-081-0/+1
| | | | | | | Add special logic to map this flag to a top-level build setting instead of being in ClCompile. Fixes: #18426
* IPO: INTERPROCEDURAL_OPTIMIZATION (LTCG) for Visual StudioNiels Dekker2018-09-171-0/+1
| | | | | | | | | Add IPO support for Visual Studio (which is referred to by VS as "Link Time Code Generation" and "Whole Program Optimization"), for VS version >= 10. This allows CMake/VS users to enable IPO by setting property `INTERPROCEDURAL_OPTIMIZATION`. Fixes: #16748
* cmVisualStudio10TargetGenerator: remove BuildFileStream memberVitaly Stakhovsky2018-05-161-3/+0
| | | | Stream object is now local to `Generate()`
* cmVisualStudio10TargetGenerator: minor code cleanupVitaly Stakhovsky2018-05-111-1/+1
|
* cmVisualStudio10TargetGenerator: refactorVitaly Stakhovsky2018-05-091-3/+0
| | | | `WritePlatformConfigTag` moved to local `Elem` class; other improvements
* Merge topic 'vs-improve-options'Brad King2018-05-081-8/+5
|\ | | | | | | | | | | | | e76a0c6071 VS: improve options generation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2044
| * VS: improve options generationVitaly Stakhovsky2018-05-051-8/+5
| | | | | | | | Make use of the `Elem` and `OptionsHelper` classes; some cleanup
* | VS Generator: Only include default certificate if it was actually copiedMark Ingram2018-05-041-0/+1
|/
* cmVisualStudio10TargetGenerator: XML refactoringVitaly Stakhovsky2018-05-041-53/+56
|
* cmVisualStudio10TargetGenerator: XML refactoringVitaly Stakhovsky2018-04-261-1/+1
|
* Merge topic 'csharp_reference_imported_targets'Brad King2018-04-261-3/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | de549083e3 cmVisualStudio10TargetGenerator: warn if /clr flag is set manually 59ec7d50bd cmVisualStudio10TargetGenerator: fix for backward compatibility 663f5120f4 cmGlobalVisualStudioGenerator: remove TargetCanBeReferenced() 359544a907 add tests for using target_link_libraries() with imported managed targets 43571073e0 cmVisualStudio10TargetGenerator: store managed reference information in maps 16fec7e2fc cmVisualStudio10TargetGenerator: make some methods config aware f3c6828876 cmVisualStudio10TargetGenerator: /clr compatible flags for managed tgt f9042d807d remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1805
| * cmVisualStudio10TargetGenerator: store managed reference information in mapsMichael Stürmer2018-04-241-0/+9
| |
| * cmVisualStudio10TargetGenerator: make some methods config awareMichael Stürmer2018-04-231-3/+5
| |
* | Merge topic 'vs-refactor-xml'Brad King2018-04-261-2/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | dfff12c808 VS: Add Elem::Content() helper and usage demo 1f29777798 cmVisualStudio10TargetGenerator: refactoring (continued) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2005
| * | VS: Add Elem::Content() helper and usage demoVitaly Stakhovsky2018-04-261-2/+2
| | |
| * | cmVisualStudio10TargetGenerator: refactoring (continued)Vitaly Stakhovsky2018-04-241-0/+1
| |/
* | VS: Generate a custom command only in the least dependent targetFujii Hironori2018-04-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a custom command is assigned to multiple targets, generate the build rule only in the least-dependent `.vcxproj` file. Otherwise MSBuild will run the command on the first build of a dependent target even if its dependencies already brought the command up to date (in order to populates its build log). Generate targets in least-to-most-dependent order, and assign a custom command to the least dependent target. Added cmLocalVisualStudio10Generator::GenerateTargetsDepthFirst to call cmVisualStudio10TargetGenerator::Generate in least-dependent order. Moved SourcesVisited from cmVisualStudio10TargetGenerator to cmLocalVisualStudio10Generator to avoid attaching a custom command to multiple targets among the local generator. Fixes: #16767
* | cmVisualStudio10TargetGenerator: Use cmLocalVisualStudio10GeneratorFujii Hironori2018-04-171-2/+2
|/ | | | | Change the type of a member variable `LocalGenerator` from `cmLocalVisualStudio7Generator` to `cmLocalVisualStudio10Generator`.
* Merge topic 'minor-cleanups'Brad King2018-04-061-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | acda926a04 Replace some uses of sprintf with std::to_string 418541035f cmCTestCurl: Fix UploadFile declared parameter names 1519628e60 cmVisualStudio10TargetGenerator: Make NsightTegraVersion unsigned 2f87d00803 cmMacroCommand: Fix format string to match type of argument b0676cc5d4 Add in-class initialization of some members 966dba5b68 cmAlgorithms: Remove unnecessary typename keyword 12a145534a gitignore: Ignore a .vs directory in the source tree Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1932
| * cmVisualStudio10TargetGenerator: Make NsightTegraVersion unsignedjrp20142018-04-051-1/+1
| | | | | | | | It's used in unsigned contexts, such as with format strings.
* | cmVisualStudio10TargetGenerator: extend DOM-like generationVitaly Stakhovsky2018-03-311-1/+2
|/ | | | | | The local Elem class is extended with more XML-generating functions. WriteGroups() is rewritten to use these new functions, avoiding BuildFileStream.
* VS: Simplify XML codeVitaly Stakhovsky2018-03-271-2/+1
| | | | Get rid of suffix arguments
* cmVisualStudioGeneratorOptions: Move XML code to subclassesVitaly Stakhovsky2018-03-261-2/+2
|
* cmVisualStudio10TargetGenerator: improved XML nestingVitaly Stakhovsky2018-03-161-4/+6
| | | | | Introduce an `Elem` helper class to track XML element state. This simplifies code in a few places, particularly OutputSourceSpecificFlags.