Commit Graph

10165 Commits

Author SHA1 Message Date
Brad King 8a7c485d3f Merge topic 'FindCUDA-no-threads-target' into release-3.17
b9d67447c3 FindCUDA: Only depend on Threads::Threads on platforms that need it

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4377
2020-02-25 08:58:17 -05:00
Brad King 3a6481670f Merge topic 'FindPkgConfig-scope' into release-3.17
c3e0d1ffe9 FindPkgConfig: set policies CMP0054 and CMP0057 to new

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4388
2020-02-25 08:55:49 -05:00
Brad King 1d338dcf46 Merge topic 'cuda-non-device-link' into release-3.17
7da2c8c543 Merge branch 'backport-cuda-non-device-link'
738f3f23aa Ninja: Do not use nvcc response files with non-nvcc tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !4376
2020-02-25 08:54:45 -05:00
Robert Maynard b9d67447c3 FindCUDA: Only depend on Threads::Threads on platforms that need it
In commit 46371132b3 (FindCUDA: CUDA_LIBRARIES doesn't contain raw
`-pthread`, 2019-11-11, v3.17.0-rc1~455^2) we introduced use of the
`Threads::Threads` target, but we do not `find_package(Threads)` on all
platforms.  Use the target only if it exists.
2020-02-24 14:14:38 -05:00
Brad King 7da2c8c543 Merge branch 'backport-cuda-non-device-link' 2020-02-24 13:34:13 -05:00
Francisco Facioni 738f3f23aa Ninja: Do not use nvcc response files with non-nvcc tools
Since commit d91b5a72cd (Ninja: Add support for CUDA nvcc response
files, 2019-05-30, v3.15.0-rc1~8^2) we use NVCC's `--options-file`
option to avoid long link command lines via a response file.  However,
for non-device linking the host tools are used and the option does not
make sense.  Update the logic to use `--options-file` only for device
linking.  Linking with the host tools already has its own logic for
response files.

Fixes: #19954
2020-02-24 13:31:33 -05:00
Brad King 8d6ea4401c Merge topic 'pch-create-via-include' into release-3.17
5c6d6ec27c PCH: Clang: Update PCH usage flags to include original header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4360
2020-02-24 13:12:08 -05:00
Sergey Larin 5c6d6ec27c PCH: Clang: Update PCH usage flags to include original header
Add an additional include flag to PCH usage command line to fix programs
that rely on `compile_commands.json` file. Pass it to the preprocessor
directly to avoid compiler driver to change it to '-include-pch'.

When preprocessor is requested to preprocess a file, it tries to get
the original filename from '.pch' and uses that file for preprocessing.
CMake generates a '.pch' file from the '.hxx' file by passing an empty
'.cxx' source file to the compiler as a compilation unit and the header
file with the '-include' flag. After that, compiler puts compilation
unit filename in the '.pch' as the original filename.

However, CMake build system uses empty file as the source file and
passes the header file using '-include-pch' flag. As a result, Clang
uses the wrong file for preprocessing and produces the corrupted
preprocessed file.

Fixes: #20355
Signed-off-by: Sergey Larin <cerg2010cerg2010@mail.ru>
2020-02-24 10:53:39 -05:00
Rolf Eike Beer c3e0d1ffe9 FindPkgConfig: set policies CMP0054 and CMP0057 to new
One may encounter warnings if FindPkgConfig is used in any project, even
indirectly, that has set any of these policies to old explicitely or requires
an older version.
2020-02-24 16:42:34 +01:00
Brad King 77b537cc35 Merge topic 'swift-exe-rpath' into release-3.17
321df5783d Swift: support `-rpath` for executables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4365
2020-02-18 11:21:46 -05:00
Saleem Abdulrasool 321df5783d Swift: support -rpath for executables
This adjusts the flags to enable setting the RPATH for executables.
2020-02-17 11:07:40 -05:00
Brad King bf718ccd60 Merge topic 'git-config-with-spaces' into release-3.17
ef3194a6f8 ExternalProject: Quote each git --config option to handle spaces
40d1d29cfa Tests: Add missing ExternalProject smoke tests
afc8956765 Tests: Fix test_clean target missing some test directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4364
2020-02-17 10:39:46 -05:00
Craig Scott ef3194a6f8 ExternalProject: Quote each git --config option to handle spaces
Fixes: #20354
2020-02-15 13:23:56 +11:00
Brad King c5d7c29137 Help: Replace UTF-8 apostrophe with ascii apostrophe
Also replace UTF-8 graphical characters with simple dashes.

Fixes: #20349
2020-02-12 14:37:41 -05:00
Brad King 6f2464b2ed Merge topic 'doc-cpack' into release-3.17
3af0b33ec6 Help: module CPack: Make internal hyperlink target more unique

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4353
2020-02-12 10:32:05 -05:00
Brad King 3af0b33ec6 Help: module CPack: Make internal hyperlink target more unique
We already have a `.. _targets:` in `Help/command/install.rst`.
2020-02-12 10:28:10 -05:00
Brad King 9c9ed28088 Merge topic 'doc-cpack' into release-3.17
59e9f33d78 Help: module CPack: New section on targets.
f33708eed9 Help: module CPack: add cross-reference to cpack-generators(7).
4949e1261a Help: module CPack. Explain usage of the build targets.
72eaeb41f5 Help: module CPack: correction: 2 config files are generated, not just 1
c35a9ff9c3 Help: CPack module: Correct the summary (configure, not build)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4352
2020-02-12 10:01:40 -05:00
Joachim Wuttke (o) 59e9f33d78 Help: module CPack: New section on targets.
To explain in full detail to what extent the targets package and
package_source are supported by different generators.
2020-02-12 09:49:26 -05:00
Brad King 42f77c7f69 Merge topic 'PrintSystemInformation' into release-3.17
1e9328a00d Help: CMakePrintSystemInformation.cmake: Minor corrections.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4351
2020-02-12 09:36:12 -05:00
Brad King 9fc86efe4a Merge topic 'cpack-ifw-qt-links' into release-3.17
e240371ab1 Help: CPackIFWGenerator: explain relation to CPackIWF
78779c6111 Help: Show external link only once per page; explain abbreviation QtIFW.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4348
2020-02-12 09:35:22 -05:00
Joachim Wuttke (o) f33708eed9 Help: module CPack: add cross-reference to cpack-generators(7). 2020-02-12 13:37:15 +01:00
Joachim Wuttke (o) 4949e1261a Help: module CPack. Explain usage of the build targets.
Explain the usage of the two new build targets, package and
package_source.
2020-02-12 13:23:08 +01:00
Joachim Wuttke (o) 72eaeb41f5 Help: module CPack: correction: 2 config files are generated, not just 1
Besides CPackConfig.cmake, the module also generates CPackSourceConfig.cmake.
2020-02-12 13:22:51 +01:00
Joachim Wuttke (o) c35a9ff9c3 Help: CPack module: Correct the summary (configure, not build)
Including CPack does not "build" installers.
It just *configures* them.
2020-02-12 12:37:48 +01:00
Joachim Wuttke (o) 1e9328a00d Help: CMakePrintSystemInformation.cmake: Minor corrections.
Punctuation.
"file" -> "module"
2020-02-12 12:34:08 +01:00
Joachim Wuttke (o) e240371ab1 Help: CPackIFWGenerator: explain relation to CPackIWF
* Make overview more focussed
* Explain the relation to CPackIFW
2020-02-11 10:47:26 -05:00
Joachim Wuttke (o) 78779c6111 Help: Show external link only once per page; explain abbreviation QtIFW. 2020-02-11 10:47:26 -05:00
Brad King a55d0c11d6 Merge topic 'ExternalProject-submodules-recurse' into release-3.17
0ba8010255 ExternalProject: Fix git submodule recursion on update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4346
2020-02-11 08:26:35 -05:00
Brad King 00cd7269e1 Merge topic 'FindOpenMP-clang-windows' into release-3.17
ceb5ee4a7b FindOpenMP: Add support for Clang on Windows
2dbff623f9 FindOpenMP: Save flags/libs in cache entries each time they are detected

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4327
2020-02-11 08:22:49 -05:00
Brad King bdd4fb32ad Merge topic 'FindPython-reduce-resources-comsumption' into release-3.17
3dab4682f6 FindPython: reduces consumption of resources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4338
2020-02-11 08:21:06 -05:00
Brad King 8e39e0c3e3 Merge topic 'swift-no-sdk-include' into release-3.17
5c2a92f44f Swift: Exclude SDK include paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4315
2020-02-11 08:20:03 -05:00
Brad King 783f4720f5 Merge topic 'FindMPI-fix-rerun' into release-3.17
b4d5ea8233 FindMPI: Preserve order of include directories on re-runs of CMake
8261ee3a9c FindMPI: Restore re-construction of include directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4341
2020-02-11 08:17:45 -05:00
Charis Marangos 0ba8010255 ExternalProject: Fix git submodule recursion on update
In commit 5bc6230741 (ExternalProject: Option to turn off recursive
update of git submodules, 2019-10-16) we implemented the feature in the
clone script written by `_ep_write_gitclone_script` but not in the
update script written by `_ep_write_gitupdate_script`.  Implement the
latter by factoring out a common helper to use in both places.

Fixes: #20335
2020-02-11 10:14:42 +11:00
Tim Hutton ceb5ee4a7b FindOpenMP: Add support for Clang on Windows
Fixes: #19404
2020-02-10 17:20:19 -05:00
Tim Hutton 2dbff623f9 FindOpenMP: Save flags/libs in cache entries each time they are detected 2020-02-10 17:20:19 -05:00
Brad King b4d5ea8233 FindMPI: Preserve order of include directories on re-runs of CMake
The fix in commit 5861c6d450 (FindMPI: Preserve include order when
extracting component directories, 2019-12-19) only works on the first
run of CMake in which we find MPI.  Extend the fix to save the compiler
wrapper's entire include path in our cache without splitting anything
out.  That way we can preserve the order when CMake re-runs.

Fixes: #20338
2020-02-10 11:14:42 -05:00
Brad King 8261ee3a9c FindMPI: Restore re-construction of include directories
The fix in commit 5861c6d450 (FindMPI: Preserve include order when
extracting component directories, 2019-12-19) only works on the first
run of CMake in which we find MPI.  It preserves the include directories
on the first run but still splits them up and saves the pieces in the
cache.  On future runs the pieces are not re-assembled, and we do not
know the order anyway.

Restore the re-assembly step so that at least all the include dirs are
available.  Leave preservation of the original order to later work.

Issue: #20338
2020-02-10 11:10:29 -05:00
Yauheni Khnykin 5c2a92f44f Swift: Exclude SDK include paths
Populate `CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES` with the macOS SDK's
include directory so that we filter such implicit directories out of
Swift targets.

Fixes: #19845
2020-02-10 10:32:37 -05:00
Marc Chevrier 3dab4682f6 FindPython: reduces consumption of resources
Stores more information in the cache to reduce the number
of sub-processes required on subsequent find_package calls.

Fixes: #20337
2020-02-10 12:41:04 +01:00
Robert Maynard 27b0d908d4 CUDAToolkit: Add support for cupti library
Fixes: #20318
2020-02-06 09:41:24 -05:00
Robert Maynard c3d7f2e43b CUDAToolkit: Correct location of OpenCL doc link 2020-02-06 09:40:30 -05:00
Brad King 94be195a54 Merge topic 'llvm-rc-preprocess'
1c2d031cbd Add -E cmake_llvm_rc to preprocess files for llvm-rc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4219
2020-02-05 09:10:16 -05:00
Brad King b27004231d Merge topic 'sdcc-no-default-target'
18d2e6fc8f SDCC: Remove default flags for a specific target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4321
2020-02-05 09:08:13 -05:00
Brad King 28013c9434 Merge topic 'cuda_remove_toolkit_dirs_from_implicit_includes'
87df637078 CUDA: Do not treat CUDA toolkit include directories as implicit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4317
2020-02-04 08:30:12 -05:00
Brad King 37af0fac54 Merge topic 'compiler-abi-no-Werror'
d5895f50c3 CMakeDetermineCompilerABI: Avoid failing on warnings with -Werror

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4316
2020-02-04 08:29:30 -05:00
Brad King 451ce7e410 Merge topic 'swift-exe-exports'
1e26d57188 Ninja: properly handle exports from Swift exes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4314
2020-02-04 08:27:49 -05:00
Brad King a8bcfddb2b Merge topic 'android-ndk-r19-binutils'
e3d3b7ddeb Android: Fix binutils selection with NDK r19+ unified toolchain

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4318
2020-02-04 08:26:40 -05:00
Brad King 24d57c2257 Merge topic 'android-ndk-r19-binutils' into release-3.16
e3d3b7ddeb Android: Fix binutils selection with NDK r19+ unified toolchain

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4318
2020-02-04 08:26:39 -05:00
Thomas Bernard 1c2d031cbd Add -E cmake_llvm_rc to preprocess files for llvm-rc
llvm-rc requires preprocessed rc files. The CMake command line tool
cmake_llvm_rc enables channing the preprocessor call and the resource
compiler and make this appear as single compilation step.

When llvm-rc is detected as resource compiler, the RC compilation step
is set to use this command.
2020-02-04 08:19:12 -05:00
fruit 18d2e6fc8f SDCC: Remove default flags for a specific target
Remove defaults for a specific target (8051) because they are incorrect
for other targets.

Fixes: #20308
2020-02-04 07:25:24 -05:00