summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudio10TargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* VS: Fix paths in multi-target SDK-style projectsSebastian Maisch2022-10-271-1/+2
| | | | | | | | | | Set the `AppendTargetFrameworkToOutputPath` property to `false` only for single target SDK-style projects. This prevents outputs from being overwritten during the build. This revises commit 7671d71299 (VS: Fix target output paths in SDK-style projects, 2022-09-23, v3.25.0-rc1~82^2). Fixes: #24094 Issue: #23989
* Merge topic 'remove-vs10-generator'Brad King2022-09-271-27/+2
|\ | | | | | | | | | | | | 8d6f015d59 Drop Visual Studio 10 2010 generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7718
| * Drop Visual Studio 10 2010 generatorBrad King2022-09-261-27/+2
| | | | | | | | This generator has been deprecated since CMake 3.22. Remove it.
* | VS: Fix target output paths in SDK-style projectselksson2022-09-231-0/+1
|/ | | | | | | | Set the `AppendTargetFrameworkToOutputPath` property to `false` so that MSBuild does not append anything extra to our standard target output paths. This fixes the `INSTALL` target, among other things. Fixes: #23989
* VS: Fix PACKAGE target build with SDK-style projectselksson2022-09-221-2/+2
| | | | | | Extend the fix from commit a450cc9533 (VS: Set ResolveNugetPackages to false for ALL_BUILD and ZERO_CHECK, 2021-12-15, v3.23.0-rc1~196^2~1) to the `PACKAGE` target too.
* Merge topic 'cuda_add_lto_support'Brad King2022-08-031-4/+7
|\ | | | | | | | | | | | | | | | | | | 96bc59b1ca CUDA: Add Device LTO support for nvcc 1527d48cd0 CheckIPO: Refactor logic selecting test source files 4a552ab4ad remove unused variables 6eda92d037 remove unused variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7389
| * CUDA: Add Device LTO support for nvccRobert Maynard2022-07-221-4/+7
| | | | | | | | Fixes #22200
* | MSVC: Recognize -XYZ as well as /XYZ when parsing MS tool command linesDubach, Joev2022-07-271-3/+7
| | | | | | | | Fixes: #23772
* | Merge topic 'vs-fuzzer'Brad King2022-07-271-0/+9
|\ \ | | | | | | | | | | | | | | | | | | feeb9ae4ba VS: Add support for (lib)fuzzer /fsanitize=fuzzer flag Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7471
| * | VS: Add support for (lib)fuzzer /fsanitize=fuzzer flagFredrik Claesson2022-07-131-0/+9
| |/
* | Merge branch 'backport-3.24-revert-vs-ZERO_CHECK-proj'Brad King2022-07-221-221/+34
|\ \
| * | VS: Revert "Write ZERO_CHECK.proj for VS19 and above"Brad King2022-07-221-221/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit a334f1b906 (VS: Write ZERO_CHECK.proj for VS19 and above, 2021-12-24, v3.24.0-rc1~607^2) and a supporting change from commit 7219988b00 (VS: Exclude ZERO_CHECK.proj from .sln for include_external_msproject, 2022-07-15, v3.24.0-rc4~1^2). The change was made to support `dotnet` tooling in addition to `msbuild`. However, not having `ZERO_CHECK` in the `.sln` breaks common interactive workflows. Revert the change for now. Later it can be re-introduced behind some kind of option that enables `dotnet` support. Fixes: #23726 Issue: #20227
* | | VS: Generate IntDir property for INTERFACE librariesJonas Fierlings2022-07-081-1/+1
| |/ |/| | | | | | | | | This prevents MSBuild from complaining with warning MSB8028. Fixes #23043
* | Merge topic 'cpp-named-module-file-sets'Brad King2022-06-171-0/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 07bc3b07ec gitlab-ci: test C++ modules using GCC 1b2270aa4e ci: add a Docker image to test out C++ modules with GCC 8c5a53096a Tests/RunCMake/CXXModules: add module-using examples 4151547e2f cmGlobalNinjaGenerator: use `cmModuleMapper` implementation b43bdaff3c cmCxxModuleMapper: implement support for GCC's module map format 02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents a046a45aad cmGlobalNinjaGenerator: add a TODO for header units 386465bf83 cmTarget: add support for C++ module fileset types ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7369
| * | cmTarget: add support for C++ module fileset typesBen Boeckel2022-06-161-0/+12
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | C++ modules have two variants which are of importance to CMake: - `CXX_MODULES`: interface modules (those using `export module M;`, `export module M:part;`, or `module M:internal_part;`) - `CXX_MODULE_HEADER_UNITS`: importable header units Creating C++ modules or partitions are *not* supported in any other source listing. This is because the source files must be installed (so their scope matters), but not part of usage requirements (what it means for a module source to be injected into a consumer is not clear at this moment). Due to the way `FILE_SET` works with scopes, they are a perfect fit as long as `INTERFACE` is not allowed (which it is not).
* | Merge topic 'msvc_cuda_pass_arch_flags_in_additional_options'Brad King2022-06-171-9/+16
|\ \ | | | | | | | | | | | | | | | | | | e3983168da CUDA: MSVC pass all cuda gencode flags via AdditionalOptions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7359
| * | CUDA: MSVC pass all cuda gencode flags via AdditionalOptionsRobert Maynard2022-06-161-9/+16
| |/ | | | | | | Fixes #23491
* | VS: Add compile properties to .NET Sdk projectsMaxime Raynaud2022-06-151-0/+4
|/
* VS: Add AndroidAPILevel element to generated project filesBenjamín de la Fuente Ranea2022-06-081-0/+4
| | | | | | | Map `CMAKE_SYSTEM_VERSION` to the Android Target API Level for Visual Studio projects. Fixes: #22886
* Merge topic 'vs-system-include'Brad King2022-05-201-6/+37
|\ | | | | | | | | | | | | 7a2496daad VS: Add support for SYSTEM include directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7238
| * VS: Add support for SYSTEM include directoriesJosiah Bills2022-05-181-6/+37
| | | | | | | | Fixes: #17904
* | CUDA: Use cmLinkLineDeviceComputer in VS generatorRobert Maynard2022-05-031-55/+7
|/ | | | Resolve a fixme comment in `ComputeCudaLinkOptions`.
* VS: Add StartupObject property for managed .NET projectsFlorian Schweiger2022-04-121-0/+14
|
* VS: Write ZERO_CHECK.proj for VS19 and aboveSumit Bhardwaj2022-02-211-34/+221
| | | | | | | | | For VS 19 and above, switch the format of project file to `VsProjectType::proj` for ZERO_CHECK target. The `ZERO_CHECK.proj` consists of primitive MSBuild commands only and has no dependency on any other targets or props files. This proj file is written as a `ProjectReference` for other targets, but is not written to the sln file.
* VS: Revert "Write ZERO_CHECK.proj for VS19 and above"Brad King2022-02-171-214/+31
| | | | | | | | Revert commit 925da7d428 (VS: Write ZERO_CHECK.proj for VS19 and above, 2021-12-24). Although its commit message was mistakenly not updated, it implemented the change for VS 2017 and below too. Since it was merged, I've discovered several subtle failures in nightly testing with VS 2017. Revert the change pending further investigation.
* VS: Write ZERO_CHECK.proj for VS19 and aboveSumit Bhardwaj2022-02-121-31/+214
| | | | | Use VsProjectType::proj as the file format for ZERO_CHECK and write ZERO_CHECK.proj as a msbuild dependency for other projects.
* VS: Add proj as a project type to VsProjectTypeSumit Bhardwaj2022-02-121-0/+15
| | | | | | | Add `proj` as a project type to VsProjectType so that it can be consumed by `ZERO_CHECK` target. This commit adds the type and cleans up the code that needs to treat `proj` and `csproj` in the same fashion. Next commit will make changes to add `ZERO_CHECK.proj`.
* Merge topic 'genex-LINK_LIBRARY-to-decorate-library'Brad King2022-02-091-2/+4
|\ | | | | | | | | | | | | | | | | | | | | 2a6b0415d7 $<LINK_LIBRARY>: Add LINK_LIBRARY_OVERRIDE target property 42965799b4 Genex: Add $<LINK_LIBRARY:...> 78dd7d5292 cmRulePlaceholderExpander: add base class for placeholder expansion reuse 4b55828a9f cmExpandListWithBacktrace: add handling of empty elements. 28d7432468 cmComputeLinkInformation: use cmComputeLinkDepends::LinkEntry Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6769
| * Genex: Add $<LINK_LIBRARY:...>Marc Chevrier2022-02-071-2/+4
| | | | | | | | | | | | | | | | This generator expression offers the capability, for the link step, to decorate libraries with prefix/suffix flags and/or adding any specific flag for each library. Fixes: #22812, #18751, #20078, #22703
* | Merge topic 'vs_buildcache_support'Brad King2022-02-091-1/+3
|\ \ | | | | | | | | | | | | | | | | | | b764c7c273 VS: Add property to turn off Visual Studio compile batching Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6957
| * | VS: Add property to turn off Visual Studio compile batchingKaloyan Donev2022-02-081-1/+3
| |/ | | | | | | Resolves: #23179
* | Merge topic 'dotnet_sdk'Brad King2022-02-081-0/+11
|\ \ | |/ |/| | | | | | | | | | | | | 5cdd774d51 VS: Handle build target correct for .NET SDK style projects with Any CPU 309191052c VS: Set Visual Studio versions read out from solution file f7791698cb VS: Allow setting output directory in .NET SDK style projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6944
| * VS: Allow setting output directory in .NET SDK style projectsFlorian Schweiger2022-02-071-0/+11
| |
* | VS: Simplify generation of per-source PCH settingsBrad King2022-02-031-9/+16
| | | | | | | | | | | | | | | | | | | | Avoid looking up the PCH create/use flags just to map them through flag tables back to the `.vcxproj` settings. Instead, simply generate the PCH settings directly for each source file. Since commit 9df1f33c9a (VisualStudio: move PCH rules to projects when possible., 2020-10-15, v3.20.0-rc1~638^2) we already do this for the target-wide PCH settings.
* | VS: .Net SDK Style projects can add Reference to dllsSumit Bhardwaj2022-02-011-0/+1
|/ | | | | | | | When support for `DOTNET_SDK` was added, only a minimal set of options were built in. Based on user feedback, support for reference to dlls (not just projects) is needed. That support is added here. Fixes: #23166
* Make cmGlobalVisualStudioGenerator::VSVersion enum classSumit Bhardwaj2022-01-251-9/+9
|
* Merge topic 'vs-package-restore'Brad King2022-01-241-5/+35
|\ | | | | | | | | | | | | | | | | | | 9aa7831f05 Presets: add resolve packages setting to build presets. b2f8f0bb87 cmGlobalVisualStudio10Generator: Auto restore NuGet packages. 193b8fca52 cmBuildOptions: Split build arguments into separate object. 6a10103493 Help: Update preset schema description for version 3 entries. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6761
| * cmGlobalVisualStudio10Generator: Auto restore NuGet packages.Carsten Rudolph2022-01-221-5/+35
| |
* | VS: Add support for ASAN -fsanitize=address flagHanaa Elghobashi2022-01-201-0/+9
|/ | | | Fixes: #21081
* Consolidate usage of VsProjectTypeSumit Bhardwaj2021-12-231-31/+33
| | | | | | Move ProjectFileExtension handling logic to use ProjectType and remove extraneous checks in .Net SDK style project generation. This change will make introducing new project types relatively simpler.
* Merge topic 'vs-csharp-dotnet-sdk'Brad King2021-12-221-52/+192
|\ | | | | | | | | | | | | | | | | 0eea32a376 VS: Add DOTNET_SDK property to generate SDK-style C# projects a450cc9533 VS: Set ResolveNugetPackages to false for ALL_BUILD and ZERO_CHECK fa76e5d194 cmVisualStudio10TargetGenerator: Factor out helper for classic MSBuild project Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6634
| * VS: Add DOTNET_SDK property to generate SDK-style C# projectsSumit Bhardwaj2021-12-211-2/+117
| | | | | | | | | | | | | | | | Changes in cmVisualStudio10TargetGenerator::Generate to write .Net SDK-style project for VS generators VS 19 and above. Also adds documentation and tests. Issue: #20227
| * VS: Set ResolveNugetPackages to false for ALL_BUILD and ZERO_CHECKSumit Bhardwaj2021-12-151-0/+14
| | | | | | | | | | | | | | | | When SDK-style targets in a project are restored, ResolveNugetPackageAssets target is not skipped. However, ALL_BUILD and ZERO_CHECK do not have any nuget packages to resolve and the build fails. This commit sets ResolveNugetPackages to false which skips the target and the build succeeds.
| * cmVisualStudio10TargetGenerator: Factor out helper for classic MSBuild projectSumit Bhardwaj2021-12-151-52/+63
| | | | | | | | | | | | | | | | | | In preparation for generating .Net SDK style project, refactor cmVisualStudio10TargetGenerato::Generate to split the functionality to write classic MSBuild project file. This commit only introduces a helper function and moves the functionality there. A later commit will add WriteSdkStyleProjectFile, the call to it, and the rest of the .Net SDK-style changes.
* | VS: Add custom VCEnd labels only in C# projectsSumit Bhardwaj2021-12-161-8/+10
| | | | | | | | | | | | | | | | | | In commit dff98aa9ca (VS: add missing label in C# project-build events, 2021-12-15) the condition for adding our own `VCEnd` label was based on the project being managed or not. Since we support managed C++ projects, switch the condition to be based on whether the project is C#. Issue: #21440
* | Merge topic 'vs-csproj-scripts'Brad King2021-12-161-0/+10
|\ \ | | | | | | | | | | | | | | | | | | dff98aa9ca VS: add missing label in C# project-build events Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6801
| * | VS: add missing label in C# project-build eventsSteven Boswell2021-12-151-0/+10
| |/
* | Merge topic 'msvc_cuda_propagate_defines_to_ptx'Brad King2021-12-161-0/+17
|\ \ | |/ |/| | | | | | | | | 574b492b47 CUDA: Visual Studio Generator propagates definitions for PTX files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6802
| * CUDA: Visual Studio Generator propagates definitions for PTX filesunknown2021-12-141-0/+17
| | | | | | | | | | | | | | | | From CUDA 9.0 to CUDA 11.4 the CUDA Visual Studio integration defines omitted user defines from PTX generation. With CUDA 11.5 this has been resolved, so we backport the fix to allow for consistent behavior when using CMake
* | Merge topic 'msbuild-target-inputs-object-depends'Brad King2021-12-101-0/+16
|\ \ | | | | | | | | | | | | | | | | | | abc6377469 VS: Add OBJECT_DEPENDS as AdditionalDependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6775