summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio7Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmComputeLinkInformation: prepare Item consumers for `OBJECT` librariesBen Boeckel2023-08-011-1/+2
| | | | | | | | After b665966933 (cmComputeLinkInformation: track `OBJECT` library dependencies, 2023-07-22), introduced in !8645 as a fix for #25112, `OBJECT` libraries were tracked in a separate member to reduce the risk of further regressions. This commit prepares consumers to handle `OBJECT` libraries once they start appearing as link items.
* strings: use character literals where possibleBen Boeckel2023-07-281-8/+8
|
* cmStrCat: use in Windows-specific sourcesBen Boeckel2023-07-281-18/+20
|
* Drop Visual Studio 11 2012 generatorBrad King2023-06-131-1/+1
| | | | This generator has been deprecated since CMake 3.25. Remove it.
* Preserve --compile-no-warning-as-error in automatic CMake re-runsBrad King2023-05-301-0/+4
| | | | | | | | When the build system re-runs `cmake` to regenerate itself, preserve the `--compile-no-warning-as-error` option if it was used when `cmake` was last explicitly invoked. Normally such settings are preserved in the cache, but the purpose of this option is to be beyond the reach of project code.
* CMake code rely on cmList class for CMake lists management (part. 1)Marc Chevrier2023-04-241-6/+7
|
* VS: Do not regenerate build system concurrently with CMP0147Brad King2023-03-151-0/+1
| | | | | | | | | | | | | | | The VS generators add a custom command to `CMakeLists.txt` to re-run CMake when input files have changed. Mark this custom command as if it were specified with `USES_TERMINAL`. We already do this for the equivalent `rebuild_cache` target in Makefile and Ninja generators. This matters since commit d6353e74b4 (VS: Add policy to build custom commands concurrently, 2023-03-10) because with policy CMP0147 set to NEW, we now add `BuildInParallel` in `.vcxproj` file entries for custom commands that do not have `USES_TERMINAL` set, but we do not want to re-run CMake concurrently with other custom commands. Issue: #18405
* cmCustomCommand: Refactor custom command-specific policy valuesKyle Edwards2023-02-061-2/+0
| | | | | | | | | | | | | | | | | Many custom commands are created by CMake itself rather than by the user. These custom commands should always have their policies set to NEW, and user-created custom commands should have their policy values set only from the state snapshot. In addition, we want to genericize the mechanism of recording a policy at the time of custom command creation. Add a CM_FOR_EACH_CUSTOM_COMMAND_POLICY macro to genericize custom command policies. Use this to define all custom command policies. Make all such policies NEW instead of WARN by default. Remove individual policy modifier methods and add a single method that records relevant values from a cmStateSnapshot. Remove the no longer needed explicit policy settings from synthesized custom commands.
* clang-tidy: fix `readability-redundant-smartptr-get` lintsBen Boeckel2022-11-291-1/+1
|
* clang-tidy: fix `readability-qualified-auto` lintsBen Boeckel2022-11-291-3/+3
|
* clang-tidy: fix `modernize-loop-convert` lintsBen Boeckel2022-11-291-8/+6
|
* clang-tidy: fix `modernize-raw-string-literal` lintsBen Boeckel2022-11-291-2/+2
|
* clang-tidy: fix `performance-unnecessary-value-param` lintsBen Boeckel2022-11-291-1/+1
|
* clang-tidy: fix `readability-else-after-return` lintsBen Boeckel2022-11-291-3/+2
|
* clang-tidy: fix `readability-redundant-string-cstr` lintsBen Boeckel2022-11-291-1/+1
|
* clang-tidy: fix `modernize-use-auto` lintsBen Boeckel2022-11-291-8/+4
|
* clang-tidy: fix `modernize-use-nullptr` lintsBen Boeckel2022-11-291-7/+7
|
* clang-tidy: fix `modernize-pass-by-value` lintsBen Boeckel2022-11-291-2/+2
|
* clang-tidy: fix `modernize-use-override` lintsBen Boeckel2022-11-291-3/+3
|
* clang-tidy: fix `modernize-use-default-member-init` lintsBen Boeckel2022-11-291-2/+1
|
* cmCustomCommandGenerator: refactor GetComment to return std::stringPeter Würth2022-11-191-3/+3
| | | | Refactoring was done because EvaluateComment leaked memory.
* ASM_MARMASM: Add support for Microsoft ARM assembler languageIlia K2022-11-091-0/+33
| | | | | | https://learn.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-reference Fixes: #23999
* Drop Visual Studio 10 2010 generatorBrad King2022-09-261-2/+2
| | | | This generator has been deprecated since CMake 3.22. Remove it.
* CUDA: Add Device LTO support for nvccRobert Maynard2022-07-221-1/+2
| | | | Fixes #22200
* Genex: Add $<LINK_LIBRARY:...>Marc Chevrier2022-02-071-1/+3
| | | | | | | | 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
* Make cmGlobalVisualStudioGenerator::VSVersion enum classSumit Bhardwaj2022-01-251-5/+8
|
* Consolidate usage of VsProjectTypeSumit Bhardwaj2021-12-231-2/+4
| | | | | | 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.
* VS: Add custom VCEnd labels only in C# projectsSumit Bhardwaj2021-12-161-3/+2
| | | | | | | | | 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-1/+12
|\ | | | | | | | | | | | | 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-1/+12
| |
* | cmCustomCommand: Track main dependency explicitlyNAKAMURA Takumi2021-12-141-4/+4
|/ | | | | | | Store the main dependency as the first entry in the dependency list plus a boolean member indicating its existence. Note that this slightly changes existing behavior: the main dependency was previously the last entry of the dependency list.
* Merge topic 'vs-csproj-scripts'Brad King2021-12-031-2/+2
|\ | | | | | | | | | | | | 13a7ae2194 VS: Revert "Add missing label in C# project-build events" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6781
| * VS: Revert "Add missing label in C# project-build events"Brad King2021-12-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit b284a21fee (VS: Add missing label in C# project-build events, 2021-09-03, v3.22.0-rc1~156^2). The change broke cases using multiple successful custom commands. Revert it pending further investigation into the interaction of the generated script code with `Microsoft.Common.CurrentVersion.targets`, and whether this is needed for all managed projects or just C# projects. Also add a test covering the case that was broken. Fixes: #22964 Issue: #21440
* | Source: Fix possible IWYU warnings in Windows generatorsNAKAMURA Takumi2021-11-191-2/+19
| |
* | cmLocalGenerator: Simplify Add{Custom,Utility}CommandNAKAMURA Takumi2021-11-181-9/+15
| |
* | Source: Replace C headers with C++ onesRose2021-11-021-1/+2
|/ | | | In applicable areas only, of course.
* VS: Map /Y- flag to not use precompiled headers with VS 2008Luigi Fiorentini2021-09-221-0/+1
|
* Rename cmProp in cmValueMarc Chevrier2021-09-211-21/+21
|
* Merge topic 'enh-AddCacheEntry-accepts-new-types'Marc Chevrier2021-09-101-1/+1
|\ | | | | | | | | | | | | | | f84193292c Use new AddCacheEntry signatures 3c2e58eeb8 AddCacheEntry accept cmProp or std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6495
| * Use new AddCacheEntry signaturesMarc Chevrier2021-09-101-1/+1
| |
* | VS: Add missing label in C# project-build eventsSteven Boswell2021-09-091-2/+2
|/ | | | Fixes: #21440
* cmComputeLinkInformation: Improve type safety of item IsPath memberBrad King2021-05-291-1/+1
| | | | Use an enum to avoid implicit conversions to bool.
* cmLocalGenerator: Factor out relative path conversion helpersBrad King2021-05-131-9/+4
| | | | | | Most calls to `MaybeConvertToRelativePath` use one of our common work directories (e.g. top of the build tree) as the local path. Add helpers for each of the common cases to simplify and clarify call sites.
* Source: Remove unnecessary comparisons to nullptrVitaly Stakhovsky2021-05-101-2/+2
|
* cmCustomCommand: Record value of CMP0116 at time of creationKyle Edwards2021-02-231-4/+5
|
* PCH: Remove restrictions for REUSE_FROM signature for MSVCCristian Adam2021-02-021-1/+2
| | | | Fixes: #20201
* Revert "PCH: Remove restrictions for REUSE_FROM signature for MSVC"Brad King2021-02-021-2/+1
| | | | | This reverts commit 9f060971411aca979807f70307d8b9fe1b43ff24. It was merged accidentally.
* PCH: Remove restrictions for REUSE_FROM signature for MSVCCristian Adam2021-02-021-1/+2
| | | | Fixes: #20201
* VS: Remove flag table entries for Fortran /Z* flagsVolker Jacht2020-10-221-3/+2
| | | | | | | | | | | | | | These were included when the Fortran flag table was first created by commit 10c91ded4f (ENH: add support for Intel Fortran Visual studio IDE, 2008-04-30, v2.8.0~2227), but they map to fields not actually supported by the IDE. Remove their table entries. Instead use just `/debug:minimal` and `/debug:full` to control debug information level in VS Intel Fortran. Let flags like `/Z7` pass through as raw additional options because they have no corresponding IDE property and can be used to complement the supported options. Fixes: #21340
* Merge topic 'genexpr-for-mfc-flag'Brad King2020-10-011-1/+1
|\ | | | | | | | | | | | | c1f1eaf7a4 VS: Teach CMAKE_MFC_FLAG to support generator expressions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5283