Commit Graph
28539 Commits
Author SHA1 Message Date
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
Kitware Robot 3c40207a10 CMake Nightly Date Stamp 2017-06-14 00:01:05 -04:00
Michael Stürmer 07ec212ae8 VS: add target property VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>
Fixes: #16689
2017-06-13 10:46:31 -04:00
Michael Stürmer c90630c501 Vs: add support for VS_CSHARP_* target property for additional file extensions
Fixes: #16726
2017-06-13 16:04:22 +02:00
Brad King c52b982da6 CMake 3.9.0-rc3 2017-06-13 09:59:27 -04:00
Brad King 6733d602af Merge topic 'remove-stray-line'
ae77d976 cmGlobalGenerator: Remove unused line

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !955
2017-06-13 09:20:54 -04:00
Brad King 087b8ccda9 Merge topic 'cuda-dlink-no-deprecated-gpu'
7368ade2 CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !951
2017-06-13 09:18:19 -04:00
Brad King fb99b0b87b Merge branch 'cuda-dlink-no-deprecated-gpu' into release-3.9 2017-06-13 09:17:06 -04:00
Robert Maynard 7368ade250 CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings
The CUDA compiler automatic deprecation warnings are pure noise when
doing device linking, and should be suppressed to reduce the amount of
confusion from users.
2017-06-13 09:15:19 -04:00
Kitware Robot 4ba2d2e3d7 CMake Nightly Date Stamp 2017-06-13 00:01:05 -04:00
Brad King 00b91b1530 Merge topic 'execute_process-pipeline-results'
d6051ca3 execute_process: Add option to get results of every child

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !702
2017-06-12 10:22:12 -04:00
Brad King 0cb8730c0b Merge topic 'cpack-freebsd-pkg'
2042cae9 CPack-FreeBSD: add a generator for FreeBSD pkg(8)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !693
2017-06-12 10:21:42 -04:00
Brad King 99153a9eb6 Merge topic 'cuda-compiler-launcher'
414438b2 CUDA: Add option to run the compiler through launcher tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !949
2017-06-12 10:20:58 -04:00
Brad King aa9d0afc52 Merge topic 'update-kwsys'
3d1c3e0d Merge branch 'upstream-KWSys' into update-kwsys
a3275878 KWSys 2017-06-09 (a700e2ab)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !947
2017-06-12 10:19:23 -04:00
Brad King cb1fdb301e Merge topic 'file-generate-relative-paths'
82be694c file(GENERATE): Add policy CMP0070 to define relative path behavior
69050f4d Tests: Use full output paths in file(GENERATE) calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !943
2017-06-12 10:15:47 -04:00
Brad King ae77d9768f cmGlobalGenerator: Remove unused line
Remove an unused line that was left by commit v2.4.0~3946 (set
CMAKE_SYSTEM_VERSION for windows, 2003-07-16).

Fixes: #16956
2017-06-12 10:01:31 -04:00
Kitware Robot abd1216c1f CMake Nightly Date Stamp 2017-06-12 00:01:04 -04:00
Kitware Robot 200fdf272f CMake Nightly Date Stamp 2017-06-11 00:01:04 -04:00
Adam Weisi d6051ca39e execute_process: Add option to get results of every child
Add a `RESULTS_VARIABLE` option to get the results of all children
in a pipeline of one or more `COMMAND`s.
2017-06-10 08:03:06 -04:00
Adriaan de Groot 2042cae9a5 CPack-FreeBSD: add a generator for FreeBSD pkg(8)
Adds an option CPACK_ENABLE_FREEBSD_PKG to allow CPack to look
for FreeBSD's libpkg / pkg(8). If this is set and the libpkg
headers and library are found (which they will be, by default,
on any FreeBSD system), then add a FreeBSD pkg(8) generator.

The FreeBSD package tool pkg(8) uses tar.xz files (.txz) with two
metadata files embedded (+MANIFEST and +COMPACT_MANIFEST).
This introduces a bunch of FreeBSD-specific CPACK_FREEBSD_PACKAGE_*
variables for filling in the metadata; the Debian generator does
something similar. Documentation for the CPack CMake-script is styled
after the Debian generator.

Implementation notes:
 - Checks for libpkg -- the underlying implementation for pkg(8) --
   and includes FreeBSD package-generation if building CMake on
   a UNIX host. Since libpkg can be used on BSDs, Linux and OSX,
   this potentially adds one more packaging format. In practice,
   this will only happen on FreeBSD and DragonflyBSD.
 - Copy-paste from cmCPackArchiveGenerator to special-case
   the metadata generation and to run around the internal
   archive generation: use libpkg instead.
 - Generating the metadata files is a little contrived.
 - Most of the validation logic for package settings is in
   CPackFreeBSD.cmake, as well as the code that tries to re-use
   packaging settings that may already be set up for Debian.
 - libpkg has its own notion of output filename, so we have
   another contrived bit of code that munges the output file
   list so that CPack can find the output.
 - Stick with C++98.
2017-06-10 07:53:59 -04:00
Kitware Robot c3868cf90c CMake Nightly Date Stamp 2017-06-10 00:01:10 -04:00
Brad King 414438b2fb CUDA: Add option to run the compiler through launcher tools
Add a `CUDA_COMPILER_LAUNCHER` target property like those added for C
and CXX by commit v3.4.0-rc1~450^2 (Add options to launch the compiler
through tools like ccache or distcc, 2015-06-04).

Fixes: #16953
2017-06-09 12:34:39 -04:00
Brad King 3d1c3e0dcf Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-06-09 (a700e2ab)
2017-06-09 11:03:34 -04:00
Brad King 82be694c7a file(GENERATE): Add policy CMP0070 to define relative path behavior
Previously `file(GENERATE)` did not define any behavior for relative
paths given to the `OUTPUT` or `INPUT` arguments.  Define behavior
consistent with CMake conventions and add a policy to provide
compatibility for projects that relied on the old accidental behavior.

Fixes: #16786
2017-06-09 10:38:43 -04:00