summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio7Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* VS: Refactor MSVC character set selectionBrad King2025-10-101-3/+7
|
* MSVC: Define _WINDLL consistently for shared librariesAJIOB2025-09-291-0/+2
| | | | | | | | Visual Studio defines this automatically for `.dll` targets. For consistency, define it when compiling for the MSVC ABI with other generators. Add policy CMP0203 for compatibility. Fixes: #27253
* autogen: compute short directories tooBen Boeckel2025-09-021-2/+3
| | | | | | | Not just short directory roots. The test suites did an improper generator check and masked them as the generator masks were put in place after the core development but before the autogen-specific logic tests were created.
* Visual Studio: support shortened object filenamesJohn Parent2025-07-291-1/+6
|
* generators: use GetSupportDirectory() in more placesBen Boeckel2025-05-231-7/+6
|
* VS: Fix incorrect XML in Fortran projectsNikita Nemkin2025-03-081-1/+1
| | | | | | | | | This change has no impact because the incorrect XML is technically valid and the Fortran VS extension ignores the ProjectGUID attribute anyway. Fixes: #11437
* LICENSE: Replace references to Copyright.txt with LICENSE.rstKitware Robot2025-03-031-1/+1
| | | | | | | | | | ``` git grep -lz 'Copyright.txt or https://cmake.org/licensing ' | while IFS= read -r -d $'\0' f ; do sed -i '/Copyright.txt or https:\/\/cmake.org\/licensing / { s/Copyright.txt/LICENSE.rst/ }' "$f" ; done ```
* Revise C++ coding style using clang-format with "east const"Kitware Robot2025-01-231-68/+68
| | | | | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`, now with "east const" enforcement. Use `clang-format` version 18. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit. Issue: #26123
* ci: Extend spellcheck job with 'typos' toolAlex Turbov2025-01-221-0/+2
| | | | | Unlike the `codespell`, `typos` is capable of finding typos in combined identifiers (`CamelCase` or `snake_case`).
* Merge topic 'rename-cmakelists'Brad King2024-12-181-2/+2
|\ | | | | | | | | | | | | | | | | fcbc883fa3 cmake: Allow configuration of default script names Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !10059
| * cmake: Allow configuration of default script namesMartin Duffy2024-12-171-2/+2
| | | | | | | | | | | | | | | | Adds the ``--project-file`` command-line option to modify the default script name loaded by CMake and ``add_subdirectory`` to values other than ``CMakeLists.txt``. Fixes: #21570
* | Refactor: Optimize `ostream::operator<<()` calls for some generatorsAlex Turbov2024-12-111-133/+117
|/
* Link step: Add LINK_WARNING_AS_ERROR target propertyMarc Chevrier2024-11-121-0/+6
| | | | | | | | | Add a way to specify, in a portable way, to raise an error for any warning during the link step. For that purpose, define: * CMAKE_LINK_WARNING_AS_ERROR variable * LINK_WARNING_AS_ERROR target property Fixes: #25343
* COMPILE_WARNING_AS_ERROR: rename methods to prepare link similar functionalityMarc Chevrier2024-11-121-1/+1
| | | | | | Methods renamed: * SetIgnoreWasinigAsError => SetIgnoreCompileWasningAsError * GetIgnoreWasinigAsError => GetIgnoreCompileWasningAsError
* Refactoring cmRulePlaceHolderExpander: propagate cmBuildStep informationMarc Chevrier2024-11-041-0/+1
|
* Add support of "LINKER:" prefix for CMAKE_<TYPE>_LINKER_FLAGS variableMarc Chevrier2024-11-041-35/+21
| | | | | | | | The following variables now support the LINKER: prefix: * CMAKE_<TYPE>_LINKER_FLAGS * CMAKE_<TYPE>_LINKER_FLAGS_<CONFIG> Fixes: #26171
* VS: Honor INTERPROCEDURAL_OPTIMIZATION for Fortran targetsPavel Liavonau2024-10-141-1/+9
| | | | | | Also map `-Qipo` to its `.vfproj` attribute. Fixes: #26361
* Merge topic 'standard-link-directories'Brad King2024-08-291-3/+17
|\ | | | | | | | | | | | | | | 20e9b59d5e Linking: Add CMAKE_LANG_STANDARD_LINK_DIRECTORIES Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9707
| * Linking: Add CMAKE_LANG_STANDARD_LINK_DIRECTORIESVito Gamberini2024-08-281-3/+17
| | | | | | | | Closes: #18222
* | Source: Avoid comparing pointers to nullptrVitaly Stakhovsky2024-08-271-3/+3
|/
* Drop Visual Studio 9 2008 generatorBrad King2024-05-081-12/+2
| | | | This generator has been deprecated since CMake 3.27. Remove it.
* cmLocalVisualStudio7Generator: Make vfproj conditions more explicitBrad King2024-05-081-8/+0
| | | | Avoid relying on the conditions for `vcproj` used by the VS9 generator.
* cmLocalVisualStudio7Generator: Reset per-target members after every targetBrad King2024-05-081-0/+2
|
* cmVisualStudioGeneratorOptions: Rename {IsDebug => UsingDebugInfo}Brad King2024-02-201-2/+2
| | | | The latter name is more precise.
* VS: Add support for using Intel oneAPI Fortran compiler in .vfproj filesBrad King2023-11-221-0/+3
| | | | | | | Add a `fortran={ifort,ifx}` field to `CMAKE_GENERATOR_TOOLSET` to specify which Intel Fortran compiler to use. Fixes: #25427
* Add options to specify linker toolMarc Chevrier2023-10-131-0/+21
| | | | | | | | | | | | | | | | | | Offer the capability, through variable `CMAKE_LINKER_TYPE`, as well as the target property `LINKER_TYPE` to specify which linker must be used. The implementation of this capability is specified by variables specific to the language and linker type: `CMAKE_<LANG>_USING_LINKER_<TYPE>`. Some definitions are provided as part of `CMake`. For example, to select the `LLVM` linker rather than the standard one, the type `LLD` should be specified through the variable `CMAKE_LINKER_TYPE`. And, on `Apple`, `Linux` and some environments on `Windows`, the variable `CMAKE_<LANG>_USING_LINKER_LLD` has value `-fuse-ld=lld`. And for `Windows` environments based on `MSVC`, where the linker is used directly, the tool `lld-link.exe` will be used rather than `link.exe`. Fixes: #19174, #24254, #24990
* 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