| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace our hard-coded default for `/Zi` with a first-class abstraction
to select the debug information format an enumeration of logical
names. We've long hesitated to do this because the idea of "debug
information format" touches on related concepts on several platforms.
Avoid that scope creep by simply defining an abstraction that applies
only when targeting the MSVC ABI on Windows.
Removing the old default flag requires a policy because existing
projects may rely on string processing to edit them and choose a
runtime library under the old behavior. Add policy CMP0141 to
provide compatibility.
Fixes: #10189
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
970052fedd FILE_SET: Fix source group detection
bcc3965813 Tests: Fix VS10Project SourceGroupTreeCMakeLists check
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7609
|
| |
| |
| |
| |
| |
| |
| | |
Call MatchChildrenFiles() instead of MatchesFiles() in order to
account for files being in subgroups of source groups.
Fixes: #23880
|
| |
| |
| |
| |
| | |
Fix an `IN LISTS` loop, fix a variable check, and escape backslashes
in the regex used to search for source group names.
|
|/
|
|
|
|
| |
This prevents MSBuild from complaining with warning MSB8028.
Fixes #23043
|
|
|
|
|
|
|
|
|
| |
Extend the change from commit b764c7c273 (VS: Add property to turn off
Visual Studio compile batching, 2022-02-07, v3.24.0-rc1~710^2) by
adding a variable to initialize the property on every target.
Issue: #23179
Fixes: #23639
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The MSVC `/FI` flag accepts an attached value or a following argument.
Previously our flag tables only had entries for the former. Add
the latter.
Fixes: #23382
|
|
|
|
| |
Resolves: #23179
|
|\
| |
| |
| |
| |
| |
| | |
9e24437c91 VS: Remove the '/guard:cf' flag from v143 link flag table
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6858
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Apply the change from commit db35e3cfd6 (VS: Fix support for '/guard:cf'
linker flag for v142, 2019-01-24, v3.14.0-rc1~74^2~2) to the v143 flag
table.
The entry for `LinkControlFlowGuard` in `v143_Link.json` does not work
when used in a `.vcxproj` file. Drop our link flag table entries for
this toolset so that the flag will be passed via `AdditionalOptions`.
Also add a test case.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sources that are part of a unity build are normally not compiled
individually. However, the VS IDE allows a single source to be
compiled. This can also be achieved on the command line:
msbuild my.vcxproj ... -t:ClCompile -p:SelectedFiles=<src>
where `<src>` is the path in the vcxproj `ClCompile` entry.
In a target with precompiled headers, the source needs PCH settings to
support individual compilation even if the normal unity build does not.
|
| |
| |
| |
| |
| |
| | |
Extend the feature added by commit 2ce42f281f (VS: Add VS_SETTINGS
source file property, 2020-03-18, v3.18.0-rc1~449^2~3) to support
all source file types.
|
|/
|
|
|
| |
`cmMakefile::Targets` is meant for efficient lookup but does not
have a stable order. Use `cmMakefile::OrderedTargets` instead.
|
|
|
|
| |
Fixes: #22104
|
|
|
|
|
|
|
|
|
| |
Move rejection of `#`, `<`, and `>` characters in outputs and byproducts
to a generate-time check. This removes the front-end check that
disallowed generator expressions. The generators have already been
updated to handle them.
Fixes: #12877
|
|\
| |
| |
| |
| |
| |
| | |
8d87cfdbf3 VS: Fix regression in C# source links
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5314
|
| |
| |
| |
| |
| |
| | |
Fix logic used since commit ac6b18cd90 (CSharp: Add support for source
groups with out-of-source builds, 2020-02-18, v3.18.0-rc1~645^2).
Add a check of the physical file location for C# source groups.
|
| |
| |
| |
| | |
Fixes: #21180
|
| |
| |
| |
| |
| |
| | |
Add C-language standard to target-wide C++ settings.
Fixes: #21195
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
INTERFACE libraries were created with the intention of collecting usage
requirements for use by other targets via `target_link_libraries`.
Therefore they were not allowed to have SOURCES and were not included in
the generated buildsystem. In practice, this has become limiting:
* Header-only libraries do have sources, they just do not compile.
Developers should be able to edit those sources (the header files)
in their IDE.
* Header-only libraries may need to generate some of their header
files via custom commands.
Some projects work around these limitations by pairing each interface
library with an `add_custom_target` that makes the header files and
custom commands appear in the generated buildsystem and in IDEs.
Lift such limitations by allowing INTERFACE libraries to have SOURCES.
For those with sources, add a corresponding build target to the
generated buildsystem.
Fixes: #19145
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See https://github.com/codespell-project/codespell#readme
The following command was used:
```
codespell -q6 --skip="\
.git,\
*.json,\
./Copyright.txt,\
./Help/command/foreach.rst,\
./Help/prop_test/REQUIRED_FILES.rst,\
./Help/variable/CTEST_COVERAGE_COMMAND.rst,\
./Modules/CMakeCheckCompilerFlagCommonPatterns.cmake,\
./Modules/CMakeRCInformation.cmake,\
./Modules/Internal/CPack/NSIS.template.in,\
./Modules/FindMatlab.cmake,\
./Modules/MatlabTestsRedirect.cmake,\
./Modules/Platform/Windows-Clang.cmake,\
./Modules/Platform/Windows-Intel-Fortran.cmake,\
./Modules/Platform/Windows-MSVC.cmake,\
./Source/CMakeVersion.cmake,\
./Source/cmConvertMSBuildXMLToJSON.py,\
./Source/cmCreateTestSourceList.cxx,\
./Source/cmGlobalVisualStudio10Generator.cxx,\
./Source/cmExportBuildFileGenerator.cxx,\
./Source/cmExportInstallAndroidMKGenerator.cxx,\
./Source/cmExportInstallFileGenerator.cxx,\
./Source/cmExportSet.cxx,\
./Source/cmExportTryCompileFileGenerator.cxx,\
./Source/cmFindPackageCommand.cxx,\
./Source/cmInstallCommand.cxx,\
./Source/cmGeneratorExpressionLexer.cxx,\
./Source/cmLocalVisualStudio7Generator.cxx,\
./Source/cmOrderDirectories.cxx,\
./Source/cmTarget.cxx,\
./Source/kwsys/*,\
./Source/QtDialog/CMakeSetupDialog.ui,\
./Source/CPack/WiX/cmWIXRichTextFormatWriter.cxx,\
./Source/CTest/cmParseCoberturaCoverage.h,\
./Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in,\
./Tests/RunCMake/CPack/tests/DMG_SLA/English.license.rtf,\
./Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt,\
./Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt,\
./Tests/RunCMake/GoogleTest/xml_output.cpp,\
./Tests/RunCMake/Make/TargetMessages*,\
./Utilities/*,\
" \
-L "\
dependees,\
endwhile,\
fo,\
filetest,\
helpfull,\
nd,\
objext,\
stoll,\
supercedes,\
superceded,\
vas,\
varn,\
"
```
|
|
|
|
|
|
|
|
| |
This makes them compatible with `VS_PACKAGE_REFERENCES` and, in
particular, fixes nuget package references in combination with install
targets.
Fixes: #20764
|
|
|
|
|
| |
Instead of having CMake determine which files should go into each
unity file, the user can now use explicitly state the mapping.
|
|
|
|
|
|
|
|
|
| |
Add a `VS_PLATFORM_TOOLSET` target property to set `PlatformToolset` in
the `.vcxproj` file for specific targets. Document that this is safe
only when the named toolset uses the same underlying compiler as the
primary toolset.
Fixes: #17429
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
ac6b18cd90 CSharp: Add support for source groups with out-of-source builds
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4374
|
| |
| |
| |
| |
| |
| |
| | |
This also fixes support for multiple sources of the same name in
different directories. Add a test for both problems.
Issue: #19505
|
|/
|
|
|
|
| |
Add a `VS_SOLUTION_DEPLOY` property to control solution deploy mark.
Fixes: #20346
|
|\
| |
| |
| |
| |
| |
| | |
effd4d0569 CSharp: Do not pass definitions with values
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4267
|
| |
| |
| |
| |
| |
| |
| | |
The Microsoft C# tooling does not accept definitions with values.
Filter them out.
Fixes: #19817
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
ae1e1909a1 VS: Add support for .NET Standard and .NET Core
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4240
|
| |/
| |
| |
| | |
Fixes: #20105
|
|/
|
|
| |
Fixes: #19789
|
|\
| |
| |
| |
| |
| |
| | |
274a6f3699 Unity Build: include language in generated source file name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4223
|
| |
| |
| |
| | |
Fixes: #20206
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
557ea4614e VS: Change CMAKE_VS_WINRT_BY_DEFAULT to not implicitly enable WinRT
7bcef355bf Vs: Add test for VS_WINRT_BY_DEFAULT
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4127
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Original behaviour would unconditionally enable WinRT for all projects
so source file flag generation code can acknowledge WinRT being present
and disable it for C language source files. An unintentional result of
that approach is that WinRT is enabled for ALL projects, including C++
projects/source files with no way to disable it
Instead use `CMAKE_VS_WINRT_BY_DEFAULT` as a hint that the platform is
WinRT-by-default and set global `CompileAsWinRT` flag to `false` unless
it was explicitly requested by either `WINRT_COMPONENT` option or `/ZW`
compilation option - similar to what Windows Phone/Windows Store
platform logic does
In case WinRT compilation is enabled for a project by either of
aforementioned methods, C language source file override logic will still
kick in and disable CompileAsWinRT for C source files
Fixes: #20063
|
| | | |
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
c5c218fa0d PCH: Append pch header file to list of forced include files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4135
|
| |
| |
| |
| | |
Fixes: #20088
|
|\ \
| |/
| |
| |
| |
| |
| | |
3c0ca5a9d9 source_group: ensure that passed file is not a directory
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3979
|
| |
| |
| |
| | |
Fixes: #19769
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
e7d57bc3c3 VS: Propagate CMAKE_VS_GLOBALS into custom targets
45b4b4b930 VS: Propagate CMAKE_VS_GLOBALS into compiler id projects
548e9051a4 VS: Add support to override VCTargetsPath through toolset
99e83d4235 cmake: Teach --build mode to load CMAKE_GENERATOR_TOOLSET
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3817
|
| | |
| | |
| | |
| | | |
Issue: #19708
|
| |/
| |
| |
| | |
Fixes: #19708
|
|/
|
|
|
|
|
| |
Add a `VS_DOTNET_DOCUMENTATION_FILE` target property to tell VS
generators to add a `DocumentationFile` setting in `.csproj` files.
Fixes: #19784
|
|
|
|
|
| |
Reusable precompile headers require specific COMPILE_PDB_NAME property
values. Report error if the user tries to set a different value.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7786a05c70 Unity build: Add XCode support
1353802af3 Unity build: Add unit tests
8dfeb5d278 Unity build: Add support for Visual Studio generator
7114c141e2 Unity build: Add support for Ninja and Makefile generators
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com>
Acked-by: Evgeniy Dushistov <dushistov@mail.ru>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Merge-request: !3611
|