| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The target property `ISPC_HEADER_SUFFIX` and associated global
variable now can control the suffix used when generating the
C/C++ interoperability ISPC headers.
In addition the default suffix is now "_ispc.h" which matches the
common convention that the ISPC compiler team uses and recommends.
|
|\
| |
| |
| |
| |
| |
| |
| | |
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
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
cf0c71dae3 Document CMP0112 covers $<TARGET_FILE_NAME,tgt>
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5582
|
| |
| |
| |
| | |
Fixes #21559
|
|/ |
|
| |
|
|
|
|
| |
Issue: #21388
|
|
|
|
|
|
|
| |
Defer adding this command until post-3.19 development so that it
has more time to mature before being included in a release.
Issue: #21385
|
| |
|
|
|
|
|
|
|
|
| |
If a path argument with no -S or -B leads to a cache directory,
use that directory as the binary directory. Otherwise, use the
binary directory from the preset.
Fixes: #21311
|
|\
| |
| |
| |
| |
| |
| | |
64afabdbcb CMakePresets.json: Split cmakeGeneratorConfig field
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5387
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make this field separate for both architecture and toolset. Allow
architecture and toolset to be either strings or objects with value
and strategy fields.
Fixes: #21317
|
|/
|
|
| |
Fixes: #21312
|
|
|
|
| |
Fixes: #21327
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Oops!
|
| |
|
|
|
|
|
| |
This demonstrates both the simple string and the complex object,
and ensures that they get automated testing.
|
|
|
|
|
| |
This ensures that the vendor field gets automated testing from the
example.
|
|
|
|
|
|
| |
This was a mistake in the documentation.
Fixes: #21303
|
| |
|
|
|
|
| |
The previous wording could be confused with the file missing on disk.
|
|
|
|
| |
Fixes: #21304
|
| |
|
|
|
|
|
|
| |
cacheVariables is a map with variable names as the keys, but the
example in the documentation was not updated to reflect this. Fix
the example.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes: #19575
|
|\
| |
| |
| |
| |
| |
| | |
90dead024c CheckCompilerFlag: unified way to check compiler flags per language
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5281
|
| | |
|
|/ |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
6a66bb13ed Compiler/TI: Add std options for C++14
fe9cddf181 Compiler/TI: Add std options for C++98
55fc045aa8 Compiler/TI: Add std options for C11
2e69993101 Compiler/TI: Check default C standard
8300030f71 Compiler/TI: Check compiler version for C99 support
0b4582f229 Compiler/TI: Fix definition of std options
a70df0d6f0 Compiler/TI: Avoid generic variable name in macro
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5249
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
Extend the `-T <toolset>` option to support a `buildsystem=` field with
the Xcode generator. Add a `CMAKE_XCODE_BUILD_SYSTEM` variable to
inform project code about the selected build system variant.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`ExternalProject_Add_StepTargets` and `INDEPENDENT_STEP_TARGETS` have
some limitations and lack some sanity checks. They can cause confusing
build systems to be generated. The basic problems are:
* The notion of step independence is attached to the step target
rather than the step itself.
* The custom commands implementing the steps are duplicated in the
step targets and the primary targets. This can cause races.
It is also incompatible with the Xcode "new build system".
Fix this by introducing policy CMP0114 to change the way step target
dependencies are handled. Define independence from external
dependencies as a property of each individual step regardless of whether
there is a target for it. Add dependencies among the primary target and
the step targets such that each custom command only appears in one
target. When some steps are disconnected from the primary target, add
step targets for the steps commonly depended upon so that there is a
place to hold their custom commands uniquely.
Fixes: #18663
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8c8f03422e PCH: Template instantiation support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Tested-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5168
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not attach a custom command to a target if it is already attached to one of
the target's dependencies. The command's output will be available by the time
the target needs it because the dependency containing the command will have
already been built.
This may break existing projects that do not properly mark non-created
outputs with the `SYMBOLIC` property. Previously a chain of two custom
commands whose intermediate dependency is not created would put both
commands in a dependent project's Makefile even if the first command is
also in its dependency's Makefile. The first command would run twice
but the build would work. Now the second command needs an explicit
`SYMBOLIC` mark on its input to tell CMake that it is not expected to
exist. To maintain compatibility with projects that left out the mark,
add a policy activating the behavior.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
a020787a9b ISPC: Support generation for multiple instruction sets
5a1750017e ISPC: Add compiler launcher support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5173
|
| | | |
|