summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudio10TargetGenerator.h
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* cmVisualStudio10TargetGenerator: Use helpers for XML tagsVitaly Stakhovsky2018-03-071-0/+4
| | | | | Make the XML generating code smaller, more structured, and less error-prone. This is a step towards future XML refactoring.
* VS: Convert loops to C++11, other C++ improvementsVitaly Stakhovsky2018-02-221-1/+1
|
* cmVisualStudio10TargetGenerator: Make some data members const; simplifyVitaly Stakhovsky2018-02-061-7/+7
|
* cmVisualStudio10TargetGenerator: Limit scope of ConvertToWindowsSlash()Vitaly Stakhovsky2018-02-021-1/+0
| | | | It is no longer used outside this class, so its scope can be limited to file.
* VisualStudio generators: refactoringMarc Chevrier2018-01-231-1/+4
| | | | | | Uniformize include directories handling. Fix memory leaks in class cmVisualStudio10TargetGenerator: OptionsMap uses now std::unique_ptr.
* Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and XcodeBrad King2018-01-121-12/+6
| | | | | | | | | | | | | | | The set of compile flags used for a target's C and C++ sources is based on the linker language. By default this is always the C++ flags if any C++ sources appear in the target, and otherwise the C flags. Therefore we can define the `COMPILE_LANGUAGE` generator expression in `INCLUDE_DIRECTORIES` to match the selected language. This is not exactly the same as for other generators, but is the best VS and Xcode can do. It is also sufficient for many use cases since the set of include directories for C and C++ is frequently similar but may be distinct from those for other languages like CUDA. Fixes: #17435
* Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and XcodeBrad King2018-01-121-0/+1
| | | | | | | | | | | | | | | The set of compile flags used for a target's C and C++ sources is based on the linker language. By default this is always the C++ flags if any C++ sources appear in the target, and otherwise the C flags. Therefore we can define the `COMPILE_LANGUAGE` generator expression in `COMPILE_DEFINITIONS` to match the selected language. This is not exactly the same as for other generators, but is the best VS and Xcode can do. It is also sufficient for many use cases since the set of definitions for C and C++ is frequently similar but may be distinct from those for other languages like CUDA. Issue: #17435
* cmVisualStudio10TargetGenerator: Factor out include dir computationBrad King2018-01-111-0/+3
|
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+1
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* Vs: fix CSharp custom command by introducing inline MSBuild <Targets>sMichael Stürmer2017-06-221-0/+7
| | | | | | | | The custom command implementation is based on the Microsoft support article: https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-extend-the-visual-studio-build-process Fixes: #16960
* Vs: factor out computation of <Link> tag for CSharp source filesMichael Stürmer2017-06-221-0/+1
|
* Vs: refactor WriteCustomRule for preparation of CSharp supportMichael Stürmer2017-06-221-0/+4
|
* Merge topic 'vs_csharp_prop_for_all_extensions'Brad King2017-06-151-0/+5
|\ | | | | | | | | | | | | c90630c5 Vs: add support for VS_CSHARP_* target property for additional file extensions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !961
| * Vs: add support for VS_CSHARP_* target property for additional file extensionsMichael Stürmer2017-06-131-0/+5
| | | | | | | | Fixes: #16726
* | VS: add target property VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>Michael Stürmer2017-06-131-0/+1
|/ | | | Fixes: #16689
* CUDA: Visual Studio now properly delays device linkingRobert Maynard2017-04-261-0/+6
|
* VS: Teach generators how to mark per-config source filesBrad King2017-04-131-0/+1
| | | | | | | | | | | | | Add internal infrastructure for looping over all sources for all configurations and generating each source with exclusion marks for configurations in which they do not participate. This does not yet make per-config sources available in general but does set up some of the needed infrastructure. Unfortunately doing this cleanly will require major refactoring of both the VS 7-9 generators and the VS 10+ generators (for separate reasons). Instead add some extra internal structures to carry information where we need it.
* Merge topic 'include-style'Brad King2017-04-131-1/+1
|\ | | | | | | | | | | | | | | | | 1d829c86 Use quotes for non-system includes 26ee9e42 CPack: drop CPack prefix for includes 5afac50f cmConfigure: Ensure separate include block in headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !691
| * Use quotes for non-system includesDaniel Pfeifer2017-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Automate with: git grep -l '#include <cm_' -- Source \ | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g' git grep -l '#include <cmsys/' -- Source \ | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g' git grep -l '#include <cm[A-Z]' -- Source \ | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
* | VS: Refactor loop over classified sourcesBrad King2017-04-111-2/+0
|/ | | | | Loop over all sources at once instead of looking up and looping over each kind of source separately.
* VS: Add basic infrastructure for CUDA generationBrad King2017-03-101-0/+5
| | | | Generate the `CudaCompile` elements in `.vcxproj` files.
* VS: Add support for ASM_NASM languageEvgeny Fimochkin2017-02-071-1/+8
| | | | Fixes: #16469
* VS: added support for C# (for Visual Studio 2010, 2012, 2013, 2015)Michael Stürmer2017-01-131-0/+1
|
* VS: add support for .NET references with hint pathsMichael Stürmer2016-12-131-0/+1
|
* cmVisualStudio10TargetGenerator: Prepare to handle C# projectsMichael Stürmer2016-12-011-1/+9
| | | | | | | | | | | Generalize some internal infrastructure to prepare for generating either `.vcxproj` or `.csproj` files. - Add member string for project file extension - Add member enum for project type - Add member flag for in-source build - Add member flag for managed build - Rename PathToVcxproj to PathToProjectFile
* iwyu: Fix VisualStudio specific issuesDaniel Pfeifer2016-11-281-8/+11
|