Commit Graph

8360 Commits

Author SHA1 Message Date
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
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
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
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
Brad King
3b99c9689a Merge topic 'FindwxWidgets-msvc-v141'
73738f620f FindwxWidgets: Add support for MSVC versions of the v141 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1861
2018-03-20 09:21:49 -04:00
Marc Chevrier
50b5e9ed13 CMake build: Use new FindPython module 2018-03-20 09:29:55 +01:00
Marc Chevrier
352baee207 FindPython*: New implementation for Python stuff
Fixes: #16142
2018-03-20 09:29:44 +01:00
Adam Oleksy
73738f620f FindwxWidgets: Add support for MSVC versions of the v141 toolset
Since commit v3.8.0-rc3~7^2 (FindwxWidgets: Add support for VS 2017 v141
toolset, 2017-03-22) more MSVC updates have been released that use a
MSVC_VERSION value higher than 1910.  Revise our checks accordingly.

Issue: #16735
2018-03-19 11:56:00 -04:00
Brad King
e35f4014f6 Merge topic 'revert-findqt4-dirs-fix'
cf06962d73 FindQt4: Revert "Set PLUGINS and IMPORTS dir even if empty"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1867
2018-03-19 09:22:53 -04:00
Brad King
c78d12fc0d Merge branch 'revert-findqt4-dirs-fix' into release-3.11
Merge-request: !1867
2018-03-19 09:17:09 -04:00
Brad King
cf06962d73 FindQt4: Revert "Set PLUGINS and IMPORTS dir even if empty"
The change in commit v3.11.0-rc1~306^2 (FindQt4: Set PLUGINS and IMPORTS
dir even if empty, 2017-11-19) regressed existing builds on some
machines.  Revert it for CMake 3.11 pending further investigation.

Fixes: #17814, #17817
Issue: #14155, #17492
2018-03-19 09:13:25 -04:00
Brad King
cc2e5709ed Merge topic 'intel-initializer-list'
fc96d99c3e Features: Record initializer list support for Intel 14 and above

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1855
2018-03-19 08:17:18 -04:00
Craig Scott
80784ef77f Merge topic 'project-homepage-url'
73f9b2974c project: Add HOMEPAGE_URL named parameter
fd28c382b4 project: Add <PROJECT-NAME>_DESCRIPTION
9b57cb62ea Help: Fix minor typo in docs for CMAKE_PROJECT_DESCRIPTION
c89993d529 Tests: Avoid enabling languages unnecessarily in RunCMake.project

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1816
2018-03-17 18:24:44 -04:00
Alex Turbov
73f9b2974c project: Add HOMEPAGE_URL named parameter
This sets variables like PROJECT_HOMEPAGE_URL, which can be
used as default values for various things (packaging modules,
doxygen defaults, etc.). Some packaging modules have been
updated to do this as part of this commit.

Co-Author: Craig Scott <craig.scott@crascit.com>
2018-03-17 08:25:48 +11:00
Brad King
4e9aa80158 Merge branch 'intel-initializer-list' into release-3.11
Merge-request: !1855
2018-03-16 07:53:36 -04:00
Brad King
df27bd3f83 Merge branch 'gtest_discover_tests_timeout' into release-3.11
Merge-request: !1851
2018-03-16 07:52:23 -04:00
Brad King
fc96d99c3e Features: Record initializer list support for Intel 14 and above
Features recorded by commit v3.6.0-rc1~120^2~5 (Features: Record
standards and features for Intel C++ on UNIX, 2016-04-28) for the Intel
compiler left out initializer list support because our test case in
`Tests/CompileFeatures/cxx_generalized_initializers.cpp` caused an
internal compiler error.  It turns out this is because the Intel
compiler asserts the `initializer_list` constructor signatures to verify
that they match its own `<initializer_list>` header.  It was our dummy
implementation used to test the language feature without any headers
that caused the ICE.  Revise it to use a constructor signature accepted
by the Intel compiler.

Fixes: #17829
2018-03-16 07:47:42 -04:00
Brad King
30b7c40ad8 Merge topic 'gtest_discover_tests_timeout'
96fdde26bb GoogleTest: Rename TIMEOUT parameter to avoid clash

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1851
2018-03-16 07:27:16 -04:00
Brad King
bd64d60194 Merge topic 'xl-cc-default-std'
194b74daec XL: Fix C default level detection when invoked as 'cc'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1854
2018-03-15 07:52:59 -04:00
Brad King
c388487bd5 Merge topic 'findjni-mips-r6-new-arch'
8c92596e96 FindJNI: add some new architecture names for mips release 6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1853
2018-03-15 07:51:29 -04:00
Craig Scott
96fdde26bb GoogleTest: Rename TIMEOUT parameter to avoid clash
In gtest_discover_tests(), the TIMEOUT keyword was making it
impossible to set the TIMEOUT test property via the PROPERTIES
keyword. This would be a frequent case, but it doesn't complain
and instead silently does something different to what would
normally be expected. The TIMEOUT keyword has been renamed
to DISCOVERY_TIMEOUT, thereby removing the clash.

This is a breaking change. 3.10.1 and 3.10.2 were the only versions
that supported the TIMEOUT keyword and uses of it were likely
not working as intended.

Fixes: #17801
2018-03-15 07:36:42 -04:00
Brad King
298e1bfe28 Merge branch 'xl-cc-default-std' into release-3.11
Merge-request: !1854
2018-03-14 14:08:23 -04:00
Brad King
194b74daec XL: Fix C default level detection when invoked as 'cc'
The IBM XL C compiler does not define `__STDC__` when invoked as plain
`cc` instead of `xlc`, so `CMAKE_C_STANDARD_COMPUTED_DEFAULT` does not
get set and CMake fails.  Teach CMake about the XL compiler's default C
standard in this case.

Fixes: #17649
2018-03-14 14:07:00 -04:00
Brad King
7bbaead87d Merge branch 'findjni-mips-r6-new-arch' into release-3.11
Merge-request: !1853
2018-03-14 11:18:14 -04:00
YunQiang Su
8c92596e96 FindJNI: add some new architecture names for mips release 6 2018-03-14 11:17:19 -04:00
Brad King
83071fff75 Merge topic 'ep-support-passing-var-ending-with-notfound'
7ad981c8f7 ExternalProject: Fix cache generation when last args ends with "-NOTFOUND"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1838
2018-03-12 13:49:44 -04:00
Jean-Christophe Fillion-Robin
7ad981c8f7 ExternalProject: Fix cache generation when last args ends with "-NOTFOUND" 2018-03-12 13:45:50 -04:00
Brad King
6e56f28808 Merge topic 'libxml2-target'
9ef3abd3f3 FindLibXml2: provide imported target LibXml2::LibXml2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1823
2018-03-09 07:44:30 -05:00