| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
b6ac10394b VS: Update Visual Studio 17 2022 generator for Preview 4
f200f4d5a7 VS: Fix managed C++ project generation for VS 2022
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6524
|
| |
| |
| |
| |
| |
| |
| | |
VS 2022 expects managed `.vcxproj` files to have a `ManagedAssembly`
element.
Fixes: #22583
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
f21158cdfe VS: Honor VS_SETTINGS source file property on all sources
3bf013632d cmVisualStudio10TargetGenerator: Factor out helper to write VS_SETTINGS
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6492
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
|/ /
| |
| |
| | |
Fixes: #21440
|
| | |
|
| |
| |
| |
| |
| |
| | |
To handle safely the values used by CMake variables and properties,
introduce the class cmProp as a replacement from the simple pointer
to std::string instance.
|
|\ \
| |/
| |
| |
| |
| |
| | |
53aabe9817 VS: Fix assertion failure on INCLUDE_DIRECTORIES in INTERFACE libraries
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6411
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 4391913133 (Add INTERFACE libraries to generated
buildsystem if they have SOURCES, 2020-07-20, v3.19.0-rc1~346^2~1), the
VS generator may process INTERFACE libraries. Avoid code paths in the
generator that process include directories because they should not be
used by INTERFACE libraries since they do not compile anything.
Fixes: #22494
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
f29e1874ad Compiler/MSVC: use the `-external:I` flag for system includes
5a5c85dffd Tests/IncludeDirectories: support MSVC in system include tests
399a3204bb Tests/IncludeDirectories: align sibling predicates
20ab49193b Tests/IncludeDirectories: factor out applying flags to targets
809f7b0c3a Tests/IncludeDirectories: fix copy pasta for otherlib
b094324948 Tests/IncludeDirectories: Include system headers via angle brackets
8f63f3b04e cmVisualStudio10TargetGenerator: remove unused variable
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Julien Waechter <greenjava@gmail.com>
Acked-by: DE-VS wenglor <devs.wenglor@gmail.com>
Merge-request: !4766
|
| | |
|
|/
|
|
|
|
|
| |
On VS 16.10 Preview 2 or above, generate `UseUtf8Encoding`
instead of `StdOutEncoding=UTF-8` in `.vcxproj` files.
Fixes: #22032
|
|
|
|
|
|
|
|
| |
Transform the depfile into MSBuild `AdditionalInputs` content. Add
MSBuild Targets to update `AdditionalInputs` and the `.tlog` files for
future builds without actually modifying the `.vcxproj` file.
Fixes: #20286
|
|
|
|
| |
Use an enum to avoid implicit conversions to bool.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
f6d4fa63f8 cmStateDirectory: Comment relative path top directory selection approach
f0ffb1e2d4 cmGlobalGenerator: Simplify relative path conversion in AddRuleHash
d346805e41 cmLocalCommonGenerator: Select work directory semantically
15fa320071 cmLocalGenerator: Factor out relative path conversion helpers
1879f1bcbc cmLocalCommonGenerator: Factor out relative path conversion helper
1d1d88d3c8 cmMakefileTargetGenerator: Clarify name of relative path conversion helper
ec1ea13066 cmDependsFortran: Simplify relative path conversion helper
ba7b939831 cmStateDirectory: Rename ConvertToRelPathIf{Not => }Contained
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6122
|
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
d8786bfa16 VS: Add support for per-config C# sources
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6055
|
| |
| |
| |
| | |
Fixes: #22108
|
|/
|
|
| |
Fixes: #22104
|
|
|
|
| |
Fixes: #21170
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
30c835428f VS: Accept and translate '-T version=' values with three components
58a50a3a0a VS: Fix '-T version=14.28' under VS 16.9
09f59da7f0 cmGlobalVisualStudioVersionedGenerator: Clarify local variable name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5903
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
CMake accepts the toolset version that is default in the current VS
version by matching the name later VS versions will use for the SxS
props files. It predicts the future name based on the first two
components of the current VS version's default toolset. However, this
heuristic breaks naming the VS 16.8 toolset version 14.28 under VS 16.9
because the latter's default toolset version is 14.28.29910, which did
not increment the second version component (unprecedented in VS).
Fix this by always using the requested version's SxS props file when it
exists, even if it matches the first two components of the current VS
version's default toolset. Also add a special case for the name VS
16.10 will use for VS 16.9's default toolset, so that it can be used
with VS 16.9 too.
Fixes: #21922
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fix logic from commit 9df1f33c9a (VisualStudio: move PCH rules to
projects when possible., 2020-10-15, v3.20.0-rc1~638^2) to explicitly
disable PCH on sources that should not use the target-wide PCH rules.
Fixes: #21827
|
| |
| |
| |
| | |
De-duplicate the link language lookup.
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
54ef732b0c cmVisualStudio10TargetGenerator: Avoid GetFullPath on INTERFACE library
f06f4b517c cmTarget: Do not enforce CMP0111 on imported INTERFACE libraries
43c95df8fb Tests: Match RunCMake.CMP0111 stderr more strictly
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5530
|
| |
| |
| |
| | |
Issue: #21470
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
dd77dec18d VS: Don't compute CUDA options unless necessary
e9109dec36 Merge branch 'ninja-multi-per-config-sources' into release-3.18
7c0de4175b Merge branch 'cmake-E-cat-binary' into release-3.18
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5422
|
| | | |
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
dd77dec18d VS: Don't compute CUDA options unless necessary
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5422
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In the following scenario (with 3.18 policies):
1. A CXX target is created.
2. CUDA language is enabled.
CMake 3.18 introduced CMP0104, which requires CUDA_ARCHITECTURES to be
set. Because the CXX target was created before CUDA was enabled it
wouldn't have it set. The Visual Studio generator would however end up
computing CUDA compile options for the CXX target, which would result in
a fatal error due to the policy violation.
There doesn't seem to be a reason to do this for targets that don't
actually use the CUDA language, so we can skip and generate the CXX
target just fine.
Fixes: #21341
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
User defined permissions and options to copy permissions are
implemented.
Fixes: #20866
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
This dramatically helps reduce the size of the solution files
when PCH is enabled, since 2 entries per source file are removed.
This also corrects a subtle issue where when UNITY + PCH was enabled,
the PCH would not be used if a user explicitly tried to compile
a source file from outside the unity group. This is possible via
the compile source option in the Visual Studio GUI.
|
|\ \
| |/
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
c1f1eaf7a4 VS: Teach CMAKE_MFC_FLAG to support generator expressions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5283
|
| | | |
|
| | |
| | |
| | |
| | | |
Fixes: #21180
|
|/ /
| |
| |
| |
| |
| | |
Add C-language standard to target-wide C++ settings.
Fixes: #21195
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
aea465793e cmLocalVisualStudio7Generator: Consolidate target iteration
1527242745 cmLocalVisualStudio10Generator: Simplify target ordering by dependencies
48bf7192e7 cmLocalVisualStudio7Generator: Generate targets in dependency order
17aba9c9a6 cmLocalUnixMakefileGenerator3: Generate targets in dependency order
69ee18163b cmLocalGhsMultiGenerator: Generate targets in dependency order
c4e296a609 cmGlobalGenerator: Compute a global target ordering respecting dependencies
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5187
|
| | |
| | |
| | |
| | |
| | | |
Combine iteration with `cmLocalVisualStudio10Generator` and dispatch
generation of each target with a virtual `GenerateTarget` method.
|
|/ / |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
ef796cc743 cmGeneratorTarget: Skip computing link implementation for custom targets
45158b2afe cmGeneratorTarget: Simplify logic in ComputeLinkInterfaceLibraries
d6b1f5704e cmGeneratorTarget: Add missing nullptr checks
7695b67500 cmComputeTargetDepends: Add missing nullptr check
95b5df8646 cmGeneratorTarget: Skip computing languages for custom targets
2f0790df50 Factor out generator checks for filtering on non-compiling targets
422d9a0ab2 Factor out generator checks for filtering out interface libraries
bce82df0aa cmGeneratorTarget: Remove unnecessary target type check in dependency tracing
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !5038
|