| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
This empty element does nothing, so simply remove it to simplify
generated `.vcxproj` files.
|
|/
|
|
|
|
| |
This already worked in other generators. Also add a test case.
Fixes: #17314
|
|\
| |
| |
| |
| |
| |
| | |
49dab3eb VS: Add VS_SHADER_OUTPUT_HEADER_FILE and VS_SHADER_VARIABLE_NAME properties.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1319
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The VS_SHADER_OUTPUT_HEADER_FILE property is the name of the generated
header file containing the object code of the shader.
The VS_SHADER_VARIABLE_NAME property is the name of the variable
containing the object code in the above header file.
Signed-off-by: Kevin M. Godby <kevin@godby.org>
|
|/
|
|
| |
Signed-off-by: Matthias Maennich <matthias@maennich.net>
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
5db3aac1 Meta: replace empty-string assignments with `clear()`.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1276
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| | |
3232f84c VS: Fix MANIFESTUAC link flag map to .vcxproj elements
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !526
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add special parsing of the flags given in `/MANIFESTUAC:"..."` in order
to map them correctly to `.vcxproj` elements.
Keep the old incorrect flag table entries for `uiAccess` and `level`
flags for compatibility even though they do not really exist.
Fixes: #16563
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
bc7c94fe MSVC: Add support for ARM64 architecture
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1215
|
| | |
| | |
| | |
| | |
| | |
| | | |
Visual Studio 15.4 adds support for this architecture.
Fixes: #17213
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
8a4755ca VS: Update support for LLVM-vs* toolsets from LLVM 5.0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1231
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Revert commit v3.7.0-rc1~25^2 (VS: Recognize VS/LLVM toolset names as
Clang, 2016-09-28). Since at least LLVM 5.0 the VS integration of the
LLVM toolchain now mimics cl and accepts MSVC-style command-line
arguments (unlike Microsoft Clang/C2).
Fixes: #17193, #17235
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
9ed24280 VS: only add custom command line if it is not empty
34c4108b add HasOnlyEmptyCommandLines() method to cmCustomCommandGenerator
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1050
|
| | |
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit v3.9.0-rc4~4^2 (Vs: allow CSharp targets to be linked to
CXX targets, 2017-06-20) CSharp targets get `ProjectReference` entries
to their dependencies. This causes VS to also reference the
dependency's output assembly by default, which is incorrect for
non-managed targets.
Fix this by setting `ReferenceOutputAssembly` to `false` for targets
that can't provide output assemblies. Unmanaged C++ targets (shared
libs & executables) can still be referenced and a warning will be shown
in the IDE but the build will not break anymore.
Fixes: #17172
|