Commit Graph

9968 Commits

Author SHA1 Message Date
Alexander Grund
cb984c6627 Check*CompilerFlag: Modernize modules
- User lower-case names
- Wrap in function instead of macro to avoid set-unset calls
- Use IN LISTS for foreach
2019-12-09 14:15:42 -05:00
Brad King
b2634d639b Merge topic 'cuda_updates_for_10.2'
5341f5e4a1 CUDA: get header deps from compiler invocation when possible
7f15c99851 CUDA: forward unknown flags to host compiler when possible.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4099
2019-12-09 11:21:58 -05:00
Brad King
51b87bcc62 Merge topic 'CPackNuGet-version-spec'
161a19e547 CPackNuGet: Fix handling of version specs with '['

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4082
2019-12-09 11:20:55 -05:00
Brad King
1da7fa3b47 Merge topic 'compiler-launcher-env'
6f48c59257 launcher: support setting a compiler launcher through the environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4095
2019-12-09 11:19:57 -05:00
Kyle Edwards
5d6b70ccfe Merge topic 'libarchive-target'
30488b3b9f FindLibArchive: create a target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4117
2019-12-09 09:59:53 -05:00
Tor Arne Vestbø
777d364913 Use xcrun instead of xcodebuild for resolving SDK path
It's much cheaper to run.
2019-12-09 14:55:48 +01:00
Yacoub Hossain
161a19e547 CPackNuGet: Fix handling of version specs with '['
Build a string directly to avoid depending on CMake lists which do
not handle square brackets in values very well.

Fixes: #20010
2019-12-06 09:14:36 -05:00
Brad King
4ec0572736 Merge topic 'vs-clangcl-toolset'
3c125c6de0 VS: Support Visual Studio Clang Toolkit identification

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4111
2019-12-06 08:37:37 -05:00
T.J. Corona
30488b3b9f FindLibArchive: create a target 2019-12-05 17:18:28 -05:00
Ben Boeckel
6f48c59257 launcher: support setting a compiler launcher through the environment
This makes it much easier to use a launcher for all CMake projects in an
environment rather than having to remember to pass the setting to every
CMake build.
2019-12-05 14:25:36 -05:00
Justin Goshi
3c125c6de0 VS: Support Visual Studio Clang Toolkit identification
Teach CMake that the `ClangCl` toolset uses the `ClangClExecutable`
value as the path to the compiler executable.
2019-12-05 11:48:48 -05:00
Brad King
4c94b53b73 Merge topic 'FindPkgConfig-cross-compile'
f92a4b2399 FindPkgConfig: Fix path manipulations when cross compiling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4106
2019-12-05 11:47:10 -05:00
Brad King
2557794609 Merge topic 'FindBLAS-atlas-static'
85f4d580c9 FindBLAS: Search for libblas from ATLAS vendor

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4105
2019-12-05 11:45:57 -05:00
Brad King
632bd60515 Merge topic 'FindPNG-static-dep-m'
ad41c98cbb FindPNG: add 'm' dependencies to static lib on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4096
2019-12-05 11:42:33 -05:00
Brad King
158839f0db Merge topic 'FindThreads-lib-flag' into release-3.16
f7ffefea7c FindThreads: Restore hard-coded '-l' flag on library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4112
2019-12-05 11:40:35 -05:00
Brad King
625b120572 Merge topic 'FindThreads-lib-flag'
f7ffefea7c FindThreads: Restore hard-coded '-l' flag on library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4112
2019-12-05 11:40:35 -05:00
Brad King
a795aa145c Merge topic 'pch-xcode-no-warning'
df8372da09 PCH: Do not add #pragma system_header for Xcode generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4098
2019-12-05 11:39:24 -05:00
Eisuke Kawashima
85f4d580c9 FindBLAS: Search for libblas from ATLAS vendor
Symbols such as `cblas_ccopy` are defined in `libblas.a` but NOT IN
`libf77blas.a`.

Fixes: #14320
2019-12-04 14:53:40 -05:00
Brad King
f55593a607 Merge topic 'ninja-tool'
feb5cb8d9d Ninja: Prefer first ninja tool available in PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4091
2019-12-04 14:18:23 -05:00
Brad King
73848a75e8 Merge topic 'cuda_lang_specifies_cmake_library_arch'
974220b714 CUDA: persist CMAKE_LIBRARY_ARCHITECTURE and CUDA version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4090
2019-12-04 14:17:37 -05:00
Brad King
f7ffefea7c FindThreads: Restore hard-coded '-l' flag on library name
Revert commit de5f123d3a (FindThreads: Do not hard-code '-l' flag on
library name, 2019-09-23, v3.16.0-rc1~71^2).  Some clients depend
on the value of `CMAKE_THREAD_LIBS_INIT` to contain a valid flag.

Fixes: #20061, #20065
2019-12-04 13:58:44 -05:00
Cristian Adam
df8372da09 PCH: Do not add #pragma system_header for Xcode generator
Fixes: #20039
2019-12-04 12:56:53 -05:00
Hugo Beauzée-Luyssen
f92a4b2399 FindPkgConfig: Fix path manipulations when cross compiling
When cross compiling from a unix machine, if(UNIX) is false,
whih causes the path not to be fixed for unix, leading to false
negative if PKG_CONFIG_PATH needs to be probed
2019-12-02 16:47:04 +01:00
Robert Maynard
5341f5e4a1 CUDA: get header deps from compiler invocation when possible
Before CUDA 10.2 `nvcc` didn't support providing header dependency
information while compiling.
2019-11-29 14:21:35 -05:00
Robert Maynard
7f15c99851 CUDA: forward unknown flags to host compiler when possible.
Starting with CUDA 10.2 the nvcc compiler has gained support
to automatically forward unknown flags to the host compiler.

This behavior is highly desired as projcts that mix CUDA, C, C++
run into situation where flags such as `-pthread` which aren't
supported by nvcc, are being applied to all source files and
therefore break CUDA compilation.
2019-11-29 14:21:35 -05:00
David Callu
ad41c98cbb FindPNG: add 'm' dependencies to static lib on Linux 2019-11-28 12:15:20 +01:00
Brad King
feb5cb8d9d Ninja: Prefer first ninja tool available in PATH
We search for tools `ninja-build`, `ninja`, and `samu` as the build tool
for the Ninja generator.  Re-order the search to prefer whichever tool
appears first in the `PATH`.  This makes it easier for users to control
which tool gets used when more than one is available.

Fixes: #20028
2019-11-26 11:20:15 -05:00
Brad King
797e55a5ef Merge topic 'xlf-ninja'
19f267c75e XL: Add support for Ninja and XL Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4075
2019-11-26 09:14:33 -05:00
Brad King
8db38cfe33 Merge topic 'implicit-includes-extra-CR' into release-3.16
6d84afc7f2 Merge branch 'backport-implicit-includes-extra-CR' into implicit-includes-extra-CR
4b46523d90 CMakeParseImplicitIncludeInfo: Remove all CR chars from compiler output
2a5e5b25ba CMake 3.15.5
08173075c1 Merge branch 'doc-genex-tweak' into release-3.15
83dbef1135 Merge branch 'InstallRequiredSystemLibraries-redist' into release-3.15
881bca249d Merge branch 'vs-v142-csharp-flags' into release-3.15
dec3e9363e Merge branch 'backport-vs-16.4-global-targets' into release-3.15
ac1a1bf18b VS: Tell VS 16.4 not to verify CMake-provided custom command outputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4088
2019-11-26 09:02:40 -05:00
Brad King
78a85fd069 Merge topic 'implicit-includes-extra-CR'
6d84afc7f2 Merge branch 'backport-implicit-includes-extra-CR' into implicit-includes-extra-CR
4b46523d90 CMakeParseImplicitIncludeInfo: Remove all CR chars from compiler output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4088
2019-11-26 09:02:40 -05:00
Brad King
6d84afc7f2 Merge branch 'backport-implicit-includes-extra-CR' into implicit-includes-extra-CR 2019-11-26 09:00:38 -05:00
Brad King
5c49f82a2d Merge topic 'FindODBC-mingw'
cb8042b0ab FindODBC: Add library name for MinGW toolchains

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4076
2019-11-26 08:56:33 -05:00
Brad King
0cb043390b Merge topic 'FindODBC-mingw' into release-3.16
cb8042b0ab FindODBC: Add library name for MinGW toolchains

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4076
2019-11-26 08:56:32 -05:00
Robert Maynard
974220b714 CUDA: persist CMAKE_LIBRARY_ARCHITECTURE and CUDA version
The CUDA language failed to persist CMAKE_CUDA_LIBRARY_ARCHITECTURE
and CMAKE_LIBRARY_ARCHITECTURE, causing find_ calls to fail when
the only enabled language was CUDA.
2019-11-26 08:50:25 -05:00
Brad King
4b46523d90 CMakeParseImplicitIncludeInfo: Remove all CR chars from compiler output
With Clang/LLVM on MinGW, lines ending in `\r\r\n` have been observed.
Filter out all `\r` characters from these line endings.

Fixes: #20021
2019-11-25 14:32:02 -05:00
Cristian Adam
cb8042b0ab FindODBC: Add library name for MinGW toolchains
Fixes: #20018
2019-11-25 13:55:51 -05:00
Brad King
db3d3ab4fb Merge topic 'FindwxWidgets-rel-and-dbg'
a5bb08a8c0 FindwxWidgets: Fix finding both release and debug libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4079
2019-11-25 09:38:07 -05:00
Brad King
a5bb08a8c0 FindwxWidgets: Fix finding both release and debug libs
In commit fe54989fcd (FindwxWidgets: Add support for wxQt, 2019-11-12,
v3.16.0-rc4~12^2~1) the internal `WX_FIND_LIBS` macro gained an argument
but not all call sites were updated.  Update the missing one now.

Fixes: #20005
2019-11-22 11:03:33 -05:00
Brad King
19f267c75e XL: Add support for Ninja and XL Fortran
The Ninja generator's support for Fortran requires that source files
be preprocessed explicitly first.  However, the `xlf` compiler does
not have a simple `-E` option or equivalent to do preprocessing.
The only documented way to get preprocessed output is to use `-d`
to leave it behind, but only at an inflexible location.

Instead, create our own `cpp` wrapper script and substitute it for the
real preprocessor using `-tF -B ...`.  Teach the wrapper to map the
`cpp` output to the location we need and then invoke the real `cpp`
underneath.

Fixes: #19450
2019-11-21 15:59:12 -05:00
Brad King
0b14c3fded Merge topic 'FindMPI-improve-error'
e221039e11 FindMPI: Improve error when a component's language is not enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4071
2019-11-21 11:05:52 -05:00
Brad King
96820562c6 Merge topic 'UseJava-javadoc-classpath-separator'
8d47b97a69 UseJava: Use correct path separator in javadoc
1b27ac78ac UseJava: Use list(APPEND) to simplify javadoc option construction
c7a4b1a58e UseJava: Extract the path separator to module level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3967
2019-11-21 11:05:03 -05:00
Brad King
d2f859f151 Merge topic 'ExternalProject-list-sep-in-cache'
46de38dae2 ExternalProject: replace LIST_SEPARATOR in initial cache files too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4070
2019-11-21 11:04:03 -05:00
Brad King
905b7759ad Merge topic 'FindwxWidgets-qt-debug'
84408ff402 FindwxWidgets: Find wxQt debug libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4069
2019-11-21 11:00:33 -05:00
Nathan Burles
8d47b97a69 UseJava: Use correct path separator in javadoc
For both classpath and sourcepath.
2019-11-20 10:38:44 -05:00
Nathan Burles
1b27ac78ac UseJava: Use list(APPEND) to simplify javadoc option construction 2019-11-20 10:38:44 -05:00
Nathan Burles
c7a4b1a58e UseJava: Extract the path separator to module level
It is currently only defined within the add_jar function, but is needed
inside other functions in this module.
2019-11-20 10:38:44 -05:00
Keith Ballard
e221039e11 FindMPI: Improve error when a component's language is not enabled
Previously, if a CMake project requests a component for a language that is
not enabled, it would simply give an error with the message

    Could NOT find MPI (missing: MPI_${LANG}_FOUND)

which is not indicative that the language was not enabled.  This change
provides an error message indicating that it failed to find the
particular MPI component because no compiler was available for the
language and the language might need to be enabled for the project.

Closes: #19996
2019-11-20 10:23:33 -05:00
Craig Sturdy
84408ff402 FindwxWidgets: Find wxQt debug libraries
Extend the change from commit fe54989fcd (FindwxWidgets: Add support for
wxQt, 2019-11-12, v3.16.0-rc4~12^2~1) to also find debug-enabled libs.
2019-11-20 10:06:15 -05:00
Ben Boeckel
46de38dae2 ExternalProject: replace LIST_SEPARATOR in initial cache files too 2019-11-20 09:21:46 -05:00
Brad King
5aa94a1d0d Merge topic 'sdcc-sdar'
5cf404d36f SDCC compiler: use sdar instead of sdcclib as librarian for recent versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4065
2019-11-19 11:28:13 -05:00