summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudio10TargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Source sweep: Use cmIsOn instead of cmSystemTools::IsOnSebastian Holtermann2019-08-171-10/+10
| | | | | | | | | This replaces invocations of - `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn` - `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND` - `cmSystemTools::IsOn` with `cmIsOn` - `cmSystemTools::IsOff` with `cmIsOff`
* Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-5/+5
|
* Merge topic 'vs-spectre-off'Brad King2019-07-311-4/+7
|\ | | | | | | | | | | | | f9b7c660d7 VS: Fix mapping of `-Qspectre-` flag Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3629
| * VS: Fix mapping of `-Qspectre-` flagBrad King2019-07-301-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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-asmlist-dir'Brad King2019-07-191-2/+1
|\ \ | |/ | | | | | | | | | | c1fc6c80c7 VS: Place intermediate files in the "ASM List Location" next to objects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3569
| * 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
* | Introduce memory management helper: cm_memory.hxxMarc Chevrier2019-07-141-1/+2
| |
* | Merge topic 'object-library-sbcs'Brad King2019-07-121-1/+1
|\ \ | |/ | | | | | | | | | | 54290adcba VS: Fix SBCS support for object libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3537
| * 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
* | IWYU: Fix handling of <memory> standard headerBrad King2019-07-101-1/+1
| | | | | | | | | | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* | Merge topic 'cuda-no-device-link-when-disabled'Brad King2019-07-021-1/+1
|\ \ | |/ | | | | | | | | | | a4d502a5bf CUDA: Do not device link if CUDA is not an enabled language Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3491
| * 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
* | Merge topic 'vs-dpi-aware'Brad King2019-06-271-8/+25
|\ \ | | | | | | | | | | | | | | | | | | cd92f8f8bf VS: Add VS_DPI_AWARE target property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3418
| * | VS: Add VS_DPI_AWARE target propertyMatt Weir2019-06-261-8/+25
| | | | | | | | | | | | | | | Enables setting the visual studio project property for Manifests, controlling the DPI Aware setting.
* | | Merge topic 'cuda-msvc-runtime-library'Brad King2019-06-271-15/+11
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | 8fbd25772f CUDA: Implement MSVC runtime library abstraction 07807a2006 VS: Use AddLanguageFlags to de-duplicate CMAKE_{CUDA,ASM*}_FLAGS lookup Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3485
| * | 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.
* | | VS10Generator: add project properties to enable WindowsCE deployment.Wil Stark2019-06-191-0/+5
| |/ |/| | | | | Fixes: #19408
* | cmPropertyMap: Make std::map container privateSebastian Holtermann2019-06-081-12/+12
|/
* 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`.