| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Run the script:
Utilities/Sphinx/update_versions.py --since v3.19.0 --overwrite
Manually restore the 3.20 version for `cmake_path`, which was originally
part of 3.19 but reverted and restored in 3.20.
|
|\
| |
| |
| |
| |
| |
| |
| | |
4d46b1401f add_library(): Allow imported object libraries with multi-arch
1a915e8953 Tests: TargetObjects does not need any languages enabled
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5771
|
| |
| |
| | |
Fixes: #21276
|
|/
|
|
|
|
|
|
|
| |
Since commit c2dc7e0f53 (Help: Convert genex documentation to sphinx
domain objects, 2021-01-15) we can use `:genex:` cross-references to
link to named generator expressions. Update some places to do this.
This is meant to demonstrate the capability, not as a comprehensive
sweep.
|
|
|
|
|
|
| |
Also warn the reader against setting values CMake normally generates.
Issue: #21728
|
|
|
|
|
|
|
|
| |
The new target property `EXPORT_COMPILE_COMMANDS` associated with the
existing global variable can be used to optionally configure targets for
their compile commands to be exported.
Fixes: #19462
|
|\
| |
| |
| |
| |
| |
| | |
2d84b9d145 Help: Fix Sphinx not recognising list in XCODE_LINK_BUILD_PHASE_MODE
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5634
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
20e4db4a66 cmGeneratorTarget: Make GetConfigCommonSourceFiles Xcode-specific
92d7b456e5 Autogen: Add support for per-config sources
3ffebbaefb Tests/QtAutogen: Forward build configuration in multi-config generators
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5624
|
| | |
| | |
| | |
| | | |
Fixes: #20682
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
0fe9c40494 Unity Build: Add option for generating per-file unique id
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4784
|
| | |
| | |
| | |
| | | |
Fixes: #21477
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
c9a50f3556 ISPC: Generated Headers suffix configurable with a better default
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5597
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| | |
Clang 12 landed initial support for C++23 language mode flag -std={c|gnu}++2b
in commit 6627a3c2873fdf7ccba1a1573371079be48b36e8.
|
| |
| |
| |
| |
| |
| | |
This commit also prepares for embedding things other than
frameworks. In the future, we may want to embed resources and
other types supported by Xcode, so the target properties have
been documented in a way that clearly signals the future intent.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
48645cabe3 Help: MSVC now has C standard level flags
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5500
|
| | | |
|
| |/
|/| |
|
|/ |
|
|
|
|
|
|
| |
Run the script:
Utilities/Sphinx/update_versions.py --since v3.18.0 --overwrite
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
525464ed2a Xcode: Use "Link Binary With Libraries" build phase in some cases
dc0898205c Xcode: Add special case for file type extension map for .xcassets
7b3d8411a2 Xcode: Refactor build setting append code and attribute getter naming
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5036
|
| |/
| |
| |
| |
| |
| |
| | |
OBJECT and STATIC libraries (framework or non-framework) do not use
this build phase. Not all items to be linked use this build phase either.
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
c5407b95f0 Help: Expand Fortran_MODULE_DIRECTORY documentation.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5128
|
| | |
| | |
| | |
| | |
| | | |
Document how Visual Studio generators append per-configuration directory
to path where Fortran modules are created.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
5852b8867f CMakeIOSInstallCombined: Enforce disjoint architecture sets
79098d23eb Tests: Avoid warnings about unused arguments
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5111
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Starting with Xcode 12 the arm64 architecture is supported
as an iOS device as well as simulator architecture.
But the fat macho file format does not distinguish by SDK,
only by architecture. That makes lipo (rightfully) complain
that it cannot add both architectures to a single file.
To work around we make sure that both SDKs are built for a
disjoint set of architectures. If an architecture is present
for both SDKs we prefer the currently configured one.
The log output has been extended to reflect that:
```
[iOS combined] Architectures (iphoneos): arm64 arm64e armv7 armv7s
[iOS combined] Architectures (iphonesimulator): arm64 arm64e i386 x86_64
[iOS combined] Architectures (iphonesimulator) after pruning: i386 x86_64
```
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
Add an `OPTIMIZE_DEPENDENCIES` target property and supporting
`CMAKE_OPTIMIZE_DEPENDENCIES` variable to optionally enable pruning and
flattening of outgoing dependencies from static libraries. Since they
do not actually link, they only depend on side effects of their
dependencies. Therefore we can drop dependencies that contribute no
side effects.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
5b5be34811 Help: Add 3.18.2 release note about AUTOMOC_PATH_PREFIX default change
db659e18bc Merge branch 'backport-3.17-automoc-path-prefix-off'
e503fbe38a Merge branch 'backport-3.16-automoc-path-prefix-off'
4c33b305a0 Autogen: Turn off moc path prefix generation by default
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5105
|
| |\ \ |
|
| | |\ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change the default value of `CMAKE_AUTOMOC_PATH_PREFIX` to `OFF` to
restore compatibility with behavior of CMake 3.15 and below.
C++ source files that are generated by Qt's meta object compiler (moc)
include the header file that was passed as input argument to moc. This
is usually a path relative to the source directory, for example
#include "../../source/dir/myobject.h"
That is problematic for reproducible builds as described in #18815.
To cope with that, the target property AUTOMOC_PATH_PREFIX was
introduced in CMake 3.16 by commit d018d27c10 (Autogen: Add moc path
prefix generation (AUTOMOC_PATH_PREFIX), 2019-09-13, v3.16.0-rc1~94^2~4).
The property is default-initialized from the variable
`CMAKE_AUTOMOC_PATH_PREFIX`, which defaults to `ON`.
If this property is ON, and myobject.h is located in an include
directory of the target, moc-generated C++ files include the file
without the "path prefix":
#include "myobject.h"
This behavior, however, can break projects that have equally named
header files in different include directories. As "not breaking
existing projects" trumps "have reproducible builds by default" we
change the default of `CMAKE_AUTOMOC_PATH_PREFIX` to `OFF`.
Also, it is now possible to pass `-DCMAKE_AUTOMOC_PATH_PREFIX=ON` on the
CMake command line. Before, it was overridden in `CMakeGenericSystem`.
Fixes: #20598
Issue: #18815
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes: #20178
|
|\ \ \ \ \
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
bafa9fe887 fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2
4391913133 Add INTERFACE libraries to generated buildsystem if they have SOURCES
afb998704e Remove filtering of allowed INTERFACE library properties
e7edba2baf Makefiles: Use IsInBuildSystem in global generator target type checks
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5078
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
INTERFACE libraries were created with the intention of collecting usage
requirements for use by other targets via `target_link_libraries`.
Therefore they were not allowed to have SOURCES and were not included in
the generated buildsystem. In practice, this has become limiting:
* Header-only libraries do have sources, they just do not compile.
Developers should be able to edit those sources (the header files)
in their IDE.
* Header-only libraries may need to generate some of their header
files via custom commands.
Some projects work around these limitations by pairing each interface
library with an `add_custom_target` that makes the header files and
custom commands appear in the generated buildsystem and in IDEs.
Lift such limitations by allowing INTERFACE libraries to have SOURCES.
For those with sources, add a corresponding build target to the
generated buildsystem.
Fixes: #19145
|
|/ / / /
| | | |
| | | |
| | | | |
Fixes #20953
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
2cdaf43d96 Allow generator expressions in the EXCLUDE_FROM_ALL target property
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5021
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This allows for setting EXCLUDE_FROM_ALL, conditional on the build
configuration. However, only the Ninja Multi-Config generator supports
different property values per config. All other multi-config
generators will yield an error in that situation.
Fixes: #20923
|