summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudio10TargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* VS: Place intermediate files in the "ASM List Location" next to objectsBrad King2019-07-181-2/+1
| | | | | | | | | | | | | The `AssemblerListingLocation` setting in VS project files is meant for intermediate files created during the build much like object files. When the VS 7 generator was first under development, commit 49aebe6c99 (new arch, 2002-09-04) placed both object files and the ASM list location in the same directory. Later commit f9aef0e422 (Generator now creates a separate intermediate files directory for each target, 2005-07-27) moved the object files to a per-target directory but the ASM list location was not moved with them. Move it now. Fixes: #19480
* VS: Fix SBCS support for object librariesBrad King2019-07-121-1/+1
| | | | | | | | In commit 3a53005f7d (Build object library targets in VS, 2012-03-12, v2.8.8~29^2~13) we updated the condition for unicode but accidentally left out the SBCS case support for object libraries. Fixes: #19469
* CUDA: Do not device link if CUDA is not an enabled languageRobert Maynard2019-07-011-1/+1
| | | | | | | | | | | | | Checks added in commit 81b4d10d8f (CUDA: More exhaustive checks to determine when to do device linking, 2019-05-09, v3.15.0-rc1~82^2) assumed that CUDA properties would be set only if CUDA is enabled. We cannot do a device link step if we do not have the CUDA language enabled. This was discovered as some projects unconditionally set CUDA properties such as `CUDA_RESOLVE_DEVICE_SYMBOLS` even when the CUDA language has not been enabled. Fixes: #19432
* VS: Use AddLanguageFlags to de-duplicate CMAKE_{CUDA,ASM*}_FLAGS lookupBrad King2019-06-261-15/+11
| | | | | | | | Apply the refactoring from commit 707283981f (VS: Use AddLanguageFlags to de-duplicate CMAKE_<LANG>_FLAGS* lookup, 2019-04-01, v3.15.0-rc1~300^2) to the CUDA, ASM_MASM, and ASM_NASM languages too. In particular, CUDA needs the MSVC runtime library selection logic in the `AddLanguageFlags` method that is used by other generators.
* Merge topic 'vs-add-package-reference'Brad King2019-05-311-0/+28
|\ | | | | | | | | | | | | | | 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/+28
| |
* | Merge topic 'vs-depends-dedup'Brad King2019-05-311-19/+43
|\ \ | |/ |/| | | | | | | | | | | | | 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: De-duplicate custom command dependenciesFrans van Dorsselaer2019-05-301-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid listing the same input more than once in custom commands generated in `.vcxproj` and `.csproj` files. In the case of a `.vcxproj` file additionally avoid listing the source to which the command is attached since it is already implicitly a dependency. This is a nice cleanup and also works around a VS 2019 16.1 regression in MSBuild dependency checking. Starting with that version, MSBuild now re-builds custom commands when the list of dependencies has changed. However, its check is confused by duplicate dependencies. De-duplicating them avoids this problem. Co-Author: Brad King <brad.king@kitware.com> Fixes: #19303
| * VS: Clarify name of custom commands AdditionalInputs variableFrans van Dorsselaer2019-05-301-8/+8
| |
| * VS: Isolate custom command input/output generation scopesBrad King2019-05-301-12/+16
| |
* | Merge topic 'remove_unneeded_device_link_calls'Brad King2019-05-221-15/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 81b4d10d8f CUDA: More exhaustive checks to determine when to do device linking 3205c7c950 cmNinjaLinkLineDeviceComputer now lives in the correct source file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3320
| * | CUDA: More exhaustive checks to determine when to do device linkingRobert Maynard2019-05-211-15/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously CMake used fairly naive logic to determine when to do device linking which caused unnecessary device linking to occur frequently. We now use a more exhaustive algorithm to determine when we have a need for device linking. Fixes: #19238
* | | VS: Factor out helper to compute ApplicationTypeRevisionBrad King2019-05-211-8/+8
| | | | | | | | | | | | This is the first two components of `CMAKE_SYSTEM_VERSION`.
* | | Source: std::string related cleanupVitaly Stakhovsky2019-05-151-3/+3
|/ /
* | Merge topic 'vs-project-import'Brad King2019-04-161-0/+19
|\ \ | | | | | | | | | | | | | | | | | | 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/+19
| | | | | | | | | | | | Fixes: #18998
* | | cmVisualStudio10TargetGenerator: Simplify code of two functionsLeonid Pospelov2019-04-121-8/+6
| | |
* | | cmVisualStudio10TargetGenerator: Use count instead of findLeonid Pospelov2019-04-121-19/+9
| | |
* | | cmVisualStudio10TargetGenerator: Remove uses of const_castLeonid Pospelov2019-04-121-11/+9
| | |
* | | VS: Use AddLanguageFlags to de-duplicate CMAKE_<LANG>_FLAGS* lookupBrad King2019-04-021-8/+2
| | |
* | | cmTarget: Move member `*Commands` to implSebastian Holtermann2019-03-231-0/+1
|/ /
* | Merge topic 'vs-explicit-newline'Brad King2019-03-071-0/+1
|\ \ | |/ | | | | | | | | | | 0bf4418017 VS: Encode newlines in XML attributes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3065
| * VS: Encode newlines in XML attributesLuca Cappa2019-03-061-0/+1
| | | | | | | | | | | | | | | | Encode `\n` as `&#10;` to avoid generating a literal newline inside an XML attribute. This is more readable and also fixes custom commands in `.csproj` files with VS 2019 RC. Fixes: #19001
* | cmSystemTools::Error: consolidate parameters into single std::stringVitaly Stakhovsky2019-02-201-10/+7
| |
* | cmMakefile::ConfigureFile: Accept `std::string` parametersVitaly Stakhovsky2019-02-191-2/+2
| |
* | Create and use `cmGeneratorTarget::Names`Saleem Abdulrasool2019-02-111-13/+6
|/ | | | | | Rather than taking a number of out parameters for the various names, create a structure that is reused for both `GetLibraryNames` and `GetExecutableNames`. Replace uses according to the new interface.
* CUDA: Honor CUDA_RESOLVE_DEVICE_SYMBOLS for more target typesRobert Maynard2019-02-051-12/+13
| | | | | | | `CUDA_RESOLVE_DEVICE_SYMBOLS` can be used with shared, module, and executable target types. This relaxation is to allow for better interoperability with linkers that automatically do CUDA device symbol resolution and have no way to disable it.
* Merge topic 'vs-wince-deployment'Brad King2019-02-041-1/+7
|\ | | | | | | | | | | | | f5d72be57a VS: Fix deployment for WinCE projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2907
| * VS: Fix deployment for WinCE projectsWil Stark2019-02-011-1/+7
| | | | | | | | Fixes: #18868
* | VS: Fix WinRT component referencesGilles Khouzam2019-02-011-2/+8
|/ | | | | | | | | | | WinRT components need to be referenced in a similar way that managed code libraries are referenced. Validate that the library reference is a WinRT component and reference it through the project. Add test coverage for `VS_WINRT_COMPONENT`. While at it, fix the IOT reference failing on Win10 SDK 17763 which doesn't include it anymore. Fixes: #18846
* cmOutputConverter: move ConvertToRelativePath to cmStateDirectory.Bruno Manganelli2019-01-271-4/+4
|
* Merge topic 'vs-debug-utility-targets'Brad King2019-01-171-49/+52
|\ | | | | | | | | | | | | 22b43b0009 VS: Add support for VS_DEBUGGER_* properties on custom targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2794
| * VS: Add support for VS_DEBUGGER_* properties on custom targetsNils Gladitz2019-01-161-49/+52
| | | | | | | | | | | | Visual studio itself supports the corresponding `LocalDebugger*` properties on utility targets; support generating them from CMake as well.
* | Merge topic 'fix_csharp_defines'Brad King2019-01-171-0/+4
|\ \ | |/ |/| | | | | | | | | a541d113e6 VS: Honor target_compile_definitions for C# projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2809
| * VS: Honor target_compile_definitions for C# projectsWil Stark2019-01-161-0/+4
| | | | | | | | Fixes: #18698
* | Factor out enum MessageType into dedicated headerBruno Manganelli2019-01-161-3/+3
|/ | | | Reduce the number of files relying on `cmake.h`.
* Merge topic 'fix-source-group-CMakeLists.txt'Brad King2019-01-151-0/+8
|\ | | | | | | | | | | | | 77303314dc Restore support for a custom source group for CMakeLists.txt Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2803
| * Restore support for a custom source group for CMakeLists.txtBrad King2019-01-141-0/+8
| | | | | | | | | | | | | | | | | | | | Since commit v3.11.0-rc1~467^2 (VS,Xcode: Add CMakeLists.txt sources without mutating targets, 2017-10-18) we do not add `CMakeLists.txt` to target sources but instead generate references to them directly. This accidentally dropped generation of the `.vcxproj.filters` entry for a source group in which `CMakeLists.txt` is the only member. Fixes: #18795
* | cmVisualStudio10TargetGenerator: Fix .NET Compact Framework projects.Wil Stark2019-01-111-1/+32
|/ | | | Fixes: #18672
* VS: Honor WinCE deployment properties in VS 2010+Wil Stark2019-01-101-0/+27
| | | | Previously only VS 2008 was supported.
* Merge topic 'vs_deploy_content_fix'Brad King2018-12-131-0/+1
|\ | | | | | | | | | | | | b5b63da088 VS: Fix Deploy content in .csproj files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2713
| * VS: Fix Deploy content in .csproj filesWil Stark2018-12-071-0/+1
| |
* | VisualStudio10TargetGenerator: support C# refs with '.' in file name.Wil Stark2018-12-111-1/+2
|/ | | | Fixes: #18696
* Merge topic 'cuda-external'Brad King2018-12-061-1/+2
|\ | | | | | | | | | | | | 7b74213461 CUDA: Fix crash on linking to a CUDA target without CUDA enabled Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2704
| * CUDA: Fix crash on linking to a CUDA target without CUDA enabledBrad King2018-12-051-1/+2
| | | | | | | | | | | | | | | | Do not try to device link or add CUDA runtime libraries if the language is not enabled. Fixes: #18673 Issue: #18614
* | Merge topic 'fix-custom-target-with-csharp'Brad King2018-11-011-9/+7
|\ \ | |/ | | | | | | | | | | | | | | 9040df31e2 Merge branch 'backport-fix-custom-target-with-csharp' 1acd1c2b50 CSharp: Fix regression in VS project type selection for custom target a56edad6d6 CSharp: Fix regression in VS project type selection for custom target Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2549
| * CSharp: Fix regression in VS project type selection for custom targetBrad King2018-10-311-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A target created by `add_custom_target` should always be a `.vcxproj` file even if it has `.cs` sources involved in custom commands and such. The latter case was broken by refactoring in commit v3.12.0-rc1~160^2~7 (remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget, 2018-03-19). The reason is that the `HasLanguage` method added by commit v3.12.0-rc1~239^2~6 (cmGeneratorTarget: add HasLanguage() as wrapper for GetLanguages(), 2018-03-19) does not check the target type and so is not a suitable check for deciding the project file extension. The `HasLanguage` method was an attempt at an abstraction that turns out not to work very well. Replace it with a dedicated `IsCSharpOnly` method that considers the target type, sources, and non-transitive `LINKER_LANGUAGE`. Fixes: #18515
| * Merge branch 'vs-csharp-in-custom-target' into release-3.13Brad King2018-10-231-0/+4
| |\ | | | | | | | | | Merge-request: !2515
| * \ Merge branch 'vs-cuda-pdb' into release-3.13Brad King2018-10-101-7/+18
| |\ \ | | | | | | | | | | | | Merge-request: !2473
* | \ \ Merge topic 'vs-csharp-in-custom-target'Brad King2018-10-241-0/+4
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | d004d8c59a VS: Fix crash on CSharp sources in a custom target Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2515