A module-wide setting was added by commit 8ede35523e (IN_LIST: Ensure
policy allows if(IN_LIST) if used by a module, 2018-09-12,
v3.13.0-rc1~95^2), so our local setting is no longer needed.
Detect `arm64` hardware using a method that pierces Rosetta. If
`CMAKE_OSX_ARCHITECTURES` is not set, pass explicit flags to the
toolchain to use `arm64` instead of letting the toolchain pick.
Fixes: #20989
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
On Linux and macOS, absolute paths start with `/` which may be
interpreted by clang-cl as an option. To avoid this, we separate the
source file path from preceding options with `--` to tell `clang-cl` it
is not an option.
During compiler identification, if CMAKE_{C,CXX}_COMPILER_TARGET is
defined, the corresponding clang target flag is used to guaranty proper
target architecture detection.
A simple CMakeLists.txt on osx shows that variable "d" is set
(but empty) by the system modules. this pollutes the user's
variable namespace. I noticed this when I created a library
target "d" and got unexpected policy CMP0054 warnings when
trying to find_package(d CONFIG REQUIRED) (triggered from the
generated "d-targets.cmake" ...). Note that non-"_" prefixed
internal variables are ok within functions due to scoping rules.
Fixes: #20898
The libraries in the SDK should be given precedence over the system
libraries. Check for the default library search path (in default order)
of `/usr/lib` and `/usr/local/lib` and use these as system prefix paths
for libraries when performing the link step against a specified SDK.
50879ce412 Conda: Add CONDA_PREFIX as an acceptable system prefix path
cd9c3c000f Tests: Update QtAutogen codeeditor test only include headers needed
d806bd2e8c Tests: Update test suite to run in an Anaconda environment
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4773
Since commit 0d0145138f (CUDA: Add abstraction for cuda runtime
selection, 2019-11-29, v3.17.0-rc1~83^2) we add CUDA runtime library
selection flags by default.
To maintain backwards compatibility the default CUDA runtime
library needs to be computed based on what libraries are found
on the initial compiler invocation. For example a toolchain
could establish initial flags that have all CUDA compilations
using the runtime version, and if we don't detect this we will
try to link to both the static and shared runtime.
Co-Author: Brad King <brad.king@kitware.com>
Fixes: #20708
When crosscompiling we pass the sysroot.
We need to try various architecture flags. Clang doesn't automatically
select one that works. First try the ones that are more likely to work
for modern installations:
* <=sm_50 is deprecated since CUDA 10.2, try sm_52 first for
future compatibility.
* <=sm_20 is removed since CUDA 9.0, try sm_30.
Otherwise fallback to Clang's current default. Currently that's `sm_20`,
the lowest it supports.
Separable compilation isn't supported yet.
Fixes: #16586
Fix CMAKE_SHARED_LINKER_FLAGS_INIT macro
Fix executable file name for Linux to be without extension
Add system header files directory for cross-compilation
OS/2 16-bit and 32-bit target support files for cross-compilation by
OpenWatcom.
It is used if CMAKE_SYSTEM_NAME=OS2 is defined.
If CMAKE_SYSTEM_PROCESSOR=I86 is defined then 16-bit OS/2 target is
used, otherwise 32-bit OS/2 target is used.
DOS 16-bit and 32-bit target support files for cross-compilation by
OpenWatcom.
It is used if CMAKE_SYSTEM_NAME=DOS is defined.
If CMAKE_SYSTEM_PROCESSOR=I86 is defined then 16-bit DOS target is used,
otherwise 32-bit DOS target is used.
properties LINK_OPTIONS and INTERFACE_LINK_OPTIONS are propagated
to the device link step.
To control which options are selected for normal link and device link steps,
the $<DEVICE_LINK> and $<HOST_LINK> generator expressions can be used.
Fixes: #18265
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