This fixes the following two issues with the CUDA support on QNX:
* cuda target name is not derived correctly (should be `aarch64-qnx`).
* linking `cudart` must not be linked against `rt`, `dl`, `pthread`.
This enables to use cmake's native cuda support on QNX.
Fixes: #21381
For NVCC the compiler takes care of device linking when passed the "-dlink"
flag.
Clang doesn't support such magic and requires the buildsystem to do the work
that NVCC does behind the scenes.
The implementation is based on Bazel's device linking documentation:
7cabcdf073/third_party/nccl/build_defs.bzl.tpl (L259)Closes: #20726
The TI compiler does not support C++98, only C++03
(based on manual of current version).
This change sets the C++98 option to C++03 based on the fact that it
is done this way for the SunPro compiler already.
- The compile option variable has to be defined as list.
- The compiler works in relaxed ANSI mode by default.
Strict ANSI has to be explicitly set additionally to the
language standard.
In commit a548a52230 (Compiler/TI: Refactor C/CXX to use a common file,
2020-07-11) a variable named `prefix` has been introduced.
It is set in the callers namespace because it was defined inside a
macro, not a function.
Avoid such generic variable name.
Adds PCH_INSTANTIATE_TEMPLATES target property for enabling template
instantiation in precompiled headers.
Enabled by default. Currently only supported for Clang 11 and newer.
Implements #21133.
5ece12b7e4 gitlab-ci: add ISPC to the Fedora CI image
8976817d6d ISPC: Update help documentation to include ISPC
2368f46ba4 ISPC: Support building with the MSVC toolchain
e783bf8aa6 ISPC: Support ISPC header generation byproducts and parallel builds
34cc6acc81 Add ISPC compiler support to CMake
419d70d490 Refactor some swift only logic to be re-used by other languages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5065
Since commit 9b97cb5562 (PGI: Add language standards for PGI,
2017-05-01, v3.9.0-rc1~174^2), we have passed the `-A` flag to
the PGI C++ compiler when specifying a C++ standard flag with
compiler extensions turned off. The flag is not meant for that.
The PGI C++ standard flags do not turn extensions on by default
and have a separate `--gnu_extensions` flag for that which we
already use when CXX_EXTENSIONS is ON. Simply drop the `-A` flag.
Fixes: #20997
The object and library files have to be listed after the `--run-linker`
flag.
But after this flag the `--cmd_file` flag for response files cannot be
used any more.
Putting the whole command line into a response file would work, but
this is not supported by CMake (yet).
By adding the compiler flags via `<FLAGS>` to the linker call,
the linker can decide which default library to use.
CMake replaces `<FLAGS>` by the content of `CMAKE_<LANG>_FLAGS`.
So any relevant flag needs to be defined in this variable, preferably
in a toolchain file.
The compiler flags have to be specified before the `--run_linker`
flag and the linker flags afterwards.
Replaces Merge-request !4890
b365385d66 Clang: Record Clang 6.0+ as fully supporting C++17
5d26efe38f Clang: Add final C++20 flag for Clang 11.0+
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4887
74b1c9fc8e Explicitly specify language flag when source LANGUAGE property is set
457170a476 CXX: Compile when possible with explicit `Cxx` language flag set
644d3b86eb C: Compile when possible with explicit `C` language flag set
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4780