42407 Commits

Author SHA1 Message Date
Brad King bf02d62532 CMake 3.14.0 v3.14.0 2019-03-14 09:08:05 -04:00
Brad King 1b6a3047c6 Merge branch 'revert-vs-msbuild-arch' into release-3.14
Merge-request: !3090
2019-03-12 13:01:57 -04:00
Brad King f3cedf381e VS: Revert "Use MSBuild matching toolset host architecture"
Revert commit da402a081b (VS: Use MSBuild matching toolset host
architecture, 2019-01-28, v3.14.0-rc1~50^2).  Multiple people have
reported that the 64-bit `amd64/msbuild` tool fails in cases that the
32-bit `msbuild` works.  Drop our change pending further investigation
and hopefully a fix to VS.

Fixes: #18904, #19037
Issue: #18219
2019-03-12 12:53:06 -04:00
Brad King 225675b1a2 Merge branch 'wix-cmake-downgrade-fix' into release-3.14
Merge-request: !3087
2019-03-12 09:41:37 -04:00
Nils Gladitz 7593bdf4e8 CMake: Fix WiX installer downgrades with versioned binaries
Since commit 5b9da05b7a (Windows: Embed version information into CMake
binaries, 2017-10-25, v3.11.0-rc1~411^2) our binaries have version
information that prevents a `.msi` downgrade from replacing them by
default.  Configure the re-install mode:

* a: reinstall all files regardless of version
* m: rewrite all per-machine registry entries
* u: rewrite all per-user registry entries
* s: reinstall shortcuts and icons

Fixes: #19006
2019-03-12 09:39:35 -04:00
Brad King f96f1aa571 CMake 3.14.0-rc4 v3.14.0-rc4 2019-03-08 07:34:57 -05:00
Brad King 0e2804b9ba Merge branch 'cxx-checks-warning-match' into release-3.14
Merge-request: !3075
2019-03-07 15:00:26 -05:00
Brad King 4ca5a815f2 C++ feature checks: Match warnings more strictly
Require the word "warning" to appear at the start of a line, after
whitespace, or after a `:`.  This is the same that CTest launchers use
to match warnings.  It avoids matching "warning" inside file paths.

Fixes: #19019
2019-03-07 14:55:54 -05:00
Brad King c042c998d0 Merge branch 'install-no-imported-global' into release-3.14
Merge-request: !3071
2019-03-07 09:17:21 -05:00
Brad King 47389c5641 install: Do not crash on imported global target
Since commit e89ad0f94e (install: Allow installing targets created in
another directory, 2018-06-18, v3.13.0-rc1~407^2) the `install(TARGETS)`
command may find a global-scoped target outside the calling directory.
Ignore an `IMPORTED GLOBAL` target if it is found in this way.  Imported
targets cannot be installed, and trying to do so violates internal
invariants.

Fixes: #19022
2019-03-07 09:00:56 -05:00
Brad King 898d21ebe6 Merge branch 'vs-explicit-newline' into release-3.14
Merge-request: !3065
2019-03-06 09:43:27 -05:00
Luca Cappa 0bf4418017 VS: Encode newlines in XML attributes
Encode `\n` as `
` to avoid generating a literal newline inside an
XML attribute.  This is more readable and also fixes custom commands in
`.csproj` files with VS 2019 RC.

Fixes: #19001
2019-03-06 09:37:21 -05:00
Brad King ef10c9a199 Merge branch 'docs-xcode-schemes' into release-3.14
Merge-request: !3066
2019-03-06 09:07:29 -05:00
Craig Scott d0cb912a28 Help: Remove note that Xcode scheme generator is experimental 2019-03-07 00:04:55 +11:00
Craig Scott de850fe385 Help: Trivial typo fix for CMAKE_XCODE_GENERATE_SCHEME 2019-03-07 00:04:55 +11:00
Craig Scott d61a5a20ef Help: Sort lists of (CMAKE_)XCODE_SCHEME_... variables and properties 2019-03-07 00:04:55 +11:00
Brad King ec79045b0e Merge branch 'docs-install-destinations' into release-3.14
Merge-request: !3052
2019-03-05 11:26:34 -05:00
Brad King 216fff285c Merge branch 'ios-docs' into release-3.14
Merge-request: !3047
2019-03-05 09:46:40 -05:00
Ruslan Baratov 376138fe0c Help: CMAKE_MACOSX_BUNDLE is ON for iOS/tvOS/watchOS 2019-03-05 09:45:50 -05:00
Ruslan Baratov f7d602b572 Help: Example of tweaking iOS/tvOS/watchOS build
CMAKE_OSX_ARCHITECTURES and CMAKE_OSX_DEPLOYMENT_TARGET variables
can be used to tweak iOS/tvOS/watchOS build
2019-03-05 09:45:50 -05:00
Ruslan Baratov 4a9e2e4f35 Help: find_package with fat iOS libraries 2019-03-05 09:45:50 -05:00
Brad King 509a9409c3 Merge branch 'ios-variable' into release-3.14
Merge-request: !3051
2019-03-05 09:42:58 -05:00
Ruslan Baratov e427c7c1d8 iOS: Add IOS variable
Since commit 11da882a12 (Apple: Introduce separate system name for iOS,
tvOS, and watchOS, 2018-01-15, v3.14.0-rc1~14^2~1) we support setting
`CMAKE_SYSTEM_NAME` to `iOS`.  Existing iOS toolchain files already
set `IOS` as a short-hand variable, so do the same here.
2019-03-05 09:42:41 -05:00
Craig Scott a5f79b83c7 Help: clarify DESTINATION and TYPE usage for install() 2019-03-05 21:48:44 +11:00
Brad King 5c0ef417b8 Merge branch 'FindPython-NumPy-fix-include-dir' into release-3.14
Merge-request: !3053
2019-03-04 08:28:56 -05:00
Marc Chevrier 8e3358336d FindPython: Fix NumPy component include directory
Update the component added by commit 513e77550d (FindPython: Introduce
NumPy component, 2018-12-12, v3.14.0-rc1~95^2).  The `numpy/`
sub-directory should not be part of the include directory.  It should be
part of the `#include` line.
2019-03-04 08:28:21 -05:00
Brad King 77439d97fe Merge branch 'vs-fortran-rc' into release-3.14
Merge-request: !3050
2019-03-01 12:02:31 -05:00
Brad King 0b82f56ac6 VS: Fix Fortran target type selection with RC sources
The Intel Fortran `.vfproj` files do support both Fortran and the
Windows Resource compiler (`.rc)` files.  Prior to CMake 3.9 we did not
support that, but commit 2c9f35789d (VS: Decide project type by linker
lang as fallback, 2017-03-30, v3.9.0-rc1~340^2) accidentally enabled it.
It was then broken by commit d3d2c3cd49 (VS: Fix Fortran target type
selection when linking C++ targets, 2019-02-04, v3.14.0-rc1~13^2).

Restore support for Fortran+RC in VS projects and add a test case.

Fixes: #19002
2019-03-01 11:58:21 -05:00
Brad King 20a41aa589 CMake 3.14.0-rc3 v3.14.0-rc3 2019-03-01 09:25:27 -05:00
Brad King 8d9cf29074 Merge branch 'findjni-paths' into release-3.14
Merge-request: !3042
2019-03-01 09:05:57 -05:00
Christian Pfeiffer 77cede0977 FindJNI: Unify path search, fix support for Java 9
Java 9 restructured the standard location of the AWT libraries due to
the removal of the JRE/JDK separation. We should check all possible
combinations of subdirectories to the Java root directories to ensure
that the libraries will be found after an upgrade.

Furthermore, a root directory would contain both, include and library
paths, so the search should be unified to ease maintenance on the
module.
2019-03-01 08:53:26 -05:00
Brad King 9a54159f53 Merge branch 'ExternalProject-fix-log-in-custom-stamp' into release-3.14
Merge-request: !3045
2019-03-01 08:02:26 -05:00
Brad King 338e32b3b8 Merge branch 'cuda_device_link_handle_frameworks' into release-3.14
Merge-request: !3039
2019-03-01 08:02:11 -05:00
Brad King a6d3fee77c ExternalProject: Restore default log dir with custom stamp dir
In commit b6f6cac378 (ExternalProject: add LOG_DIR option that allows
overriding of log location, 2018-10-12, v3.14.0-rc1~515^2~1) the log
directory got its own option.  The intention was to fall back to the
stamp directory by default.  However, the implementation actually only
falls back to the same default as the stamp directory and does not
consider a custom stamp dir.

Update the default log dir computation to fall back to whatever is the
final selection for the stamp dir.

Fixes: #19000
2019-03-01 07:54:17 -05:00
Robert Maynard d5d1b15654 CUDA: Filter out -framework arguments during device linking
The filter in commit e768d96c74 (CUDA: Filter out host link flags during
device linking, 2018-10-22, v3.13.0-rc2~4^2~2^2) removes `-framework`
but not the framework name that comes after it.  Revise the logic to
remove both.

Fixes: #18911
2019-02-28 14:56:11 -05:00
Brad King 71852e969b Merge branch 'vs2019' into release-3.14
Merge-request: !3044
2019-02-28 13:25:51 -05:00
Brad King c9a7f3135e Help: Update VS 2019 generator release note for preview 4 2019-02-28 11:05:31 -05:00
Brad King 00c1120837 VS: Drop workaround needed only for VS 2019 preview 2 and 3
A temporary workaround added by commit 626c51f47b (VS: Update for Visual
Studio 2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) is no longer needed
as of VS 2019 preview 4.

Fixes: #18898
2019-02-28 11:04:29 -05:00
Brad King 18731d60ac Merge branch 'backport-check-std-size-cbegin-cend' into release-3.14
Merge-request: !3030
2019-02-27 11:32:31 -05:00
Mathieu Garaud e17deb7ad4 Extend C++17/C++14 feature checks to cover more standard library APIs
Make sure `std::cbegin`, `std::cend`, and `std::size` work in C++17 or
C++14 mode before choosing the corresponding standard level for
compiling CMake itself.  This helps in cases that the compiler is using
a standard library too old to support the full standard level chosen.
2019-02-27 11:24:43 -05:00
Brad King e0d7078f6f Merge branch 'FindThreads-revert-libc-check' into release-3.14
Merge-request: !3022
2019-02-27 09:04:11 -05:00
Brad King f369d59cdd Merge branch 'cmake_role-vs-fix' into release-3.14
Merge-request: !3028
2019-02-27 08:05:55 -05:00
Brad King c2c7b9605c Merge branch 'docs-rpath-origin-apple' into release-3.14
Merge-request: !3020
2019-02-27 07:59:19 -05:00
Brad King e994e1f9cd Merge branch 'FindOctave-remove' into release-3.14
Merge-request: !3027
2019-02-27 07:57:03 -05:00
Brad King 624ce2c8be Merge branch 'include_external_msproject-exclude-from-all' into release-3.14
Merge-request: !3025
2019-02-27 07:56:11 -05:00
Brad King 5833739c4a Merge branch 'vs-llvm-extension' into release-3.14
Merge-request: !3024
2019-02-27 07:55:28 -05:00
Brad King 4570b5ae91 Merge branch 'restore-min-cmake-3.1' into release-3.14
Merge-request: !3021
2019-02-27 07:54:49 -05:00
Brad King 18320230ec FindThreads: Revert libc symbol check to pthread_create
Since commit e9a1ddc594 (FindThreads: Replace the pthread symbol
checking in libc., 2018-11-18, v3.14.0-rc1~292^2) we check libc for
`pthread_kill` instead of `pthread_create`.  However, on FreeBSD
`pthread_kill` is in libc but not `pthread_create`.  Discussion in the
original merge request for the above commit also considered
`pthread_key_create`, `pthread_self`, and `pthread_attr_init`.  Every
symbol seems to have some reason it is not an appropriate choice.

Revert to the pre-3.14 behavior of using `pthread_create` pending
further investigation.
2019-02-27 07:33:31 -05:00
Craig Scott bf10f02441 Help: Fix minor inaccuracies of what BUILD_RPATH_USE_ORIGIN affects 2019-02-27 21:07:36 +11:00
Kyle Edwards 4b95e7fe63 CMAKE_ROLE: Fix value in --build for Visual Studio generators
Fixes: #18990
2019-02-26 14:52:17 -05:00