| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
4ea3a88625 MSVC: Add support for targeting ARM64EC
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5708
|
| | |
|
|/
|
|
| |
Fixes #21613.
|
|\
| |
| |
| |
| |
| |
| |
| | |
1a5c1a68b6 macOS: Add /opt/homebrew to CMAKE_SYSTEM_PREFIX_PATH on Apple Silicon
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Fons Rademakers <fons.rademakers@cern.ch>
Merge-request: !5602
|
| |
| |
| |
| |
| |
| |
| | |
According to https://brew.sh/2020/12/01/homebrew-2.6.0/ the `/opt/homebrew`
directory is recommended for installing ARM architecture brew packages.
Fixes: #21585
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
b7f0327dcd Tests: Cover macOS host architecture selection on Apple Silicon hosts
5f882f6ce5 macOS: Offer control over host architecture on Apple Silicon hosts
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5589
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit b6c60f14b6 (macOS: Default to arm64 architecture on Apple
Silicon hosts, 2020-09-28, v3.19.0-rc1~63^2) we use `sysctl` to detect
that we are running on Apple Silicon in a way that pierces Rosetta.
This always sets `CMAKE_HOST_SYSTEM_PROCESSOR` to be `arm64` on such
hosts. However, macOS offers strong support for running processes under
an emulated `x86_64` architecture.
Teach CMake to select either `arm64` or `x86_64` as the host
architecture on Apple Silicon based on the architecture of its own
process. When CMake is built as a universal binary, macOS will select
whichever slice (architecture) is appropriate under the user's shell,
and `CMAKE_HOST_SYSTEM_PROCESSOR` will match.
Also offer a `CMAKE_APPLE_SILICON_PROCESSOR` variable and environment
variable to provide users with explicit control over the host
architecture selection regardless of CMake's own architecture.
Finally, if `CMAKE_OSX_ARCHITECTURES` is not set, pass explicit flags to
the toolchain to use selected host architecture instead of letting the
toolchain pick.
Fixes: #21554
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
48aac247e9 Compile with explicit language flag when source LANGUAGE property is set
2e67a75acd Embarcadero: Simplify addition of -P flag for C++
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5522
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
bdfa5ac7f6 Merge branch 'master' into llvm-rc-preprocess-as-c
f7ff0d34f0 llvm-rc: Force C language for the clang gnu frontend
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5564
|
| |\ \ \
| | |_|/
| |/| | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When preprocessing the rc file using the clang gnu front end we need to
force the source file type to a c file for the preprocessing to take
place.
Fixes: #21472
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | | |
f8d8faff8d Ninja Generators: Homogenize configuration with Makefiles
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5557
|
| | |/
| |/|
| | |
| | |
| | | |
* Use same configuration variables to configure dependencies
* Abstract Ninja deps format from compiler one
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
9ac9876757 Clang on Windows: 'LINKER:' prefix must be honored
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5551
|
| |
| |
| |
| | |
Fixes: #21094
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Each source compilation generates a dependencies file. These dependencies
files are consolidated in one file per target. This consolidation is done
as part of command 'cmake -E cmake_depends` launched before evaluation of
makefile dependency graph.
The consolidation uses the same approach as `CMake` dependencies management.
Fixes: #21321
|
| |
| |
| |
| |
| |
| |
| |
| | |
These changes are in preparation of compiler generated dependencies support
for Makefiles generators
* compiler output and dependency target can be different for Makefiles generators
* resolve inconsistency naming for dependency file place-holder
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The `/GR` flag has been on by default since MSVC cl 14.0 from VS 2005.
Remove it from the default flags to make it easier for projects to pass
`/GR-` themselves to turn it off.
Projects may be using string processing to replace `/GR` with another
flag, so we cannot simply drop it. Add a policy to drop it in a
compatible way.
Fixes: #21428
|
| | |
|
| |
| |
| |
| |
| | |
They are added to NDK and planned to release in r23:
https://android-review.googlesource.com/c/platform/ndk/+/1493421
|
|\ \
| |/
| |
| |
| |
| |
| | |
a585b75df9 Android: Use NDK_KNOWN_DEVICE_ABI{32,64}S instead of NDK_DEFAULT_ABIS
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5488
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revise logic from commit 1ab574a0f4 (Android: Add support for NDK r22,
2020-10-07, v3.19.0-rc1~18^2) that loads ABI tables from the NDK.
`NDK_DEFAULT_ABIS` means the abis to build by default.
Use `NDK_KNOWN_DEVICE_ABI{32,64}S` instead.
In practise they have never been different. Fix to make it more precise.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
cbc51a8be3 Android: restructure android search paths
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: huangqinjin <huangqinjin@gmail.com>
Merge-request: !5479
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1. Set CMAKE_FIND_ROOT_PATH unconditionally.
Revise the implementation from commit a7f41a7ee4 (Android: Fix find_*
search order within NDK for unified toolchains, 2020-10-13). In the old
implementation, if people set CMAKE_FIND_ROOT_PATH, CMAKE_ANDROID_NDK
won't be added to find root. And all paths added to CMAKE_SYSTEM_*_PATH
below will be rerooted to the user specified root.
2. Add api level specific library path to CMAKE_SYSTEM_PREFIX_PATH.
As the discussion in [1], some people want the paths added by
UnixPaths.cmake. They install their libraries according to
GNUInstallDirs [2].
As a result, we cannot clear CMAKE_SYSTEM_PREFIX_PATH. It includes /usr
so no matter what we specify in CMAKE_SYSTEM_LIBRARY_PATH,
/usr/lib/<arch> will be searched first.
The author also pointed out a way to solve this issue [3]. In addition
to other paths, CMake also searches <root>/<prefix> [4]. So we can add
the API specific lib path to the beginning of CMAKE_SYSTEM_PREFIX_PATH,
to have it searched first.
[1] https://android-review.googlesource.com/c/platform/ndk/+/1486800
[2] https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
[3] https://github.com/android/ndk/issues/1179#issuecomment-613435081
[4] https://gitlab.kitware.com/cmake/cmake/-/blob/11425041f04fd0945480b8f9e9933d1549b93981/Source/cmSearchPath.cxx#L202
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
94d87afece Android: allow NDK to control cflags / ldflags
85e5139aba Android: Move *_LLVM_TRIPLE to the centralized table
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5461
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This allows us to skip `abi-*.cmake` in the next change.
In the future we may move all this information to the NDK.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
3dae826e43 Android: default to RelWithDebInfo
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5465
|
| |/ / |
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
4c6797e03e Apple: Update SDK architecture detection for tbd file version 4
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5470
|
| | |
| | |
| | |
| | |
| | |
| | | |
Extend the `.tbd` parsing from commit 170e598add (iOS: Fix detection of
supported SDK architectures, 2020-04-16, v3.17.2~11^2) to support `.tbd`
file version 4.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For older NDKs we used `__android_stl_lib` to link these libraries, but
the `CMAKE_ANDROID_NDK_TOOLCHAIN_UNIFIED` code path does not use that.
Link the libraries the way the NDK toolchain file does:
https://android.googlesource.com/platform/ndk/+/43b2de34ef9e3a70573fe51a9e069f985a4be5b9/build/cmake/android.toolchain.cmake#368
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
With the NDK's `android.toolchain.cmake`, the user can control whether
exceptions/rtti is enabled using `ANDROID_CPP_FEATURES`:
https://android.googlesource.com/platform/ndk/+/43b2de34ef9e3a70573fe51a9e069f985a4be5b9/build/cmake/android.toolchain.cmake#548
Add `CMAKE_ANDROID_RTTI` and `CMAKE_ANDROID_EXCEPTIONS` to support that.
|
| |
| |
| |
| |
| | |
This change adds hooks to key Android support files, so that NDK can
inject information or change cmake behaviors.
|
| |
| |
| |
| | |
Fixes: #21315
|
| | |
|
|/
|
|
| |
Set `CMAKE_FIND_ROOT_PATH_MODE_*` appropriately.
|
| |
|
| |
|
|
|
|
|
| |
NDK r22 removed platforms and sysroot directory.
NDK r18+ provides `.cmake` files with tables of platforms and abis.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
API level depends on ABI. E.g. for LP64 the minimum API level should be 21 instead of 16 for others.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Fixes: #21097
|
|\
| |
| |
| |
| |
| |
| | |
8d61294c3e PCH: Mark CMake PCH source files as -x <lang>-header
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5188
|
| |
| |
| |
| | |
Fixes: #21163
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
|
| | |
| | |
| | |
| | | |
Fixes: #21096
|