Commit Graph

46425 Commits

Author SHA1 Message Date
Kyle Edwards
93526fd913 Merge topic 'ninja_multi_config_support_cuda'
c7ac13e8ed CUDA: Mult-Config Ninja generator now supports CUDA

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4187
2020-01-14 15:11:35 -05:00
Miro Hrončok
f6474214b3 FindPython: Add support for version 3.9
Development versions of Python 3.9.0 are already out there.

See PEP 596 -- Python 3.9 Release Schedule:
https://www.python.org/dev/peps/pep-0596/
2020-01-14 15:02:19 -05:00
Robert Maynard
6e474364d1 CUDAToolkit: No targets now depend on the CUDA runtime
It is not a requirement to have shared|static consistent across your
CUDA libraries (e.g curand, nppc ) and your CUDA runtime library.
It is entirely allowable to use a static nppc and a shared runtime.
2020-01-14 13:50:37 -05:00
Cristian Adam
274a6f3699 Unity Build: include language in generated source file name
Fixes: #20206
2020-01-14 18:48:08 +01:00
Brad King
d92bf9e84f Enable RPATH for CMake's own binaries by default
Reconcile the changes made by:

* commit ae62f66033 (ENH: CMake does not need RPATHs at all for its own executables, 2006-03-01, v2.4.0~380)
* commit a056cffc5b (COMP: enable RPATH if any of the CMAKE_USE_SYSTEM_XXX variables is enabled, 2007-08-28, v2.6.0~1183)
* commit c0108d1e07 (COMP: use RPATH is building QtDialog and the Qt libs are not in /lib or /usr/lib, 2007-11-05, v2.6.0~915)

The overall goal of those changes was to get the RPATH set for external
libraries when needed and also to avoid re-linking or other RPATH
editing on installation.  We can use a simpler approach to satisfy both
goals: always use RPATH entries for libraries found externally.  If
there are no such libraries we will get no RPATH.  If there are such
libraries that are not in standard paths we will get a RPATH that points
at them.  This will work for running either from the build tree or the
install tree, so we can use the same for both to avoid editing on
installation.

Fixes: #20185
2020-01-14 12:03:06 -05:00
Brad King
d1976cd1f2 CTest: Fix timeout when grandchild keeps pipes open
When a test's process creates its own child and exits, the grandchild
may keep pipes open.  Fix CTest logic to correctly timeout if the
grandchild does not exit and close the pipes before the timeout expires.
This was broken by commit b5e21d7d2e (CTest: Re-implement test process
handling using libuv, 2017-12-10, v3.11.0-rc1~117^2) which added an
unnecessary condition to the timeout handling.

Fixes: #20116
2020-01-14 10:29:05 -05:00
Brad King
2f5eb1800b Tests: Add RunCMake.CTestTimeout test
This test will consolidate CTest timeout-related tests.
2020-01-14 10:28:51 -05:00
Brad King
710371ca2f Merge topic 'tutorial'
a7d25358a0 Tutorial: Add the PRIVATE keyword to target_link_libraries command
cf2afb1065 Tutorial: Remove 'Consumer' example
77b515f3eb Tutorial: Improve "MultiPackage" example
3a510a47b0 Tutorial: Add links to relevant CMake documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4113
2020-01-14 09:06:40 -05:00
Brad King
a2a91eb141 Merge topic 'cross-ninja-improve-error-handling'
ca9100c5ce Ninja Multi-Config: Improve error handling when not doing cross-config build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4214
2020-01-14 09:03:09 -05:00
Brad King
e74049b388 Merge topic 'vs-Fortran-link-flags' into release-3.16
a3c827b2ea VS: Add Fortran link flag table entries for /OPT:*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4210
2020-01-14 09:01:21 -05:00
Brad King
03acdadb8a Merge branch 'release-3.16' 2020-01-14 09:01:21 -05:00
Brad King
c42ade942d Merge topic 'vs-Fortran-link-flags'
a3c827b2ea VS: Add Fortran link flag table entries for /OPT:*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4210
2020-01-14 09:01:21 -05:00
Brad King
4aa8397a4f Merge topic 'fix-global-autogen-target-help'
3104dc059c Help: Fix variable name on CMAKE_GLOBAL_AUTOGEN_TARGET page

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4212
2020-01-14 09:00:21 -05:00
Brad King
47dac86c08 Merge topic 'xcode-default-warnings'
b7b8331d68 Xcode: Drop hard-coded default warning flags like -Wmost

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4213
2020-01-14 08:59:37 -05:00
Brad King
f1af6d5baf Merge topic 'doc-user-interaction'
bd681fee7a Help: Add guides for user interaction
6185265800 Utilities/Sphinx: Index guide-level documents for cross-referencing
b1b7d01172 Utilities/Sphinx: Index document types only by top level directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Mateusz Łoskot <mateusz@loskot.net>
Acked-by: Daan De Meyer <daan.j.demeyer@gmail.com>
Merge-request: !4097
2020-01-14 08:58:38 -05:00
Brad King
09c43466e5 Merge branch 'release-3.16' 2020-01-14 08:57:19 -05:00
Brad King
ba0ae1261a Merge topic 'FindMatlab-r2019'
edb6fe3b6a FindMatlab: add R2019a and R2019b MATLAB_VERSIONS_MAPPING

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4207
2020-01-14 08:57:19 -05:00
Brad King
e6c5bed2aa Merge topic 'FindMatlab-r2019' into release-3.16
edb6fe3b6a FindMatlab: add R2019a and R2019b MATLAB_VERSIONS_MAPPING

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4207
2020-01-14 08:57:18 -05:00
Brad King
18b9eafed8 Merge branch 'release-3.16' 2020-01-14 08:55:58 -05:00
Brad King
11b6a315af Merge topic 'FindMatlab-only-CXX'
b704d58f41 FindMatlab: in matlab_add_mex use the correct version file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Patrik Huber <patrikhuber@gmail.com>
Merge-request: !4206
2020-01-14 08:55:58 -05:00
Brad King
789bbcddc0 Merge topic 'FindMatlab-only-CXX' into release-3.16
b704d58f41 FindMatlab: in matlab_add_mex use the correct version file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Patrik Huber <patrikhuber@gmail.com>
Merge-request: !4206
2020-01-14 08:55:57 -05:00
Brad King
3617e26d8c Merge topic 'vs_populate_CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES'
ef4a66d694 CUDA: MSVC generators fill CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4179
2020-01-14 08:54:57 -05:00
Tim Blechmann
22f38c0d6b cmake: avoid getcwd in CollapseFullPath
`CollapseFullPath` calls getcwd, which is a rather expensive system
call. we can replace it with `GetHomeOutputDirectory()` to save us from
the calling overhead
2020-01-14 18:20:39 +08:00
Marc Chevrier
328f586be7 cmAlgorithms.h: remove obsolete helpers 2020-01-14 11:03:09 +01:00
Marc Chevrier
f466cea3c9 cmMakefile: modernize memory management 2020-01-14 11:03:07 +01:00
Kitware Robot
2d5e9f3d8c CMake Nightly Date Stamp 2020-01-14 00:01:16 -05:00
Robert Maynard
c7ac13e8ed CUDA: Mult-Config Ninja generator now supports CUDA 2020-01-13 12:50:37 -05:00
Kyle Edwards
ca9100c5ce Ninja Multi-Config: Improve error handling when not doing cross-config build 2020-01-13 11:58:07 -05:00
Brad King
b7b8331d68 Xcode: Drop hard-coded default warning flags like -Wmost
The `-Wmost` flag was added by commit 97a51d2172 (ENH: add more xcode
stuff, 2005-01-27, v2.4.0~2396), along with a couple others, as part of
very early work on the Xcode generator.  I suspect that the flags were
part of Xcode's project creation wizard.  However, they are not
appropriate for CMake-based projects because we already have our own
mechanisms for specifying flags desired by the project or user.
Simply drop the flags.

Fixes: #13516
2020-01-13 11:45:23 -05:00
Joerg Bornemann
3104dc059c Help: Fix variable name on CMAKE_GLOBAL_AUTOGEN_TARGET page
CMAKE_GLOBAL_AUTORCC_TARGET was mentioned accidentally.
2020-01-13 17:41:06 +01:00
Pavel Liavonau
a3c827b2ea VS: Add Fortran link flag table entries for /OPT:*
Fixes: #20190
2020-01-13 11:14:00 -05:00
Stephen Kelly
bd681fee7a Help: Add guides for user interaction
Add some prose to the documentation index page to guide readers to the
major manuals and guides.

Add a new "User Interaction Guide" to help the class of new user
who wishes to build a project with CMake for the first time, such as
after cloning a repo from a git repository.

Add a new "Using Dependencies Guide" to help the class of new
user who wishes to consume a SDK provided by a third party and needs a
starting point.  This is a different type of user to the user who wishes
to create their own project from scratch (addressed by the
`cmake-buildsystem(7)` manual) as each will encounter needs for
information discovery in a different order.
2020-01-13 11:04:55 -05:00
Silvio Traversaro
b704d58f41 FindMatlab: in matlab_add_mex use the correct version file
Before this modification, the c_mexapi_version.c file was added to
all mex libraries. However, if the C language was not enabled
in the CMake project configuration, the c_mexapi_version.c file
was ignored, creating linking errors in Windows and macOS.
This commit ensures that in the case only the CXX languages is enabled,
the correct version is passed.

Fixes: #19382
2020-01-13 10:52:57 -05:00
Silvio Traversaro
edb6fe3b6a FindMatlab: add R2019a and R2019b MATLAB_VERSIONS_MAPPING
Reference for versions: https://www.mathworks.com/products/compiler/matlab-runtime.html

Fixes: #20087
2020-01-13 10:45:54 -05:00
Brad King
4bac5b628e Merge topic 'target_compile_options-BEFORE-keyword'
2678e31053 target_compile_options: ensure BEFORE keyword is handled in all scopes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4203
2020-01-13 10:38:00 -05:00
Brad King
041e58d195 Merge topic 'ninja-cross-build-disable'
e8032e202e Ninja Multi-Config: Make cross-config building opt-in

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4205
2020-01-13 10:34:18 -05:00
Brad King
320ad3f31f Merge topic 'findmpi-preserve-include-order'
5861c6d450 FindMPI: Preserve include order when extracting component directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4153
2020-01-13 10:32:42 -05:00
Brad King
1631db97ec Merge topic 'std-string'
93e9d10c7f cmCacheManager: more members use std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4186
2020-01-13 10:31:56 -05:00
Brad King
95e3c8b440 Merge topic 'refactoring-STL-erase_if'
968477517e Refactoring: suppress cmEraseIf in favor of cm::erase_if
348b60d19d STL support: add c++20 std::erase and std::erase_if functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Rejected-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !4192
2020-01-13 10:31:05 -05:00
Brad King
9a5d399725 Merge topic 'out-of-dir-link-keyword'
09721ca078 target_link_libraries: Fix out-of-dir calls with debug/optimized keywords
c40229968c target_link_libraries: Add FIXME comment for out-of-dir genex list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4202
2020-01-13 10:29:10 -05:00
Brad King
199e4203f7 Merge branch 'release-3.16' 2020-01-13 10:23:27 -05:00
Brad King
e8462a105e Merge topic 'fix-cpack-deb-description-file' into release-3.16
d491f34a5e CPack: Fix regression in DEB generator description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4204
2020-01-13 10:23:26 -05:00
Brad King
e61c2ed9ac Merge topic 'fix-cpack-deb-description-file'
d491f34a5e CPack: Fix regression in DEB generator description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4204
2020-01-13 10:23:26 -05:00
Brad King
1d2bead8dd Merge branch 'release-3.16' 2020-01-13 10:22:07 -05:00
Brad King
b1a9d49a69 Merge topic 'objc-visibility-inlines' into release-3.16
7347e2f830 ObjC: Add VISIBLITY_INLINES_HIDDEN support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4199
2020-01-13 10:22:06 -05:00
Brad King
24d143e0f6 Merge topic 'objc-visibility-inlines'
7347e2f830 ObjC: Add VISIBLITY_INLINES_HIDDEN support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4199
2020-01-13 10:22:06 -05:00
Brad King
ed16d474ea Merge branch 'release-3.16' 2020-01-13 10:20:59 -05:00
Brad King
df1fad32ad Merge topic 'macOS-Xcode-11-frameworks'
fcde42751a FindPython: ensure new Xcode framework for Python3 is detected
dd7b741b81 macOS: Add support for new Xcode 11 frameworks directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4198
2020-01-13 10:20:59 -05:00
Brad King
01b43e85cf Merge topic 'macOS-Xcode-11-frameworks' into release-3.16
fcde42751a FindPython: ensure new Xcode framework for Python3 is detected
dd7b741b81 macOS: Add support for new Xcode 11 frameworks directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4198
2020-01-13 10:20:58 -05:00
Brad King
6185265800 Utilities/Sphinx: Index guide-level documents for cross-referencing
Extend the change from commit d2fde94809 (Help: Add infrastructure for
guide-level documentation, 2019-05-30, v3.16.0-rc1~531^2~4) to add
support for cross-referencing and indexing the guides.
2020-01-13 11:08:11 +00:00