Commit Graph

22961 Commits

Author SHA1 Message Date
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
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
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
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
Brad King
591557ba45 Merge topic 'file-generate-path-cleanup'
c41a7c7d file: Normalize GENERATE command input and output file paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !940
2017-06-09 10:36:30 -04:00
Brad King
b90330f574 Merge topic 'qt-pass-point-by-value'
994beddb CMakeSetupDialog: Pass QPoint by value

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !946
2017-06-09 10:34:06 -04:00
Brad King
7e6e37fdf1 Merge topic 'no-return-void-expression'
5b02bcf6 QtDialog/FirstConfigure: remove 'return' from void expression
2d1c05c1 cmGlobalGenerator: remove 'return' from void expression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !941
2017-06-09 10:33:47 -04:00
Brad King
d4d24c30f0 Merge topic 'cpack-destructor-overrides'
62eec34c Add CM_OVERRIDE to CPack generator destructors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !939
2017-06-09 10:33:18 -04:00
Brad King
55d752b108 Merge topic 'improve-msvc-feature-checks'
f44d9bcc C++ feature checks: Improve exclusion of "0 Warning(s)"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !938
2017-06-09 10:00:57 -04:00
Kitware Robot
51e1e23cf4 CMake Nightly Date Stamp 2017-06-09 00:01:04 -04:00
Daniel Pfeifer
994beddb93 CMakeSetupDialog: Pass QPoint by value 2017-06-08 22:15:21 +02:00
Brad King
c41a7c7d90 file: Normalize GENERATE command input and output file paths
Normalize absolute paths so that no extra components like `../` or
`...//...` appear that later confuse relative path computation.
In particular, we expect paths sent to AddCMakeDependFile and
AddCMakeOutputFile to be normalized.

Do this only for paths that are already absolute because
we can't handle relative paths yet (see #16786).

Fixes: #16892
2017-06-08 10:41:28 -04:00
Daniel Pfeifer
5b02bcf682 QtDialog/FirstConfigure: remove 'return' from void expression 2017-06-08 16:40:57 +02:00
Daniel Pfeifer
2d1c05c166 cmGlobalGenerator: remove 'return' from void expression 2017-06-08 16:40:11 +02:00
Brad King
62eec34c29 Add CM_OVERRIDE to CPack generator destructors 2017-06-08 09:38:07 -04:00
Brad King
f44d9bcc8f C++ feature checks: Improve exclusion of "0 Warning(s)"
Simply matching "0 Warning" may match "10 Warning(s)".  Instead remove
the entire `    0 Warning(s)` content from the MSBuild output before
searching it for warnings.

Issue: #16942
2017-06-08 09:22:09 -04:00
Kitware Robot
bf06d72f39 CMake Nightly Date Stamp 2017-06-08 00:01:06 -04:00
Brad King
67c0b56e3c Merge topic 'autogen-no-vs-per-config'
cc1b513d Autogen: Do not use per-config file suffixes with VS yet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !932
2017-06-07 11:08:13 -04:00
Brad King
5b1d0aeffe Merge topic 'fix-vs2017-featuredetect'
f4ce3962 C++ feature checks: Do not match "0 Warning(s)" as a warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !930
2017-06-07 09:59:12 -04:00
Brad King
0f0a4d43f4 Merge topic 'cmake_host_system_information-extend'
e7869e80 cmake_host_system_information: Add more keywords

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !912
2017-06-07 09:55:54 -04:00
Brad King
cc1b513df1 Autogen: Do not use per-config file suffixes with VS yet
The change in commit v3.9.0-rc1~42^2~1 (Autogen: Per-config file
suffixes, 2017-05-15) broke Visual Studio builds because the generators
do not yet fully support per-config sources.  Disable the behavior on
Visual Studio generators for now.

Fixes: #16939
2017-06-07 09:41:49 -04:00
Kitware Robot
9530f41029 CMake Nightly Date Stamp 2017-06-07 00:01:07 -04:00
Walter Gray
f4ce396254 C++ feature checks: Do not match "0 Warning(s)" as a warning
The change in commit v3.9.0-rc1~6^2~1 (C++ feature checks: check output
for '[Ww]arning', 2017-06-03) accidentally matches `0 Warning(s)` in the
output and always thinks a warning exists, thus failing all checks in
Visual Studio builds.

Fixes: #16942
2017-06-06 08:55:43 -04:00
Kitware Robot
1c9ff4a964 CMake Nightly Date Stamp 2017-06-06 00:01:06 -04:00
Florian Maushart
e7869e80ce cmake_host_system_information: Add more keywords
Extend the `cmake_host_system_information()` command to add processor
identification keywords.
2017-06-05 13:51:30 -04:00
Brad King
c095e90f3a Begin post-3.9 development 2017-06-05 10:41:19 -04:00
Brad King
344f9ed96a CMake 3.9.0-rc1 version update 2017-06-05 10:32:40 -04:00
Brad King
c6ea3f01c3 Merge topic 'lint-function-args'
b1ec5dea Pass large types by const&, small types by value

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !927
2017-06-05 09:44:24 -04:00