| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Get rid of suffix arguments
|
| |
|
|
|
|
| |
Added printing empty string to get the right indentation.
|
|\
| |
| |
| |
| |
| |
| | |
5a7113d8fb VS: Add target property VS_DEBUGGER_COMMAND
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1842
|
| |
| |
| |
| | |
Fixes: #17819
|
|/
|
|
|
| |
Introduce an `Elem` helper class to track XML element state. This
simplifies code in a few places, particularly OutputSourceSpecificFlags.
|
|
|
|
|
| |
Make the XML generating code smaller, more structured, and less
error-prone. This is a step towards future XML refactoring.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
076a356c VS: Support C# project references
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1752
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When specifying a pure C# target in the `target_link_libraries()` call to
another C++ target, a `<ProjectReference>` was setup for it (we wanted this)
but also a corresponding `.lib` was added under `<AdditionalDependencies>`
(we didn't want this).
This change introduces a check that prevents `.lib` linker options from
being used when the corresponding target for that library is a C# target.
Fixes: #17678
|
|/ |
|
| |
|
|
|
|
| |
It is no longer used outside this class, so its scope can be limited to file.
|
|\
| |
| |
| |
| |
| |
| | |
fa583869 CUDA: Use MSVC default pattern for naming object files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1722
|
| |
| |
| |
| |
| | |
The default that CUDA uses causes failures when you try to embed
CUDA obj's into another target.
|
|\ \
| |/
|/|
| |
| |
| |
| | |
1fe66c46 VS: Restore the order of the AdditionalIncludeDirectories tag
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1719
|
| |
| |
| |
| |
| |
| |
| | |
Move the `AdditionalIncludeDirectories` tag back to the VS-preferred
location in `.vcxproj` files.
Fixes: #17691
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, code wrote out empty tags for `<DebugInformationFormat>`
like so:
<DebugInformationFormat></DebugInformationFormat>
This gets corrected by Visual Studio 2017 when saving the solution. The
correction appears as:
<DebugInformationFormat>
</DebugInformationFormat>
In the spirit of keeping the XML structure as close to what Visual
Studio expects as possible, a newline is inserted after the opening tag
in the empty case.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
04483111 sourceFile properties: add property INCLUDE_DIRECTORIES
3073bd1f VisualStudio generators: refactoring
78b1c2e0 sourceFile properties: add property COMPILE_OPTIONS
3f935e69 LocalGenerator: refactoring
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1596
|
| | |
|
| |
| |
| |
| |
| |
| | |
Uniformize include directories handling.
Fix memory leaks in class cmVisualStudio10TargetGenerator:
OptionsMap uses now std::unique_ptr.
|
| |
| |
| |
| |
| |
| |
| | |
Add the support of per-source property COMPILE_OPTIONS,
including generator expressions support.
Related: #17507
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
25243014 cmMakefile: use std::string in more methods; cleanup c_str()s
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1685
|
| |/
| |
| |
| |
| | |
Follow up commit 969c1f94ae (cmSourceGroup: code improvements; use
std::string and C++11 loops, 2017-01-10).
|
|/
|
|
| |
Many source tags become identical to those created by MSVC
|
|\
| |
| |
| |
| |
| |
| | |
46abfedb CUDA: MSVC will now state files are cuda files when needed
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1658
|
| |
| |
| |
| |
| |
| |
| |
| | |
The MSVC CUDA build customizations before CUDA 9 would not explicitly
add the -x cu option when building. This caused .cpp and .c files
invoked with CudaCompile to be compiled as host code and not
cuda. Now when we detect CUDA < 9 we will explicitly add this
option to correct this bug.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
506fda1c Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and Xcode
c2f79c98 Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode
0795d25b cmVisualStudio10TargetGenerator: Factor out include dir computation
1ab4d186 cmLocalVisualStudio7Generator: Clarify variable name of compiled language
07e1a743 cmLocalVisualStudio7Generator: Clarify condition for target that compiles
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1657
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The set of compile flags used for a target's C and C++ sources is based
on the linker language. By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags. Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`INCLUDE_DIRECTORIES` to match the selected language.
This is not exactly the same as for other generators, but is the best VS
and Xcode can do. It is also sufficient for many use cases since the
set of include directories for C and C++ is frequently similar but may
be distinct from those for other languages like CUDA.
Fixes: #17435
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The set of compile flags used for a target's C and C++ sources is based
on the linker language. By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags. Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`COMPILE_DEFINITIONS` to match the selected language.
This is not exactly the same as for other generators, but is the best VS
and Xcode can do. It is also sufficient for many use cases since the
set of definitions for C and C++ is frequently similar but may be
distinct from those for other languages like CUDA.
Issue: #17435
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| | |
dcc606ad CUDA: Allow -G to control device debuging on MSVC.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1619
|
| |
| |
| |
| | |
Fixes #17551
|
|/
|
|
| |
'auto' used for complex types
|
|\
| |
| |
| |
| |
| |
| | |
10f58b27 Genex: Per-source $<COMPILE_LANGUAGE:...> support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1575
|
| |
| |
| |
| | |
Fixes: #17542
|
|/
|
|
| |
Revise method signatures to save a few c_str() conversions.
|
|
|
|
|
|
| |
This allows users to specify different genex-based compile definitions for each file in a target.
Fixes: #17508
|
|\
| |
| |
| |
| |
| |
| | |
6bffc13e Refactor per-source generator expression evaluation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1550
|
| |
| |
| |
| |
| |
| | |
Prepare to add generator expression support to more source properties.
Factor out some duplicated code into a helper to avoid further
duplication.
|
| |
| |
| |
| |
| | |
Some cases were missed by earlier sweeps due to not compiling
Windows-specific code.
|
|/
|
|
| |
fixes #17388
|
|
|
|
|
|
| |
Sort source groups by name rather than arbitrary pointer values.
Fixes: #17446
|
| |
|
|
|
|
|
|
| |
According to MSDN docs [1], LastGenOutput is just a file name.
[1] https://msdn.microsoft.com/en-us/library/bb629388.aspx
|
|
|
|
|
|
|
|
| |
Add `VS_SHADER_DISABLE_OPTIMIZATIONS` and `VS_SHADER_ENABLE_DEBUG`
source file properties to control these settings on `.hlsl` files in the
VS generator.
Fixes: #17406
|
|
|
|
|
|
|
|
|
|
|
| |
std::{begin,end} are part of C++11, std::{cbegin,cend} are part of C++14
and an standard compliant implementation has been introduced within the
'cm' namespace: cm::{cbegin,cend}.
std::size is only part of C++17, hence exposing a compliant implementation
within namespace cm (cm::size).
where possible, the standard implementations are reused.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than injecting `CMakeLists.txt` files into each target's
`SOURCES`, teach the generators to add them during generation using
dedicated code. This avoids mutating the original targets, and avoids
polluting `$<TARGET_PROPERTY:foo,SOURCES>` with generator-specific
content.
This also avoids listing the `CMakeLists.txt` sources in the results of
`CMAKE_DEBUG_TARGET_PROPERTIES==SOURCES` so the `RunCMake.TargetSources`
test no longer needs a separate case for IDEs.
|
|
|
|
|
|
|
|
|
|
| |
The `TargetMachinePlatform` setting tells CUDA what `--machine {32,64}`
flag to pass to nvcc. While CUDA automatically chooses the proper
default for the target architecture, it does not reflect this in the
user-visible IDE settings. Set it explicitly to fix the user-visible
setting.
Fixes: #17355
|
|\
| |
| |
| |
| |
| |
| | |
0b419b99 VS: Do not emit empty linker Version tag
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1332
|