Commit Graph

9178 Commits

Author SHA1 Message Date
Alex Turbov f06bf0fa57 FindBoost: Fix compiler features for fiber and context 2019-04-30 14:26:07 -04:00
Alex Turbov 684338aff6 FindBoost: Record compiler features for Boost 1.67 and above
Remove the 1.67 upper-bound on compiler feature computation so that with
newer versions we at least get it mostly right.  Leave a comment with
notes about updating features for future versions.
2019-04-30 14:25:51 -04:00
Brad King bc6f442b56 Merge branch 'findqt3-hints-fix' into release-3.14
Merge-request: !3254
2019-04-22 07:35:22 -04:00
Christian Pfeiffer c298c4553b FindQt3: Restore missing lib and bin path suffixes
Restore path suffixes incorrectly removed by commit a62d50ec56 (Modules:
Replace coded PATHS with PATH_SUFFIXES, 2017-11-20, v3.11.0-rc1~293^2).
Hints do not participate in the usual bin/lib subdirectory search that
`<PackangeName>_ROOT` or `CMAKE_PREFIX_PATH` exhibit.

Fixes: #19185
2019-04-22 07:34:32 -04:00
Brad King c648551bea Merge branch 'FindOpenGL-libglvnd-subdir' into release-3.14
Merge-request: !3236
2019-04-17 10:17:15 -04:00
Ben Boeckel 844050adaf FindOpenGL: look for GLVND libraries with a libglvnd suffix
On CentOS 6.10, the libglvnd package from EPEL installs its libraries
under a libglvnd subdirectory.
2019-04-17 10:16:46 -04:00
Brad King 09fba6146f Merge branch 'Boost-Gentoo' into release-3.14
Merge-request: !3237
2019-04-16 13:34:03 -04:00
Rolf Eike Beer 0b54f72e94 FindBoost: Fix detection with version suffixes on Gentoo
The Gentoo case added by commit 1673923c30 (FindBoost: Add support for
Boost 1.67 with Python version suffixes, 2018-03-18, v3.11.0~3^2) left
out the `.` version component separator and instead duplicated the RPM
case.  Add the missing `.` now.

Fixes: #18743
2019-04-16 13:31:27 -04:00
Brad King cce342a5b9 Merge branch 'vs2019-redist' into release-3.14
Merge-request: !3233
2019-04-15 11:02:17 -04:00
Brad King a0b6448c85 IRSL: Update redist directory for VS 2019 update 1
VS 2019 Update 1 will fix its redist directories to be named `VC142`
instead of `VC141`.  It will also use cl `19.21` instead of `19.20`
so we can use that to distinguish the versions.

Fixes: #19131
2019-04-15 10:59:02 -04:00
Brad King 9010f5c18a FindBoost: Add support for MSVC toolset version 14.2
Generalize the logic to express compatibility among 14.x versions.
2019-04-12 11:33:52 -04:00
Craig Scott 127d0ea2a6 Merge branch 'fix-submit-url' into release-3.14
Merge-request: !3206
2019-04-10 07:54:29 +10:00
Regina Pfeifer b8cb63457e Modules/CTest: Fix SubmitURL
Problem appeared in d6475daa79 (Modules/CTest: Set SubmitURL, 2018-12-08).

Fixes: #19099
2019-04-10 07:43:20 +10:00
Brad King 30f68934e9 Merge branch 'backport-implicit-includes-relative' into release-3.14
Merge-request: !3204
2019-04-08 10:44:46 -04:00
Brad King ef41d49812 Fix implicit include directory extraction for adaptive relative paths
In some cases GCC reports *relative* implicit include directories.  They
are computed adaptively with respect to the current working directory
such that the effective implicit include directory is an unchanging
absolute path.  Teach our implicit include directory extraction to
recognize such paths and normalize them.

Fixes: #19133
2019-04-08 10:12:22 -04:00
Brad King 192aa506c6 Merge branch 'vs2019-redist' into release-3.14
Merge-request: !3186
2019-04-04 11:40:22 -04:00
Brad King 33ee779330 IRSL: Fix discovery of VS 2019 v142 toolset redistributables
Since VS 2017's v141 toolset there is no longer a simple equation to
calculate the redist name, dll version, and VS IDE version from just the
MSVC toolset version.  Refactor the logic to use hard-coded values and
warn when a new version is not supported.

Fixes: #19125
2019-04-04 11:35:38 -04:00
Brad King f28e7fc1a5 ARMCC: Do not identify ARMClang as ARMCC
Since commit 8f8d056051 (ARMCC: Fix identification of ARM compiler when
it defines GNU macros, 2019-03-20, v3.14.1~10^2) we consider ARMCC
before Clang or GNU compilers.  Since armclang also defines
`__ARMCC_VERSION` it is now mistaken for ARMCC.  Extend the check for
ARMCC to also verify that `__clang__` is not defined.

Issue: #19065
2019-04-03 12:50:10 -04:00
Brad King d8cf8380fb MSVC: Fix MSVC_TOOLSET_VERSION for VS 2019 v142 toolset
This was forgotten in commit 626c51f47b (VS: Update for Visual Studio
2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) when the toolset was
first renumbered to `v142`.

Issue: #19125
2019-04-03 12:27:29 -04:00
Brad King 30159fe751 Merge branch 'implicit-includes' into release-3.14
Merge-request: !3157
2019-03-29 08:49:34 -04:00
Brad King dad86f1873 ParseImplicitIncludeInfo: Canonicalize implicit include dirs
The implicit include directory extraction added by commit 5990ecb741
(Compute implicit include directories from compiler output, 2018-12-07,
v3.14.0-rc1~108^2) leaves paths like `/usr/lib/../include` unchanged.
Fix the logic to canonicalize such paths (e.g. to `/usr/include`)
as we do for implicit link directories already.  This is important
to ensure the set of implicit directories is represented in the same
form as the include directories that will be compared to them.

Issue: #19095
2019-03-29 08:48:56 -04:00
Brad King bd00090e2a Merge branch 'ifw_group_option_parsing' into release-3.14
Merge-request: !3160
2019-03-29 08:48:28 -04:00
Clément Rezvoy 6f6e0966a7 CPackIFW: Add missing cpack_ifw_configure_component_group option processing
Both commit 88ecfd8ba1 (CPackIFW: Add some options, 2016-11-11,
v3.8.0-rc1~248^2) and commit e5089c562c (CPackIFW: Add some options,
2017-01-24, v3.8.0-rc1~53^2) added some options to this macro's
documentation and implementation, but the actual processing of the
parsed options was never added.  Add it now.

Reviewed-by: Konstantin Podsvirov <konstantin@podsvirov.pro>
2019-03-28 14:59:08 -04:00
Brad King 97c163f5f7 Merge branch 'FindFontconfig-var-case' into release-3.14
Merge-request: !3153
2019-03-27 14:20:53 -04:00
Brad King a3a1e69f8a FindFontconfig: Convert module variables to camel case
Our documented standard for find module variable names is to match the
case of the find module package name.  This was overlooked when the
module was added by commit 84e7920b3a (FindFontconfig: Add module to
find Fontconfig, 2018-09-27, v3.14.0-rc1~523^2).

The module was released with the upper case names in CMake 3.14.0, so
fix it to have camel case names in 3.14.1.  This is incompatible but
anyone using a given release series should be using the latest patch on
it and we've made breaking fixups on newly released features like this
before.

Reported-by: Christophe Giboudeaux <christophe@krop.fr>
Fixes: #19094
2019-03-26 14:14:09 -04:00
Brad King 505bdd3d29 Merge branch 'cuda-bracket-output' into release-3.14
Merge-request: !3151
2019-03-26 10:58:08 -04:00
Brad King b127e0c561 CUDA: Tolerate square brackets in PROMPT environment variable
The `PROMPT` environment variable affects nvcc's output.  Fix
our parsing of that output to tolerate square brackets.

Fixes: #19089
2019-03-26 10:43:51 -04:00
Brad King c22a2b49af Merge branch 'toolchain-include_directories' into release-3.14
Merge-request: !3140
2019-03-25 11:50:06 -04:00
Brad King 588fa1bb9e Restore support for include_directories() in toolchain files
Any `include_directories()` calls in toolchain files are used during our
ABI detection step even though it does not include any system headers.
Since commit 5990ecb741 (Compute implicit include directories from
compiler output, 2018-12-07, v3.14.0-rc1~108^2), that check is also used
to detect implicit include directories.  Any `include_directories()` in
a toolchain file are detected as implicit and later excluded from
explicit specification on compiler command lines, thus breaking the
purpose of the calls in the first place.

Fix the implicit include directory detection step to avoid using paths
from `include_directories()` calls in the toolchain file.

Fixes: #19079
2019-03-25 11:48:17 -04:00
Brad King 8cc16c9420 Merge branch 'armcc-compiler-id' into release-3.14
Merge-request: !3127
2019-03-20 11:22:02 -04:00
Brad King 8f8d056051 ARMCC: Fix identification of ARM compiler when it defines GNU macros
According to ARMCC 5.06 documentation:

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472m/chr1359125007083.html

the compiler may define `__GNUC__` in addition to `__ARMCC_VERSION`.
Re-order our preprocessor checks to consider the ARM-specific macro
first so that the ARM compiler is not mistaken for a GNU compiler.

Fixes: #19065
2019-03-20 11:20:39 -04:00
Marc Chevrier 9a84cb1663 FindPython*: ensure correct architecture is selected.
Ensure interpreter and libraries architecture matches CMake build
configuration.
Update documentation about interpreter constraints.

Fixes: #19024
2019-03-14 18:53:57 +01: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
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 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 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
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 e994e1f9cd Merge branch 'FindOctave-remove' into release-3.14
Merge-request: !3027
2019-02-27 07:57:03 -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 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
Brad King 7a1f3fe041 FindOctave: Remove module pending further work
The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add
module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few
problems in its implementation that need to be worked out before the
module can be included in a CMake release.  These were missed during
review.  Remove the module for now.  It can be restored later with a
fresh review.

Issue: #18991
2019-02-26 14:12:34 -05:00
Brad King 8375c303e2 VS: Fix detection of clang-cl with -T llvm
When using a VS generator with `-T llvm`, MSBuild relies on the "LLVM
Compiler Toolchain" VS Extension.  This does not put `clang-cl` in the
`PATH` inside the build, and LLVM no longer provides a `cl` replacement
either.  Therefore we need another way to extract the path to the
`CMAKE_{C,CXX}_COMPILER`.  Fortunately the LLVM VS integration provides
a `$(ClangClExecutable)` macro we can reference to get the path.

Fixes: #18983
2019-02-26 09:58:51 -05:00
Brad King e0267eb1d3 FindThreads: Fix libc check to use proper header for pthread_kill
In commit e9a1ddc594 (FindThreads: Replace the pthread symbol checking
in libc., 2018-11-18, v3.14.0-rc1~292^2) we switched to checking for
`pthread_kill` in libc but did not update the symbol check's header file
to match.  Add `signal.h` to get `pthread_kill`.  Keep `pthread.h`
anyway since the purpose of the check is to verify that the pthread API
works.

Fixes: #18984
2019-02-26 07:51:52 -05:00
Brad King 4d337be994 Merge branch 'qcc-asm-detection' into release-3.14
Merge-request: !3016
2019-02-25 09:33:25 -05:00
Brad King b3b081ccec Merge branch 'check_lang_source_runs_output' into release-3.14
Merge-request: !3011
2019-02-25 07:53:49 -05:00
Maikel van den Hurk be87ce43f0 Add ASM Compiler detection for QCC 2019-02-25 08:28:47 +01:00
Craig Scott 92d9ec9bfb CheckLangSourceRuns: Capture run output to log files
Fixes: #18973
2019-02-23 21:16:03 +11:00