Commit Graph

8384 Commits

Author SHA1 Message Date
Brad King
d7af8a34b6 Merge topic 'findwxwidgets-msys-library-dirs'
44ad8e48de FindwxWidgets: Fix wxWidgets_LIBRARY_DIRS on Cygwin/MSYS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1930
2018-04-05 13:28:19 -04:00
Brad King
308d21b225 Merge topic 'msvc-toolset-version-variable'
45bf6f6246 Modules: Use MSVC_TOOLSET_VERSION variable to simplify logic
304f493e57 MSVC: Add MSVC_TOOLSET_VERSION variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1882
2018-04-05 13:26:49 -04:00
Brad King
d1660bd2cb Merge topic 'revert-CheckIncludeFile-required-libs'
35109e718b Revert "CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1931
2018-04-05 13:23:34 -04:00
Arkady Shapkin
45bf6f6246 Modules: Use MSVC_TOOLSET_VERSION variable to simplify logic 2018-04-04 13:21:16 -04:00
Arkady Shapkin
304f493e57 MSVC: Add MSVC_TOOLSET_VERSION variable
Provide the MSVC toolset version number based on the compiler version.

Fixes: #16923
2018-04-04 13:21:09 -04:00
Brad King
35109e718b Revert "CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES"
This reverts commit v3.11.0-rc1~108^2 (CheckIncludeFiles: Honor
CMAKE_REQUIRED_LIBRARIES, 2017-12-24).  The behavior change can
affect checks in existing projects that don't expect the behavior.
Introducing the behavior again will require a policy.

Fixes: #17874
Issue: #9514
2018-04-04 13:14:01 -04:00
ARATA Mizuki
44ad8e48de FindwxWidgets: Fix wxWidgets_LIBRARY_DIRS on Cygwin/MSYS
The check for `wxWidgets_LIBRARIES` variable, introduced by e8b77084, fails
with the `wx-config` script generated by an MSYS build, because
`wxWidgets_LIBRARY_DIRS` is in POSIX style.

This commit fixes the problem with `wxWidgets_LIBRARY_DIRS` by converting it to
Windows style.  The actual code were copied from bf643286, which does the same
thing for `wxWidgets_INCLUDE_DIRS`.
2018-04-05 01:37:57 +09:00
Brad King
6425ceb46c Merge topic 'wcdh-bare-features'
f38d050231 WCDH: introduce BARE_FEATURES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1869
2018-04-04 11:16:50 -04:00
Brad King
8496d11ef8 Merge topic 'android-no-libstdc++'
843d55de29 Android: Suppress implicit -lstdc++ linker flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1919
2018-04-04 11:14:36 -04:00
Brad King
640bc9def4 Merge topic 'cuda_support_system_libraries_with_device_symbols'
41eab150a8 CUDA: Pass more link libraries to device linking
88c7abb740 CUDA: Pass host linker directories to device linker

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1634
2018-04-04 11:12:52 -04:00
Brad King
124472e9fc Merge topic 'FindPython-stabilization'
b1fd2bbe75 FindPython: enhance multiple major versions lookup

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1915
2018-04-04 11:06:02 -04:00
Craig Scott
74005a136c Merge topic 'UseSWIG-add-new-behavior'
8ab4e38373 UseSWIG: Add new behavior for better support files management
438429d6fe UseSWIG: Rework tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1891
2018-04-04 10:24:07 -04:00
Rolf Eike Beer
f38d050231 WCDH: introduce BARE_FEATURES
This allows defining compat versions of some C/C++ features with the name of the
keyword itself, so all code can look as if it was written for the new language
standard.
2018-04-03 20:56:28 +02:00
Brad King
843d55de29 Android: Suppress implicit -lstdc++ linker flag
The chosen STL libraries are already linked explicitly so we shouldn't
let the compiler add its implicit `-lstdc++` (the default) when invoking
the linker.

Fixes: #17863
NDK-Issue: https://github.com/android-ndk/ndk/issues/105
Inspired-by: Tom Hughes <tomtheengineer@gmail.com>
2018-04-03 14:34:57 -04:00
Brad King
561238bb6f Merge topic 'FPHSA-include'
d6883801cd Find*: always include FPHSA shipped with CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1910
2018-04-03 09:38:41 -04:00
Brad King
a01caf81a6 Merge topic 'FindDCMTK-includes'
5c948aa50d FindDCMTK: use CheckIncludeFiles instead of open coding it

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1911
2018-04-03 09:38:09 -04:00
Brad King
cad7385ab6 Merge topic 'android-clang-std-flags'
12e6796b62 Android: Do not pass non-existent Clang -std flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1913
2018-04-03 09:36:37 -04:00
Marc Chevrier
8ab4e38373 UseSWIG: Add new behavior for better support files management
fixes: #17840
2018-04-03 12:44:55 +02:00
Marc Chevrier
b1fd2bbe75 FindPython: enhance multiple major versions lookup 2018-04-03 09:41:19 +02:00
Brad King
12e6796b62 Android: Do not pass non-existent Clang -std flags
Android NDK r16b comes with

  Android clang version 5.0.300080  (based on LLVM 5.0.300080)

Although it claims version 5, it does not support the `-std=c++17`
or `-std=c++2a` flags that upstream Clang does.

Android NDK r17-beta1 comes with

  Android (4639204 based on r316199) clang version 6.0.1

that does have the flags.
2018-04-02 15:15:20 -04:00
Rolf Eike Beer
5c948aa50d FindDCMTK: use CheckIncludeFiles instead of open coding it
While at it remove a needless status message.
2018-04-02 17:59:45 +02:00
Brad King
445d6781e6 Fortran: Add support for .fpp extensions
Compilers such as `gfortran` recognize `.fpp` extensions to mean a
Fortran source on which the preprocessor should run.

Fixes: #17869
2018-04-02 11:07:55 -04:00
Brad King
e42fcb117f Merge topic 'remove-vs8-generator'
eb80af9093 Drop Visual Studio 8 2005 generator
e7af91d026 Tests: Remove unused file from Tutorial Step7 test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1901
2018-04-02 10:09:15 -04:00
Brad King
eb80af9093 Drop Visual Studio 8 2005 generator
This generator has been deprecated since CMake 3.9.  Remove it.
2018-04-02 10:08:10 -04:00
Brad King
59713e856d Merge topic 'FindCUDA-nvcc-executable-env'
23119366e9 FindCUDA: Make nvcc configurable via CUDA_NVCC_EXECUTABLE env var

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1899
2018-04-02 10:05:13 -04:00
Brad King
1b6ec4b9e3 Merge topic 'features-c++20'
8570dc7f64 Help: Update compiler versions in cmake-compile-features.7.rst
874d3d2948 Help: Add release note for C++ 20 support
7f295b1bd3 Features: Activate C++ 20 support for Clang 5.0+
71cb8ce3a1 Features: Activate C++ 20 support for GNU 8.0+
8f146c4508 Features: Activate C++ 20 support for MSVC 19.12.25835+
7fe580a362 Features: Add infrastructure for C++ 20 language standard
1b328e09a3 Features: Use -std=c++17 for C++ 17 on Clang 5.0+
0bc3e5788a Features: Use -std=c++17 for C++ 17 on GNU 8.0+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1892
2018-04-02 10:01:23 -04:00
Rolf Eike Beer
d6883801cd Find*: always include FPHSA shipped with CMake 2018-04-02 10:48:31 +02:00
Edward Z. Yang
23119366e9 FindCUDA: Make nvcc configurable via CUDA_NVCC_EXECUTABLE env var
This is useful if, for example, you want ccache to be used
for nvcc.  With the current behavior, cmake always picks up
/usr/local/cuda/bin/nvcc, even if there is a ccache nvcc
stub in the PATH.  Allowing for CUDA_NVCC_EXECUTABLE lets
us work around the problem.

Signed-off-by: Edward Z. Yang <ezyang@fb.com>
2018-03-29 10:48:02 -04:00
Brad King
a53cf69022 Features: Record C features for MSVC
The MSVC C compiler has no notion of C language standards or flags.
Tell CMake to assume that all language standards are available.
Record available C language features depending on the version of
the compiler.

Fixes: #17858
2018-03-29 10:40:13 -04:00
Brad King
88c7abb740 CUDA: Pass host linker directories to device linker
In some environments, libraries containing device code are installed in
directories searched by the host linker but not passed by nvcc to
nvlink.  Make these libraries available by explicitly passing the
host linker search directories during device linking.

Issue: #16317
2018-03-28 09:38:43 -04:00
Brad King
7f295b1bd3 Features: Activate C++ 20 support for Clang 5.0+ 2018-03-27 07:42:07 -04:00
Brad King
71cb8ce3a1 Features: Activate C++ 20 support for GNU 8.0+ 2018-03-27 07:42:07 -04:00
Brad King
8f146c4508 Features: Activate C++ 20 support for MSVC 19.12.25835+ 2018-03-27 07:42:07 -04:00
Brad King
7fe580a362 Features: Add infrastructure for C++ 20 language standard
Issue: #17849
2018-03-27 07:40:54 -04:00
Brad King
1b328e09a3 Features: Use -std=c++17 for C++ 17 on Clang 5.0+
Clang 5.0 added support for the `-std=c++17` flag.
2018-03-26 14:23:41 -04:00
Brad King
0bc3e5788a Features: Use -std=c++17 for C++ 17 on GNU 8.0+
GNU 8 now documents official support for the `-std=c++17` flag.
2018-03-26 14:23:41 -04:00
Brad King
6792c7787a Merge topic 'UseSWIG-fix-library-prefix'
51b642679b UseSWIG: fix prefix library for Java on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Mathieu Malaterre <mathieu.malaterre@gmail.com>
Merge-request: !1871
2018-03-26 08:01:57 -04:00
Brad King
ee78f4e1da Merge topic 'pr.checksymbol'
20c204244b CheckSymbolExists: Fix CMP0054 warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1884
2018-03-26 08:00:21 -04:00
Marc Chevrier
51b642679b UseSWIG: fix prefix library for Java on Windows
Fixes: #17836
2018-03-22 11:18:17 -04:00
Brad King
8aec07e057 Merge topic 'boost-1.67'
1673923c30 FindBoost: Add support for Boost 1.67 with Python version suffixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1865
2018-03-22 08:40:42 -04:00
Ruslan Baratov
20c204244b CheckSymbolExists: Fix CMP0054 warning 2018-03-22 15:32:43 +03:00
Brad King
218471a35c Merge branch 'boost-1.67' into release-3.11
Merge-request: !1865
2018-03-21 13:36:14 -04:00
Roger Leigh
1673923c30 FindBoost: Add support for Boost 1.67 with Python version suffixes
Fixes: #16612, #16335, #16391, #12955
2018-03-21 13:34:17 -04:00
Brad King
a13cfa246f Merge topic 'FindPython-new-implementation'
50b5e9ed13 CMake build: Use new FindPython module
352baee207 FindPython*: New implementation for Python stuff

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !1819
2018-03-21 10:01:52 -04:00
Brad King
3946cbc505 Merge topic 'wcdh-gcc-null'
dc863592bc WCDH: use better fallback value for nullptr with old gcc versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1877
2018-03-21 09:26:37 -04:00
Brad King
948eb3b2bf Merge topic 'cuda_arch'
e743fc8e91 FindCUDA/select_compute_arch: Add support for CUDA as a language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1856
2018-03-21 09:10:46 -04:00
Brad King
cb794ac788 Merge topic 'sunpro-5.15'
4267960fc9 Features: Record for SunPro 5.15

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1875
2018-03-21 08:53:22 -04:00
Rolf Eike Beer
dc863592bc WCDH: use better fallback value for nullptr with old gcc versions
GCC supports the __null builtin basically forever (since at least 2.95), which
behaves very much like nullptr later does. Use this instead of plain "0" as
fallback value, otherwise passing the define to functions annotated with
__attribute__((sentinel)) will result in a compiler warning.
2018-03-20 22:01:48 +01:00
Henry Fredrick Schreiner
e743fc8e91 FindCUDA/select_compute_arch: Add support for CUDA as a language
Even though this is an internal module, we can still prepare it to
be used in another public-facing module outside of `FindCUDA`.

Issue: #16586
2018-03-20 14:19:25 -04:00
Brad King
4267960fc9 Features: Record for SunPro 5.15
Oracle Developer Studio 12.6 adds support for more C++ 11 features.
2018-03-20 11:48:22 -04:00