Commit Graph

9340 Commits

Author SHA1 Message Date
Brad King
784dd90fd4 Merge topic 'memorize_cxx_compilers_with_full_CXX14_support'
3dbec53255 CompileFeatures: Record when compilers gained full CXX14 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3280
2019-05-03 11:30:04 -04:00
Robert Maynard
3dbec53255 CompileFeatures: Record when compilers gained full CXX14 support
Use the infrastructure added by commit 646fb1a646 (CompileFeatures:
memoize C++ compilers with full language level support, 2019-03-27) to
avoid using a `try_compile` to check for C++14 feature support when the
running compiler is known to have all features.
2019-05-02 10:23:25 -04:00
Brad King
ce79364581 Merge topic 'ios_fixes'
4783b842ba iOS: Only set the CMAKE_FIND_ROOT_PATH_MODE_* variables when not defined
5f5e3062cf iOS: Only look for packages in the provided CMAKE_FIND_ROOT_PATHs
94c5fa5f7a iOS: Allow setting multiple CMAKE_FIND_ROOT_PATH values
1011350694 iOS: Allow specifying CMAKE_MACOSX_BUNDLE in toolchain file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3273
2019-05-02 09:46:39 -04:00
Brad King
eef1dacf51 Merge topic 'cpackrpm.debug'
d9beea0cca CPackRPM: Hide CPACK_RPM_ROOTDIR debug if not CPACK_RPM_PACKAGE_DEBUG

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3271
2019-05-02 09:44:13 -04:00
Brad King
fb325daa55 Merge topic 'IAR_6_x_fix'
4d78bea5df IAR: Fail early in case of IAR ARM 4.XX
0b684524ac IAR: Fix building with IAR ARM 6.X

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3263
2019-05-01 12:42:29 -04:00
Brad King
13b73ff65f Merge topic 'iar-binutils'
01a4eec446 IAR: Changes required for Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3262
2019-05-01 12:41:30 -04:00
Brad King
34d67a2405 Merge topic 'memorize_cxx_compilers_with_full_CXX11_support'
8d45a2ffe0 CompileFeatures: Record when compilers gained full CXX11 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3232
2019-05-01 12:40:15 -04:00
Brad King
6dbc12df68 Merge topic 'FindPython-NumPy-fix-dependencies-management'
68c8201711 FindPython: NumPy: fix erroneous dependencies management

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3274
2019-05-01 12:02:07 -04:00
Brad King
a1709057ef Merge topic 'FindBoost-fix-fiber-compiler-features'
f06bf0fa57 FindBoost: Fix compiler features for `fiber` and `context`
684338aff6 FindBoost: Record compiler features for Boost 1.67 and above

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3266
2019-05-01 12:00:54 -04:00
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
Alexandru Croitor
4783b842ba iOS: Only set the CMAKE_FIND_ROOT_PATH_MODE_* variables when not defined
This allows overriding them in a toolchain file.
2019-04-30 19:10:08 +02:00
Alexandru Croitor
5f5e3062cf iOS: Only look for packages in the provided CMAKE_FIND_ROOT_PATHs
Both CMAKE_FIND_ROOT_PATH_MODE_INCLUDE and
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY are set to "ONLY" when cross
building to iOS, but appears that CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
was overlooked.

This causes packages to be searched for in the host system as well,
which is incorrect and can lead to linking issues.

Set CMAKE_FIND_ROOT_PATH_MODE_PACKAGE to "ONLY" as well.

CMAKE_FIND_ROOT_PATH_MODE_PROGRAM is not touched, because a user
might want to find programs / tools on the host system.
2019-04-30 18:55:28 +02:00
Brad King
60515b205e Merge topic 'findmpi-msvc-nolibdir'
7db32efbab FindMPI: Don't retain libdirs for Win32

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3253
2019-04-30 10:08:22 -04:00
Marc Chevrier
68c8201711 FindPython: NumPy: fix erroneous dependencies management 2019-04-30 16:02:18 +02:00
Brad King
71371e3d93 Merge topic 'msvc-c-features'
eca275f63d CompileFeatures: Fix hard-coded MSVC C features

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3247
2019-04-30 09:59:57 -04:00
Alexandru Croitor
94c5fa5f7a iOS: Allow setting multiple CMAKE_FIND_ROOT_PATH values
Currently the value is hardcoded to contain only the sysroot for
the respective darwin platform. This means that it can not be changed
in a custom toolchain file.

Instead of overriding the value, simply append it. This is similar
to how it is done in the Google provided Android toolchain file.

The usecase is to allow specifying addiitonal roots to look for
3rd party packages which are definitely not present in the default
sysroot.
2019-04-30 13:40:31 +02:00
Alexandru Croitor
1011350694 iOS: Allow specifying CMAKE_MACOSX_BUNDLE in toolchain file
Currently CMAKE_MACOSX_BUNDLE is always set to true when compiling
for iOS. This poses a problem when using the source file
variant of try_compile. Even if a custom value is passed via
the CMAKE_FLAGS option, it would still be overridden by the
Darwin.cmake file.

Only set the value in case no other value was provided before.
2019-04-30 13:40:31 +02:00
Harry Mallon
d9beea0cca CPackRPM: Hide CPACK_RPM_ROOTDIR debug if not CPACK_RPM_PACKAGE_DEBUG 2019-04-30 10:52:53 +01:00
Robert Maynard
8d45a2ffe0 CompileFeatures: Record when compilers gained full CXX11 support
Use the infrastructure added by commit 646fb1a646 (CompileFeatures:
memoize C++ compilers with full language level support, 2019-03-27) to
avoid using a `try_compile` to check for C++11 feature support when the
running compiler is known to have all features.
2019-04-29 17:18:45 -04:00
Daniel Schürmann
4d78bea5df IAR: Fail early in case of IAR ARM 4.XX
This version is not yet supported because it uses xlink unsetad of ilink.
2019-04-26 10:15:01 +02:00
R. Andrew Ohana
a893018c47 Project: Report intel's simulation of gcc. 2019-04-25 13:37:44 -07:00
Daniel Schürmann
0b684524ac IAR: Fix building with IAR ARM 6.X
Use the correct version macros and version numbers.
2019-04-25 15:25:16 +02:00
Stefan Andersson
01a4eec446 IAR: Changes required for Linux 2019-04-25 11:28:58 +02:00
Kyle Edwards
c3ef567951 Merge topic 'update-documentation'
cb811d11ce Help: Improve description of modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3222
2019-04-24 10:23:39 -04:00
Bartosz Kosiorek
cb811d11ce Help: Improve description of modules 2019-04-23 10:39:34 +02:00
Brad King
800b2aad13 Merge topic 'sunpro-cxx14-features'
66f3f11af5 SunPro: Record support for C++14 features by SunPro 5.{14,15}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3248
2019-04-22 08:26:56 -04:00
Brad King
eca275f63d CompileFeatures: Fix hard-coded MSVC C features
In commit 8e4899fd6c (CompileFeatures: Record which C features the MSVC
compiler supports, 2019-04-12) our `cmake_record_c_compile_features`
macro was accidentally left not setting the `_result` variable, which
had previously been set by `_record_compiler_features`.  The variable is
expected by the call site in `cmake_determine_compile_features` and used
to switch between "failed" and "done" reports.  Set it now.

Also record `c_variadic_macros` only for cl 14 (VS 2005) and higher
because it is not supported before that version.
2019-04-22 08:22:54 -04:00
Brad King
d0e3701861 Merge topic 'msvc-warning-flags'
1baf122cd4 MSVC: Do not add /W3 to CMAKE_<LANG>_FLAGS by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3250
2019-04-22 07:51:01 -04:00
Brad King
637292a3a9 Merge topic 'findqt3-hints-fix'
c298c4553b FindQt3: Restore missing lib and bin path suffixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3254
2019-04-22 07:39:34 -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
Christian Pfeiffer
7db32efbab FindMPI: Don't retain libdirs for Win32
On Windows systems, the need to retain library directories should not
nomrally occur. This can only occur on Unix like systems where a shared
library is being linked that has a dependency on another library which
is not being found in the default directories (e.g. libgfortran on BSD)

This also works around an issue introduced by !1694 in that the Visual
Studio generator does not handle link flags passed in
`INTERFACE_LINK_LIBRARIES` correctly, causing problems when using that
generator with Intel MPI in certain circumstances.
2019-04-20 20:45:09 +02:00
Brad King
1baf122cd4 MSVC: Do not add /W3 to CMAKE_<LANG>_FLAGS by default
We do not add default warning flags on other compilers, and having
a warning flag in the default flags makes it hard for projects to
customize the warning level.  They need to use string processing
to remove `/W3` from `CMAKE_{C,CXX}_FLAGS`.  Therefore we should
drop it.

However, projects may be using string processing to replace `/W3`
with another flag, so we cannot simply drop it.  Add a policy to
drop it in a compatible way.

Fixes: #18317
2019-04-19 12:56:49 -04:00
Brad King
66f3f11af5 SunPro: Record support for C++14 features by SunPro 5.{14,15}
SunPro 5.15 supports `-std=c++14` and several C++14 features.

SunPro 5.14 accepts `-std=c++14` but does not update its definition of
`__cplusplus` or any other macro to distinguish it from `-std=c++11`,
so we need to blacklist a couple features that do work but that we
cannot report for that version.  We can still support `cxx_std_14`.

Co-Author: Robert Maynard <robert.maynard@kitware.com>
2019-04-19 09:14:00 -04:00
Brad King
a000ec7a08 Merge topic 'add_xl_cxx14_support'
458ea9d76c XL: Add C++14 language level flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3235
2019-04-18 11:03:12 -04:00
Brad King
2ed688a863 Merge topic 'msvc-runtime-library'
fb3370b6a1 MSVC: Add abstraction for runtime library selection
f621e7fa5d VS: Fix Fortran runtime library flag map special case for '-' options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !3211
2019-04-17 11:01:37 -04:00
Brad King
fb3370b6a1 MSVC: Add abstraction for runtime library selection
Replace our hard-coded defaults for `/MD` and `/MDd` with a first-class
abstraction to select the runtime library from an enumeration of logical
names.  We've long hesitated to do this because the idea of "runtime
library selection" touches on related concepts on several platforms.
Avoid that scope creep by simply defining an abstraction that applies
only when targeting the MSVC ABI on Windows.

Removing the old default flags requires a policy because existing
projects may rely on string processing to edit them and choose a runtime
library under the old behavior.  Add policy CMP0091 to provide
compatibility.

Fixes: #19108
2019-04-17 11:00:44 -04:00
Brad King
5cd187147e Merge topic 'memorize_msvc_like_compilers_C_support'
8e4899fd6c CompileFeatures: Record which C features the MSVC compiler supports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3226
2019-04-17 10:58:49 -04:00
Brad King
87609eebf3 Merge topic 'libglvnd-subdir'
844050adaf FindOpenGL: look for GLVND libraries with a libglvnd suffix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3236
2019-04-17 10:44:05 -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
7f9e93aa05 Merge topic 'vs2019-redist'
a0b6448c85 IRSL: Update redist directory for VS 2019 update 1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3233
2019-04-16 13:35:39 -04:00
Brad King
fc4324a27c Merge topic 'Boost-Gentoo'
0b54f72e94 FindBoost: Fix detection with version suffixes on Gentoo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3237
2019-04-16 13:34:41 -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
Robert Maynard
458ea9d76c XL: Add C++14 language level flags 2019-04-15 12:38:03 -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
8b667f24d4 Merge topic 'iar-generalize'
ea83d0f8fb IAR: Generalize and add support for IAR RX compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3196
2019-04-15 10:53:35 -04:00