summaryrefslogtreecommitdiff
path: root/Source/cmVisualStudio10TargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'backport-3.16-link-line-backtrace'Brad King2020-02-101-8/+8
|\
| * Propagate backtraces from LINK_LIBRARIES through to link line itemsBrad King2020-02-101-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d4d0dd0f6a (cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces, 2019-09-13, v3.16.0-rc1~87^2~4), backtraces have been collected by `ComputeLinkLibs` by looking back through the link implementation libraries for one matching the text of the link line item. This is slow in projects with long link lines. Instead, teach `cmComputeLinkDepends` and `cmComputeLinkInformation` to carry backtrace information explicitly along with the text of each item. Fixes: #20322
| * Merge topic 'vs-version-for-unity' into release-3.16Brad King2020-02-051-7/+3
| |\ | | | | | | | | | | | | | | | | | | 9135954e2f VS: Do not use native unity builds on VS 2017 versions less than 15.8 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4324
| * \ Merge topic 'vs-16.4-custom-command-inputs' into release-3.16Brad King2020-01-291-1/+7
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 58b0674687 VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4297
* | \ \ Merge topic 'vs-version-for-unity'Brad King2020-02-051-7/+3
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 9135954e2f VS: Do not use native unity builds on VS 2017 versions less than 15.8 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4324
| * | | VS: Do not use native unity builds on VS 2017 versions less than 15.8Brad King2020-02-041-7/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | VS 2017 version 15.8 introduced support for unity builds implemented in part by the `$(VCTargetsPath)/Microsoft.Cpp.Unity.targets` file. Do not enable unity builds on VS 15 versions that do not have that file. Fixes: #20284
| * | Merge topic 'pch-force-include' into release-3.16Brad King2019-12-161-0/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | c5c218fa0d PCH: Append pch header file to list of forced include files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4135
* | \ \ Merge topic 'vs-16.4-custom-command-inputs'Brad King2020-01-291-1/+7
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 58b0674687 VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4297
| * | | VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputsBrad King2020-01-281-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the fix from commit 0578239d3a (VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputs, 2019-09-23, v3.15.4~2^2) to apply to SYMBOLIC *inputs* too. This is needed when there is a chain of custom commands that use symbolic paths for ordering. Fixes: #20179
* | | | Merge topic 'cuda_runtime_library_controls'Brad King2020-01-281-12/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0d0145138f CUDA: Add abstraction for cuda runtime selection Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4178
| * | | | CUDA: Add abstraction for cuda runtime selectionRobert Maynard2020-01-271-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes #17559 Replace our hard-coded default of cudart=static with a first-class abstraction to select the runtime library from an enumeration of logical names.
* | | | | Merge topic 'csharp-no-valued-macros'Brad King2020-01-271-0/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | effd4d0569 CSharp: Do not pass definitions with values Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4267
| * | | | | CSharp: Do not pass definitions with valuesSumit Bhardwaj2020-01-241-0/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Microsoft C# tooling does not accept definitions with values. Filter them out. Fixes: #19817
* | | | | VS: Add support for .NET Standard and .NET CoreJoerg Bornemann2020-01-241-17/+30
|/ / / / | | | | | | | | | | | | Fixes: #20105
* | | | Merge topic 'fix-vs-winrt-by-default'Brad King2019-12-171-5/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 557ea4614e VS: Change CMAKE_VS_WINRT_BY_DEFAULT to not implicitly enable WinRT 7bcef355bf Vs: Add test for VS_WINRT_BY_DEFAULT Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4127
| * | | | VS: Change CMAKE_VS_WINRT_BY_DEFAULT to not implicitly enable WinRTPetr Polezhaev2019-12-161-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original behaviour would unconditionally enable WinRT for all projects so source file flag generation code can acknowledge WinRT being present and disable it for C language source files. An unintentional result of that approach is that WinRT is enabled for ALL projects, including C++ projects/source files with no way to disable it Instead use `CMAKE_VS_WINRT_BY_DEFAULT` as a hint that the platform is WinRT-by-default and set global `CompileAsWinRT` flag to `false` unless it was explicitly requested by either `WINRT_COMPONENT` option or `/ZW` compilation option - similar to what Windows Phone/Windows Store platform logic does In case WinRT compilation is enabled for a project by either of aforementioned methods, C language source file override logic will still kick in and disable CompileAsWinRT for C source files Fixes: #20063
* | | | | Merge topic 'vs-xml-improve'Brad King2019-12-171-12/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d8f1736dcc cmVisualStudio10TargetGenerator: improve XML element generation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4140
| * | | | | cmVisualStudio10TargetGenerator: improve XML element generationVitaly Stakhovsky2019-12-151-12/+6
| |/ / / / | | | | | | | | | | | | | | | When an element is emitted, the newline will be printed first, not last
* | | | | Merge topic 'stdstring-target'Brad King2019-12-171-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c34b4497f8 cmTarget: add std::string overloads Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4137
| * | | | | cmTarget: add std::string overloadsVitaly Stakhovsky2019-12-141-2/+2
| |/ / / /
* | | | | Merge topic 'pch-force-include'Brad King2019-12-161-0/+3
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | | | | | | | | | c5c218fa0d PCH: Append pch header file to list of forced include files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4135
| * | | PCH: Append pch header file to list of forced include filesCristian Adam2019-12-131-0/+3
| | | | | | | | | | | | | | | | Fixes: #20088
* | | | Merge branch 'backport-unity-object-libraries' into unity-object-librariesBrad King2019-12-081-1/+1
|\ \ \ \ | | |_|/ | |/| |
| * | | Unity: Generic source file handling for all generatorsCristian Adam2019-12-071-1/+1
| |/ /
* | | Merge topic 'tag-std-string'Brad King2019-11-131-17/+17
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 64843b1737 cmVisualStudio10TargetGenerator: use std::string for tag Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4026
| * | | cmVisualStudio10TargetGenerator: use std::string for tagVitaly Stakhovsky2019-11-101-17/+17
| | | |
* | | | Merge topic 'unity-HEADER_FILE_ONLY'Brad King2019-11-121-0/+1
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | 9a5418320e Unity: Don't include sources with HEADER_FILE_ONLY property set Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4023
| * | Unity: Don't include sources with HEADER_FILE_ONLY property setCristian Adam2019-11-111-0/+1
| | | | | | | | | | | | | | | | | | Fixes: #19946 Fixes: #19947 Co-authored-by: Craig Scott <craig.scott@crascit.com>
* | | Merge topic 'vs-vctargetspath'Brad King2019-10-181-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e7d57bc3c3 VS: Propagate CMAKE_VS_GLOBALS into custom targets 45b4b4b930 VS: Propagate CMAKE_VS_GLOBALS into compiler id projects 548e9051a4 VS: Add support to override VCTargetsPath through toolset 99e83d4235 cmake: Teach --build mode to load CMAKE_GENERATOR_TOOLSET Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3817
| * | | VS: Add support to override VCTargetsPath through toolsetAlexander Boczar2019-10-151-0/+5
| |/ / | | | | | | | | | Fixes: #19708
* | | VS: Add VS_DOTNET_DOCUMENTATION_FILE propertyCharly Mourglia2019-10-151-0/+14
|/ / | | | | | | | | | | | | Add a `VS_DOTNET_DOCUMENTATION_FILE` target property to tell VS generators to add a `DocumentationFile` setting in `.csproj` files. Fixes: #19784
* | PCH: Generate sources during Compute stepCristian Adam2019-10-091-6/+23
| |
* | Unity build: Generate sources during Compute stepBrad King2019-10-031-1/+0
| | | | | | | | | | | | | | | | The unity build sources need to be added for all generators. Create them during `cmGlobalGenerator::Compute` to avoid duplicating the calls in every generator. We already handle Qt autogen there too. Issue: #19789
* | Revise include order using clang-format-6.0Kitware Robot2019-10-011-6/+7
| | | | | | | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* | Merge topic 'vs-ReferenceOutputAssembly-conditions'Brad King2019-09-261-26/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 4dc8c153ec Tests: Teach VSWinStorePhone to verify the content of generated xap 481070a78a Tests: Teach VSWinStorePhone to verify the content of generated appx/msix acdb326610 VS: Do not reference output assemblies of targets with no output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3778
| * | VS: Do not reference output assemblies of targets with no outputVedran Vujinovic2019-09-191-26/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our logic that sets `ReferenceOutputAssembly` in `ProjectReference` has accumulated a series of conditions for different cases in which the referenced target has no output. Simplify the condition to check `GetManagedType` directly for cases with no output. This will explicitly turn off `ReferenceOutputAssembly` in `ProjectReference` for utility (i.e. `add_custom_target`) and special targets (i.e. `ZERO_CHECK`, etc.), and allowing reference of target dependencies that produce some output. Fixes: #19665
* | | Merge topic 'vs-16.4-custom-commands'Brad King2019-09-251-2/+16
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 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-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utilityDaniel Eiband2019-09-231-44/+16
| | | | | | | | | | | | | | | | | | | | | cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is needed or an instance of cmCompiledGeneratorExpression cannot be cached. Fixes: #19686
* | | cmstd: Modernize CMake system headersMarc Chevrier2019-09-201-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
* | Merge topic 'cuda_resolve_device_symbols_on_static_lib_collect_deps_properly'Brad King2019-09-091-0/+76
|\ \ | | | | | | | | | | | | | | | | | | 2d7bb13da7 CUDA: static lib device linking computes required static libs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3748
| * | CUDA: static lib device linking computes required static libsRobert Maynard2019-09-051-0/+76
| | | | | | | | | | | | | | | | | | Previously the CMake didn't compute the required set of libraries needed to properly device link a static library when CUDA_RESOLVE_DEVICE_SYMBOLS was enabled.
* | | Merge topic 'use-using'Brad King2019-09-061-7/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1d3f5ebb0d clang-tidy: Enable check modernize-use-using a1ddf2d0ba clang-tidy: Replace typedef with using Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3782
| * | | clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-041-7/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | Automate the conversion with perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g' then manually fix a few places.
* | | Merge topic 'unity-build'Brad King2019-09-051-0/+51
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7786a05c70 Unity build: Add XCode support 1353802af3 Unity build: Add unit tests 8dfeb5d278 Unity build: Add support for Visual Studio generator 7114c141e2 Unity build: Add support for Ninja and Makefile generators Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Evgeniy Dushistov <dushistov@mail.ru> Acked-by: Viktor Kirilov <vik.kirilov@gmail.com> Merge-request: !3611
| * | Unity build: Add support for Visual Studio generatorCristian Adam2019-08-291-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | It works as expected in Visual Studio. Visual Studio 2017 will (partially) benefit from the build in support for unity builds. The custom unity sources are used, because the build in support doesn't allow batching of certain number of files. It can do only batching by directory.
* | | Merge topic 'vs-cuda-custom-dir'Brad King2019-09-031-4/+25
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 25f29b9741 cuda: Adapted tests to work with modified cuda toolset ee86770a3f cuda: Added docs for extended cuda toolset 0ad180d712 cuda: Extend cuda compiler detection to work with custom cuda path 55b0532128 cuda: Extend vs10 target generator to use custom cuda path df0247a371 cuda: Extend toolset argument to accept path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3713
| * | cuda: Extend vs10 target generator to use custom cuda pathBenjamin Wozniak2019-08-301-4/+25
| | |
* | | Merge topic 'precompile-headers'Brad King2019-08-291-1/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8da78d4efe Precompile headers: Update documentation 5772930164 Precompile headers: Add unit tests 519606704e Precompile headers: Add support for Visual Studio generators 28be170fbc Precompile headers: Add support for Xcode generator b8626261e9 Precompile headers: Add methods to generate PCH sources 375d01c680 PCH: add example/test 9b6797e71d PCH: add target_precompile_headers command 0467a2f91b PCH: add PRECOMPILE_HEADERS to special properties Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Acked-by: Ivan171 <heavenandhell171@gmail.com> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Steve Mokris <smokris@softpixel.com> Acked-by: Evgeniy Dushistov <dushistov@mail.ru> Acked-by: Danila Malyutin <flashmozzg@gmail.com> Acked-by: Viktor Kirilov <vik.kirilov@gmail.com> Acked-by: Lucas Zhao <zhaopf6@163.com> Merge-request: !3553
| * | | Precompile headers: Add support for Visual Studio generatorsCristian Adam2019-08-281-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | Tested with Visual C++ 2017 on Windows. Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>