Commit Graph

10396 Commits

Author SHA1 Message Date
Alekseev Alexey
65c1320719 Compiler/TI: Fix C++ toolchain command-lines
Applied commit 5a0fc68312 (TI: Fix C toolchain command-lines, 2020-03-03) for C++:
Fix `armar` arguments.  Fix the linker `--map_file=` argument.
Enable response files.
2020-04-18 12:12:20 +03:00
Alekseev Alexey
4110d9dffb Compiler/TI: Fix linker command line for C++
Just like C, libraries must be in the last part of the linker.
Commit 89317915d9 (Compiler/TI: Pass libraries as last part to linker, 2016-06-02)
2020-04-18 12:12:20 +03:00
Brad King
ea2f95f4b9 Merge topic 'ios_multi_arch_fix'
170e598add iOS: Fix detection of supported SDK architectures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Merge-request: !4615
2020-04-17 08:07:29 -04:00
Brad King
d601a2c75c Merge topic 'FindPython-dev-subcomponents'
c1b4044d3e FindPython: add sub-components to Development component

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4616
2020-04-17 08:05:39 -04:00
Brad King
7e8df1bb24 Merge topic 'cuda_architectures'
21131ca60c CUDA: Add CudaOnly.CompileFlags test
f0931b0790 CUDA: Convert tests to use CUDA_ARCHITECTURES
e98588aaba CUDA: Add CUDA_ARCHITECTURES target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Patrick Stotko <stotko@cs.uni-bonn.de>
Merge-request: !4568
2020-04-16 11:11:33 -04:00
Marc Chevrier
c1b4044d3e FindPython: add sub-components to Development component
Fixes: #20425
2020-04-16 14:38:39 +02:00
Alexandru Croitor
170e598add iOS: Fix detection of supported SDK architectures
Instead of relying on SDKSettings.plist which does not contain the
certain architectures, deduce the supported architectures by
inspecting libSystem.tbd and libSystem.dylib.

.tbd files are text files, so just parse out the archs string.
.dylib files can be fat or non-fat, so use lipo -info to extract
the architectures and parse lipo output.

Fixes: #20588
2020-04-16 07:51:03 -04:00
Raul Tambre
e98588aaba CUDA: Add CUDA_ARCHITECTURES target property
Simplifies CUDA target architecture handling.

Required for Clang support as Clang doesn't automatically select a supported architecture.
We detect a supported architecture during compiler identification and set CMAKE_CUDA_ARCHITECTURES to it.

Introduces CMP0104 for backwards compatibility with manually setting code generation flags with NVCC.

Implements #17963.
2020-04-15 17:55:41 +03:00
Brad King
5e70315fa8 Merge topic 'support_pseudo_sysroots'
8cc384f629 Compilers: Add paths from -print-sysroot to system prefix path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4585
2020-04-15 09:53:08 -04:00
Brad King
4f7d16c68f Merge topic 'cpack-nsis-dpi-aware'
d6840a4f3c CPack/NSIS: Add option for setting DPI-aware

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4607
2020-04-15 09:50:49 -04:00
Brad King
0a6b715c5c Merge topic 'CMakePrintSystemInformation-processor'
06e2c54115 CMakePrintSystemInformation: Add CMAKE_SYSTEM_PROCESSOR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4608
2020-04-15 09:42:41 -04:00
Brad King
d561898572 Merge topic 'FindPython-if-auto-deref'
894fdea2a9 FindPython: remove extra dereference
0b9c9e2c8c FindPython: avoid autoderef in version comparisons

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4610
2020-04-15 09:38:03 -04:00
Brad King
d93ce24b0f Merge topic 'FindCUDAToolkit-search-stubs'
4f1e24efa0 FindCUDAToolkit searches stub location last

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4589
2020-04-15 09:36:25 -04:00
Robert Maynard
8cc384f629 Compilers: Add paths from -print-sysroot to system prefix path 2020-04-14 13:48:28 -04:00
Ben Boeckel
894fdea2a9 FindPython: remove extra dereference
If the version is not found (e.g., missing headers), this causes a CMake
error about `if(blah VERSION_EQUAL)` being an invalid statement.
2020-04-14 11:03:35 -04:00
Ben Boeckel
0b9c9e2c8c FindPython: avoid autoderef in version comparisons 2020-04-14 11:03:35 -04:00
Jiri Malak
06e2c54115 CMakePrintSystemInformation: Add CMAKE_SYSTEM_PROCESSOR 2020-04-14 09:48:50 -04:00
Robert Maynard
4f1e24efa0 FindCUDAToolkit searches stub location last
Fixes #20252
2020-04-14 09:39:46 -04:00
Brad King
ce9777c62f Merge topic 'UseJava-quoting'
01d5b888a3 UseJava: Quote -classpath argument correctly on more platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !4597
2020-04-14 09:39:37 -04:00
Johnny Jazeix
d6840a4f3c CPack/NSIS: Add option for setting DPI-aware
See https://nsis.sourceforge.io/Reference/ManifestDPIAware
for more information.

Fixes: #17724
2020-04-14 13:47:49 +02:00
Brad King
adc58e9612 Merge topic 'FindMPI-pgi-spectrum-mpi-wrappers'
cd449c6175 FindMPI: Add the pgi compiler wrapper names used by IBM Spectrum MPI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4598
2020-04-13 10:57:23 -04:00
Brad King
b30e5fd972 Merge topic 'clang_cuda_prep'
d86fcc6359 CUDAToolkit: Deduce toolkit binary directory from compiler path only for NVCC
87e98bf8be CUDA: Forward CMAKE_CUDA_COMPILER_TARGET in try_compile()
60e60b9201 GNU: Disable depfiles in try-compile mode only for GCC
5f02add366 CUDA: Refactor PTX compilation flag into compiler modules
25439c7d62 Clang: Refactor CXX standard flags into __compiler_clang_cxx_standards()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4567
2020-04-13 10:46:12 -04:00
Marc Chevrier
525c730afe Help: FindPython: fix typos and add some clarifications 2020-04-11 12:57:23 +02:00
Chuck Atkins
cd449c6175 FindMPI: Add the pgi compiler wrapper names used by IBM Spectrum MPI 2020-04-10 12:01:59 -04:00
Brad King
7e302b6438 Merge topic 'openal-typo'
dab57d3f5f FindOpenAL: Fix documentation typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4596
2020-04-10 11:05:37 -04:00
Brad King
01d5b888a3 UseJava: Quote -classpath argument correctly on more platforms
Add the `VERBATIM` option to our `add_custom_command` calls so that all
arguments are correctly escaped for the shell.  Otherwise when using a
POSIX shell on Windows, the `-classpath` separator is `;` and without
quoting ends the command.

Fixes: #20567
Inspired-by: Nevyn Bengtsson <nevyn.jpg@gmail.com>
2020-04-10 10:59:30 -04:00
Nguyễn Gia Phong
dab57d3f5f FindOpenAL: Fix documentation typos 2020-04-10 20:49:10 +07:00
Brad King
35eb021942 Merge topic 'FindBLAS_FindLAPACK_ArmPL'
14ffa6e90e Find{BLAS,LAPACK}: Add support for ArmPL targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4502
2020-04-10 09:47:29 -04:00
Brad King
6c737b273a Merge topic 'googletest-skipped'
89a843d6ea GoogleTest: Add testcase for skipped tests
98868dad1c GoogleTest: Add support for skipped tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4586
2020-04-10 09:46:14 -04:00
Alexander Stein
98868dad1c GoogleTest: Add support for skipped tests
Skipped tests are currently reported as successful. Using
SKIP_REGULAR_EXPRESSION on googletest's output prefix, skipped tests can
be detected and accounted accordingly.
Using SKIP_RETURN_CODE is not possible, googletests exit code is not
affected by skipped tests.

Fixes: #19669
2020-04-10 09:43:26 -04:00
Olly Perks
14ffa6e90e Find{BLAS,LAPACK}: Add support for ArmPL targets
Add support for the Arm Performance Libraries (ArmPL) which provide an
implementation of BLAS, LAPACK and FFTW for use on Arm Linux systems:

    https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/arm-performance-libraries
2020-04-09 11:55:04 -04:00
Brad King
e2a1b463a9 Merge topic 'CTestCoverageCollectGCOV-log'
5b12fe4633 CTestCoverageCollectGCOV: Avoid capturing gcov output in QUIET mode
43aaf2ac1e CTestCoverageCollectGCOV: Capture gcov output in log file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4582
2020-04-09 08:29:12 -04:00
Brad King
5b12fe4633 CTestCoverageCollectGCOV: Avoid capturing gcov output in QUIET mode
The `QUIET` mode suppresses any mention of our logged output, so do not
bother logging it.  This also provides a way for users to avoid saving
possibly large output on disk.

Fixes: #20554
2020-04-08 13:53:36 -04:00
Brad King
43aaf2ac1e CTestCoverageCollectGCOV: Capture gcov output in log file
The output of gcov can be large and we only display it in a failure
case.  Put it in a log file to avoid accumulating large output in
memory.

Issue: #20554
2020-04-08 13:52:37 -04:00
Brad King
da25220d83 Merge branch 'backport-3.17-apple-arch-sysroots' into apple-arch-sysroots 2020-04-08 13:44:42 -04:00
Brad King
45fa9b32ca Apple: Improve handling of missing SDKs in CMAKE_APPLE_ARCH_SYSROOTS
Use `<arch>-SDK-NOTFOUND` instead of an empty string as a placeholder in
`CMAKE_APPLE_ARCH_SYSROOTS` for architectures whose SDK is not found.
This ensures the length of `CMAKE_APPLE_ARCH_SYSROOTS` matches the
length of `CMAKE_OSX_ARCHITECTURES`.  It also makes the missing SDKs
more visible in the value.

Issue: #20534
2020-04-08 11:51:02 -04:00
Raul Tambre
d86fcc6359 CUDAToolkit: Deduce toolkit binary directory from compiler path only for NVCC
This assumption doesn't hold for Clang.
When crosscompiling this causes X86 libraries to be used and thus linker errors.
2020-04-07 09:33:26 -04:00
Raul Tambre
60e60b9201 GNU: Disable depfiles in try-compile mode only for GCC
Disabling them causes issues for Clang's CUDA frontend.
Since this is a GCC bug, simply check for GCC.
2020-04-07 09:33:25 -04:00
Raul Tambre
5f02add366 CUDA: Refactor PTX compilation flag into compiler modules 2020-04-07 09:33:25 -04:00
Raul Tambre
25439c7d62 Clang: Refactor CXX standard flags into __compiler_clang_cxx_standards()
These standard flags are the same for CXX, OBJCXX and CUDA.
Refactor them into a single macro to reduce duplication and so we can easily reuse them.

Updated bootstrap script to search in the general Clang module instead of the language-specific.
2020-04-07 09:33:09 -04:00
Brad King
c0438d272d Merge topic 'llvm-rc-include-path'
35a29ec827 llvm-rc: Restore include path for data after explicit preprocessing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4570
2020-04-07 08:00:45 -04:00
Brad King
3d61ff7b10 Merge topic 'llvm-rc-include-path' into release-3.17
35a29ec827 llvm-rc: Restore include path for data after explicit preprocessing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4570
2020-04-07 08:00:44 -04:00
Brad King
a4c873fc5d Merge topic 'UseJava-clean-stale'
4559eb490a UseJava: clean class files from previous builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !4381
2020-04-07 07:58:30 -04:00
Thomas Bernard
35a29ec827 llvm-rc: Restore include path for data after explicit preprocessing
Since commit 1c2d031cbd (Add -E cmake_llvm_rc to preprocess files for
llvm-rc, 2020-01-14, v3.17.0-rc1~24^2) with llvm-rc we explicitly
preprocess RC source files and then compile separately without -I flags.
This broke cases where the RC source references data files adjacent to
itself or in the include path.

This change adds the expansion of the include paths when calling the
llvm-rc in order for the resource files to be picked up correctly by
llvm-rc.  Since the RC compiled file is first preprocessed, the file
being compiled by llvm-rc resides in the build directory. In order for
llvm-rc to find the resource data specified relative to the .rc file
being compiled, the source file path is preppended in the include list
so that the original source path takes priority over all the other
includes paths specified.

A space was added in the CMAKE_INCLUDE_FLAG_RC to make the include
directive work properly for llvm-rc. Checks on the rc.exe showed that
the syntax change doesn't affect it's proper operation.

Fixes: #20529
2020-04-06 21:19:12 +02:00
Alexey Karndshev
4559eb490a UseJava: clean class files from previous builds
If java_class_filelist exists, remove previous class files before building the
new ones. If java_sources content has changed, clean and rebuild the class
files of the target.

Fixes: #20377
2020-04-06 16:58:10 +02:00
Brad King
c18c781cb5 Merge topic 'externalproject-patch-update-order'
7249ba9677 ExternalProject: Enforce that patch depends on update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4565
2020-04-06 08:30:04 -04:00
Craig Scott
7249ba9677 ExternalProject: Enforce that patch depends on update
Fixes: #17229
2020-04-03 22:48:44 +11:00
Craig Scott
0331092ce6 FetchContent: Add support for DOWNLOAD_NO_EXTRACT
Fixes: #20526
2020-04-03 22:05:55 +11:00
Brad King
11998c63fd Merge topic 'ExternalProject-no-extract-bool' into release-3.17
2c4bb705e8 ExternalProject: allow `DOWNLOAD_NO_EXTRACT OFF`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4562
2020-04-03 06:58:22 -04:00
Brad King
e141c9dc15 Merge topic 'ExternalProject-no-extract-bool'
2c4bb705e8 ExternalProject: allow `DOWNLOAD_NO_EXTRACT OFF`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4562
2020-04-03 06:58:22 -04:00