Commit Graph

23012 Commits

Author SHA1 Message Date
Brad King
126effbb9c Merge topic 'vs_csharp_custom_command'
ec409a11 Vs: fix CSharp custom command by introducing inline MSBuild <Targets>s
dcdab5cf Vs: factor out computation of <Link> tag for CSharp source files
0a8f469a Vs: refactor WriteCustomRule for preparation of CSharp support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !970
2017-06-27 09:21:38 -04:00
Brad King
43c3afa745 Merge topic 'fix-crash-on-non-enabled-language-features'
e03a1b3b target_compile_features: Do not crash on non-enabled language
86990427 Tests: Enable languages explicitly in RunCMake.target_compile_features

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1010
2017-06-27 09:20:32 -04:00
Brad King
dc11a20d7b Merge topic 'vs-cuda-fix-flags'
bbc1f364 VS: Fix support for nvcc flags not in our flag table

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1007
2017-06-27 09:18:34 -04:00
Brad King
bbc1f3642c VS: Fix support for nvcc flags not in our flag table
The change in commit v3.9.0-rc4~3^2 (VS: Improve workaround for CUDA
-Xcompiler placement bug, 2017-06-21) accidentally appended to the
`AdditionalOptions` as if it were a `;`-separated list, but it is
actually a command-line string.  Append with a space instead.

While at it, fix the same problem for the `AdditionalOptions` added to
`CudaLink` by commit v3.9.0-rc3~1^2 (CUDA: When linking device code
suppress CUDA 8.0+ deprecation warnings, 2017-06-09).

Fixes: #17008
2017-06-27 09:08:50 -04:00
Kitware Robot
b8858bd404 CMake Nightly Date Stamp 2017-06-27 00:01:07 -04:00
Brad King
e03a1b3b61 target_compile_features: Do not crash on non-enabled language
Fixes: #17011
2017-06-26 13:54:20 -04:00
Brad King
4d0155e780 Merge topic 'vs_projecttype_comparison'
54d42ce7 Vs: disable unnecessary <ItemDefinitionGroups> for CSharp targets
d5f7bf9b Vs: change comparison to use .ProjectType member always as first comparator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !988
2017-06-26 10:45:11 -04:00
Kitware Robot
581fda598c CMake Nightly Date Stamp 2017-06-26 00:01:04 -04:00
Kitware Robot
78f879f418 CMake Nightly Date Stamp 2017-06-25 00:01:04 -04:00
Kitware Robot
2731edf978 CMake Nightly Date Stamp 2017-06-24 00:01:04 -04:00
Kitware Robot
4c7caf15e4 CMake Nightly Date Stamp 2017-06-23 00:01:06 -04:00
Michael Stürmer
ec409a116f Vs: fix CSharp custom command by introducing inline MSBuild <Targets>s
The custom command implementation is based on the Microsoft support article:

https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-extend-the-visual-studio-build-process

Fixes: #16960
2017-06-22 21:40:48 +02:00
Michael Stürmer
dcdab5cf23 Vs: factor out computation of <Link> tag for CSharp source files 2017-06-22 21:39:37 +02:00
Michael Stürmer
0a8f469af9 Vs: refactor WriteCustomRule for preparation of CSharp support 2017-06-22 16:52:37 +02:00
Michael Stürmer
54d42ce728 Vs: disable unnecessary <ItemDefinitionGroups> for CSharp targets 2017-06-22 16:51:44 +02:00
Michael Stürmer
d5f7bf9b2e Vs: change comparison to use .ProjectType member always as first comparator 2017-06-22 16:49:24 +02:00
Brad King
8fe54172fc CMake 3.9.0-rc4 2017-06-22 10:15:07 -04:00
Brad King
426c83cf8f Merge topic 'vs-rc-flags'
974f4333 VS: Fix support for rc /nologo flag in per-source COMPILE_FLAGS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !998
2017-06-22 10:13:39 -04:00
Brad King
396b618c52 Merge topic 'vs-cuda-fix-flags'
3b754215 VS: Improve workaround for CUDA -Xcompiler placement bug
f2059585 VS: Fix target_compile_options for CUDA

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !996
2017-06-22 10:04:37 -04:00
Brad King
9f3bf3cb9d Merge topic 'vs_csharp_link_to_managed_cxx'
51865fc6 Vs: allow CSharp targets to be linked to CXX targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !993
2017-06-22 09:58:28 -04:00
Brad King
c8ee5dbc0c Merge branch 'vs-rc-flags' into release-3.9 2017-06-22 09:52:28 -04:00
Brad King
974f43338b VS: Fix support for rc /nologo flag in per-source COMPILE_FLAGS
Since commit v3.9.0-rc1~160^2 (VS: Use tool-specific flag table for
COMPILE_FLAGS parsing, 2017-05-03) we now correctly use the `rc` flag
table to process the COMPILE_FLAGS flags of `.rc` source files instead
of incorrectly using the `cl` flag table as before.  However, our `rc`
flag table is not complete.  The `/nologo` flag was working before only
by accident because the `cl` flag table entry for it happened to match.
Add the proper entry to the `rc` flag table.

Fixes: #16991
2017-06-22 09:45:42 -04:00
Kitware Robot
1218731a2a CMake Nightly Date Stamp 2017-06-22 00:01:06 -04:00
Brad King
3d99244477 Merge branch 'vs-cuda-fix-flags' into release-3.9 2017-06-21 14:24:23 -04:00
Brad King
3b75421515 VS: Improve workaround for CUDA -Xcompiler placement bug
In commit v3.9.0-rc1~431^2~6 (VS: Place CUDA host compiler options in
proper project file fields, 2017-03-07) we worked around a bug in the
CUDA VS integration by dropping `AdditionalCompilerOptions`.  However,
this silently drops `-Xcompiler=` options given by the user that don't
map to one of CudaCompile's dedicated settings.  Improve the workaround
to instead put the remaining `AdditionalCompilerOptions` into the
`AdditionalOptions` field behind `-Xcompiler=` ourselves.
2017-06-21 14:24:11 -04:00
Brad King
f2059585e6 VS: Fix target_compile_options for CUDA
Fix the VS generator to honor `COMPILE_OPTIONS` for CUDA.  The exclusion
added by commit v3.9.0-rc1~431^2~7 (VS: Do not pass CUDA compile options
to C compiler, 2017-03-07) was correct but we need additional logic to
pass the CUDA compile options to the CUDA compiler.  Also we should
still pass the CXX or C options to MSVC (ClCompile) when those languages
are enabled even if the link language is CUDA.
2017-06-21 14:23:46 -04:00
Brad King
d7c694b2e7 Merge topic 'autogen_brace'
50b3837c Autogen: Q_OBJECT behind brace test
01d2b745 Autogen: Check for Q_OBJECT/Q_GADGET after brace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !986
2017-06-21 08:38:11 -04:00
Michael Stürmer
51865fc67e Vs: allow CSharp targets to be linked to CXX targets
Fixes: #16755
2017-06-21 08:37:15 +02:00
Kitware Robot
782c1e2f37 CMake Nightly Date Stamp 2017-06-21 00:01:05 -04:00
Sebastian Holtermann
01d2b745aa Autogen: Check for Q_OBJECT/Q_GADGET after brace
Closes #16971
2017-06-20 10:49:00 +02:00
Kitware Robot
829ce06c35 CMake Nightly Date Stamp 2017-06-20 00:01:06 -04:00
Brad King
622b4dd785 Merge topic 'vs_csharp_fix_win32manifest_param'
ec7b3af7 Vs: remove /nowin32manifest from C# flags to enable default VS behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !969
2017-06-19 11:27:30 -04:00
Kitware Robot
3558fe0657 CMake Nightly Date Stamp 2017-06-19 00:01:04 -04:00
Kitware Robot
e10c9ef1eb CMake Nightly Date Stamp 2017-06-18 00:01:04 -04:00
Kitware Robot
1363a0cbce CMake Nightly Date Stamp 2017-06-17 00:01:08 -04:00
Brad King
c670d1b50b Merge topic 'fix-shadow-field-warnings'
54c51e79 cmCPackDragNDropGenerator: Drop unused member
7b02cb29 cmCommonTargetGenerator: Rename member to avoid shadowing
c1f15e1c cmGlobalGenerator: Rename member to avoid shadowing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !968
2017-06-16 09:37:58 -04:00
Michael Stürmer
ec7b3af7e7 Vs: remove /nowin32manifest from C# flags to enable default VS behavior
if /nowin32manifest is specified, it will be preferred over any occurring
/win32manifest:<file> parameter

Fixes: #16969, #16970
2017-06-16 09:33:06 +02:00
Kitware Robot
22894747b4 CMake Nightly Date Stamp 2017-06-16 00:01:09 -04:00
Brad King
f3ffd18ab6 Merge topic 'vs_csharp_prop_for_all_extensions'
c90630c5 Vs: add support for VS_CSHARP_* target property for additional file extensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !961
2017-06-15 10:22:12 -04:00
Brad King
d3b981ab3e Merge topic 'ipo-per-lang'
ba247cca IPO: Consider support for each language separately

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !964
2017-06-15 10:05:02 -04:00
Brad King
65834d04a2 Merge topic 'libuv-restore-fmode'
871adefc cmake: Fix default file translate mode when using libuv

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !963
2017-06-15 10:02:56 -04:00
Kitware Robot
a0ba798e42 CMake Nightly Date Stamp 2017-06-15 00:01:05 -04:00
Brad King
54c51e792e cmCPackDragNDropGenerator: Drop unused member
Drop the unused `InstallPrefix` member that shadows a member in a
subclass.
2017-06-14 16:34:40 -04:00
Brad King
7b02cb2996 cmCommonTargetGenerator: Rename member to avoid shadowing
Rename the `LocalGenerator` and `GlobalGenerator` members to avoid
shadowing similar members in subclasses that use more-specific pointer
types.
2017-06-14 16:31:20 -04:00
Brad King
c1f15e1c79 cmGlobalGenerator: Rename member to avoid shadowing
The `CurrentMakefile` member is shadowed by a generate-time member of
the same name in `cmGlobalXCodeGenerator`.  Rename our member to clarify
its configure-time role and avoid the shadow.
2017-06-14 16:24:45 -04:00
Brad King
61c1848cdc Merge branch 'ipo-per-lang' into release-3.9 2017-06-14 15:10:39 -04:00
Brad King
8e32bebd8d Merge branch 'libuv-restore-fmode' into release-3.9 2017-06-14 15:10:20 -04:00
Brad King
871adefce9 cmake: Fix default file translate mode when using libuv
On Windows, libuv's one-time initialization changes the C runtime
library's  `_fmode` setting to `_O_BINARY`, thus causing files to open
as binary after that instead of the default `_O_TEXT` mode.  See
upstream libuv issue 840.  Work around the problem by performing libuv
initialization early and then restoring `_fmode`.

In particular, this currently affects server mode.  Without this fix,
the `_fmode` setting changes when the server mode initializes libuv.

Fixes: #16962
2017-06-14 12:46:03 -04:00
Brad King
c8b4da5838 Merge topic 'vs-dotnet-custom-reference-tags'
07ec212a VS: add target property VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !960
2017-06-14 12:43:34 -04:00
Brad King
ba247ccaba IPO: Consider support for each language separately
We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and
Fortran languages.  Do not try to enable support for other languages.
Furthermore, each language builds with a different compiler, so check
for support by CMake and the compiler for each language independently.

Fixes: #16944
2017-06-14 10:36:57 -04:00