| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
d145d72e70 VS: add target property VS_PROJECT_IMPORT_<propspath>
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3143
|
| |
| |
| |
| | |
Fixes: #18998
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
0bf4418017 VS: Encode newlines in XML attributes
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3065
|
| |
| |
| |
| |
| |
| |
| |
| | |
Encode `\n` as ` ` to avoid generating a literal newline inside an
XML attribute. This is more readable and also fixes custom commands in
`.csproj` files with VS 2019 RC.
Fixes: #19001
|
| | |
|
| | |
|
|/
|
|
|
|
| |
Rather than taking a number of out parameters for the various names,
create a structure that is reused for both `GetLibraryNames` and
`GetExecutableNames`. Replace uses according to the new interface.
|
|
|
|
|
|
|
| |
`CUDA_RESOLVE_DEVICE_SYMBOLS` can be used with shared, module, and
executable target types. This relaxation is to allow for better
interoperability with linkers that automatically do CUDA device symbol
resolution and have no way to disable it.
|
|\
| |
| |
| |
| |
| |
| | |
f5d72be57a VS: Fix deployment for WinCE projects
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2907
|
| |
| |
| |
| | |
Fixes: #18868
|
|/
|
|
|
|
|
|
|
|
|
| |
WinRT components need to be referenced in a similar way that managed
code libraries are referenced. Validate that the library reference is a
WinRT component and reference it through the project.
Add test coverage for `VS_WINRT_COMPONENT`. While at it, fix the IOT
reference failing on Win10 SDK 17763 which doesn't include it anymore.
Fixes: #18846
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
22b43b0009 VS: Add support for VS_DEBUGGER_* properties on custom targets
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2794
|
| |
| |
| |
| |
| |
| | |
Visual studio itself supports the corresponding `LocalDebugger*`
properties on utility targets; support generating them from CMake as
well.
|
|\ \
| |/
|/|
| |
| |
| |
| | |
a541d113e6 VS: Honor target_compile_definitions for C# projects
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2809
|
| |
| |
| |
| | |
Fixes: #18698
|
|/
|
|
| |
Reduce the number of files relying on `cmake.h`.
|
|\
| |
| |
| |
| |
| |
| | |
77303314dc Restore support for a custom source group for CMakeLists.txt
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2803
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit v3.11.0-rc1~467^2 (VS,Xcode: Add CMakeLists.txt sources
without mutating targets, 2017-10-18) we do not add `CMakeLists.txt` to
target sources but instead generate references to them directly. This
accidentally dropped generation of the `.vcxproj.filters` entry for a
source group in which `CMakeLists.txt` is the only member.
Fixes: #18795
|
|/
|
|
| |
Fixes: #18672
|
|
|
|
| |
Previously only VS 2008 was supported.
|
|\
| |
| |
| |
| |
| |
| | |
b5b63da088 VS: Fix Deploy content in .csproj files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2713
|
| | |
|
|/
|
|
| |
Fixes: #18696
|
|\
| |
| |
| |
| |
| |
| | |
7b74213461 CUDA: Fix crash on linking to a CUDA target without CUDA enabled
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2704
|
| |
| |
| |
| |
| |
| |
| |
| | |
Do not try to device link or add CUDA runtime libraries if the language
is not enabled.
Fixes: #18673
Issue: #18614
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
9040df31e2 Merge branch 'backport-fix-custom-target-with-csharp'
1acd1c2b50 CSharp: Fix regression in VS project type selection for custom target
a56edad6d6 CSharp: Fix regression in VS project type selection for custom target
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2549
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A target created by `add_custom_target` should always be a `.vcxproj`
file even if it has `.cs` sources involved in custom commands and such.
The latter case was broken by refactoring in commit v3.12.0-rc1~160^2~7
(remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget,
2018-03-19). The reason is that the `HasLanguage` method added by
commit v3.12.0-rc1~239^2~6 (cmGeneratorTarget: add HasLanguage() as
wrapper for GetLanguages(), 2018-03-19) does not check the target type
and so is not a suitable check for deciding the project file extension.
The `HasLanguage` method was an attempt at an abstraction that turns
out not to work very well. Replace it with a dedicated `IsCSharpOnly`
method that considers the target type, sources, and non-transitive
`LINKER_LANGUAGE`.
Fixes: #18515
|
| |\
| | |
| | |
| | | |
Merge-request: !2515
|
| |\ \
| | | |
| | | |
| | | | |
Merge-request: !2473
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
d004d8c59a VS: Fix crash on CSharp sources in a custom target
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2515
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The target generator does not compute ClOptions for custom targets,
so we should not use them either.
Fixes: #18377, #18485
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
b8bb6ba653 cmGeneratorTarget::GetExportMacro: return const std::string*
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2485
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | | |
Disallow incompletely initialized Elem objects
|
|\ \ \ \
| |_|/ /
|/| | /
| | |/
| |/|
| | |
| | |
| | |
| | | |
faf3d7d224 VS: Add workaround for CUDA compiler PDB location with space
592064e026 VS: Drop workaround for CUDA compiler PDB location on CUDA 9.2+
fb378fc4d7 Tests: Fix Cuda test project names
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2473
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
CUDA Toolkit Visual Studio Integration for version 9.2 and above does
honor the `ClCompile.ProgramDataBaseFileName` field when telling `nvcc`
how to invoke `cl`. Unfortunately it does not quote paths with spaces
correctly:
-Xcompiler "... /Fd"C:\path\with space\foo.pdb" ..."
Work around this by converting the PDB location to a relative path.
Likely we could always do this, but for now make a minimal change
just for CUDA support.
Fixes: #18440
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The workaround added by commit v3.12.0-rc1~227^2 (VS: Add workaround for
CUDA compiler PDB location, 2018-04-13) is not necessary on CUDA 9.2+
because the CUDA Toolkit Visual Studio Integration has fixed the
original bug and forwards the `ProgramDataBaseFileName` to the host
compiler itself. Make the workaround conditional on the CUDA version.
Issue: #18440
|
|/
|
|
|
|
|
| |
Add special logic to map this flag to a top-level build setting
instead of being in ClCompile.
Fixes: #18426
|
|\
| |
| |
| |
| |
| |
| |
| | |
375b420fdf CSharp: Fix regression in VS project type selection
8b21aa0af0 VS: Fix CSharp flag selection when linking to a static C++ library
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2427
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a CSharp target links to a static C++ library, CMake will compute
the link language as C++ instead of CSharp. That may be incorrect and
needs further investigation, but it does not affect how VS drives C#
linking. However, it does break our flag language selection logic
and causes C++ flags to be used for CSharp. In particular, this
drops the `-platform:x86` flag on 32-bit builds.
Fix this by always selecting the CSharp flags when generating a
`.csproj` project type.
Issue: #18239
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
bef80e6623 VS: Do not specify incremental linking if LTCG is enabled
567fabe88e IPO: INTERPROCEDURAL_OPTIMIZATION (LTCG) for Visual Studio
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2363
|
| | |
| | |
| | |
| | |
| | |
| | | |
Otherwise the linker may warn:
LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add IPO support for Visual Studio (which is referred to by VS as
"Link Time Code Generation" and "Whole Program Optimization"), for
VS version >= 10. This allows CMake/VS users to enable IPO by setting
property `INTERPROCEDURAL_OPTIMIZATION`.
Fixes: #16748
|
| | | |
|