summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudio10TargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* VS: Revert "Build custom commands concurrently when possible"Brad King2023-03-071-7/+4
| | | | | | | | | | | | | | | Since commit 33c15ae2b9 (VS: Build custom commands concurrently when possible, 2023-01-19, v3.26.0-rc1~56^2) we add `BuildInParallel` to custom commands in `.vcxproj` files. However, this can break existing projects that implicitly rely on serial execution of custom commands. For example, custom commands in our FindCUDA module run MSVC (via nvcc) with a common `vc*.pdb` file, and therefore cannot run in parallel. Revert use of `BuildInParallel` while leaving most of the infrastructure for it in place. It can be restored later with an option or policy. Fixes: #24576 Issue: #18405
* VS: Honor compile options for ASM_NASMBrad King2023-01-261-0/+2
| | | | | | | | The Ninja and Makefile generators honor `target_compile_options` and friends for ASM_NASM `.asm` sources. Teach the VS generator to honor them too for consistency. Issue: #24289
* VS: Honor compile options for ASM_MARMASMBrad King2023-01-261-0/+2
| | | | | | | | The Ninja and Makefile generators honor `target_compile_options` and friends for ASM_MARMMASM `.asm` sources. Teach the VS generator to honor them too for consistency. Issue: #24289
* VS: Do not concurrently build custom commands with generated MAIN_DEPENDENCYBrad King2023-01-251-5/+10
| | | | | | | | | | | | | | | | | | | | | Since commit 33c15ae2b9 (VS: Build custom commands concurrently when possible, 2023-01-19) several tests have failed intermittently with the VS generator. It seems that if the `BuildInParallel` setting is attached to a generated input: <CustomBuild Include="generated_input.txt"> <BuildInParallel Condition="...">true</BuildInParallel> <Command Condition="...">copy geneated_input.txt output.txt</Command> ... </CustomBuild> then MSBuild does not wait for the input to be generated before running the command. This occurs when using `add_custom_command`'s `MAIN_DEPENDENCY`, so avoid using `BuildInParallel` in that case. Issue: #18405
* VS: Build custom commands concurrently when possibleIvan Zinkevich2023-01-231-2/+6
| | | | | | Enable the `BuildInParallel` setting in VS project files when supported. Fixes: #18405
* cmValue: Use operator* explicitly to convert to std::string; avoid extra callVitaly Stakhovsky2023-01-161-1/+1
|
* VS: Honor compile options for MASMBrad King2023-01-121-0/+2
| | | | | | | | The Ninja and Makefile generators honor `target_compile_options` and friends for MASM `.asm` sources. Teach the VS generator to honor them too for consistency. Fixes: #24289
* Merge branch 'backport-masm-debug-format' into masm-debug-formatBrad King2022-12-151-0/+4
|\
| * VS: Do not enable ASM_MASM debug information unless requestedBrad King2022-12-151-0/+4
| | | | | | | | | | MSBuild enables debug information with MASM by default, but for us that is not consistent with behavior on other generators.
* | VS: Add Xaml and Resx files to .Net SDK style projectsQuentin Berthet2022-12-061-0/+2
| | | | | | | | | | | | Improve parity with classic MSBuild projects. Fixes: #23415
* | cmVisualStudio10TargetGenerator: write C++ module elementsBen Boeckel2022-12-011-4/+36
| |
* | cmVisualStudio10TargetGenerator: ask the generator for dyndep supportBen Boeckel2022-12-011-1/+2
| |
* | clang-tidy: fix `performance-for-range-copy` lintsBen Boeckel2022-11-291-1/+1
| |
* | clang-tidy: fix `readability-redundant-string-init` lintsBen Boeckel2022-11-291-1/+1
| |
* | clang-tidy: fix `readability-use-anyofallof` lintsBen Boeckel2022-11-291-51/+29
| |
* | clang-tidy: fix `modernize-loop-convert` lintsBen Boeckel2022-11-291-9/+6
| |
* | clang-tidy: fix `modernize-raw-string-literal` lintsBen Boeckel2022-11-291-6/+6
| |
* | clang-tidy: fix `performance-faster-string-find` lintsBen Boeckel2022-11-291-3/+3
| |
* | clang-tidy: fix `performance-unnecessary-value-param` lintsBen Boeckel2022-11-291-1/+1
| |
* | clang-tidy: fix `readability-braces-around-statements` lintsBen Boeckel2022-11-291-3/+6
| |
* | clang-tidy: fix `readability-container-size-empty` lintsBen Boeckel2022-11-291-1/+1
| |
* | clang-tidy: fix `performance-unnecessary-copy-initialization` lintsBen Boeckel2022-11-291-1/+1
| |
* | clang-tidy: fix `modernize-use-nullptr` lintsBen Boeckel2022-11-291-1/+1
| |
* | clang-tidy: fix `modernize-pass-by-value` lintsBen Boeckel2022-11-291-2/+2
| |
* | clang-tidy: fix `modernize-use-equals-default` lintsBen Boeckel2022-11-291-3/+1
| |
* | cmVisualStudio10TargetGenerator: remove unused variableBen Boeckel2022-11-291-1/+0
| |
* | VS: Recognize -std: flag in CMAKE_C_FLAGS in target with C++ sourcesBrad King2022-11-181-0/+2
| | | | | | | | | | | | Extend commit b325484928 (VS: Fix C language standard in target with C++ sources, 2020-09-28, v3.19.0-rc1~74^2) to account for users placing a `-std:` flag in `CMAKE_C_FLAGS`.
* | cmGeneratorExpression: Require cmake instanceKyle Edwards2022-11-111-5/+5
| |
* | ASM_MARMASM: Add support for Microsoft ARM assembler languageIlia K2022-11-091-0/+73
| | | | | | | | | | | | https://learn.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-reference Fixes: #23999
* | VS: Add COMMON_LANGUAGE_RUNTIME support for "netcore"ζeh Matt2022-10-281-2/+5
|/ | | | | | Generate `CLRSupport` for Visual Studio projects. Fixes: #22054
* 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