| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
With Xcode 13 the key to suppress the check has changed.
Tested with Xcode 12.5 and 13.0-beta2.
|
|
|
|
| |
Use an enum to avoid implicit conversions to bool.
|
|
|
|
|
|
| |
Most calls to `MaybeConvertToRelativePath` use one of our common work
directories (e.g. top of the build tree) as the local path. Add helpers
for each of the common cases to simplify and clarify call sites.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
dfaf55fbfd Xcode: add extra '$(inherited)' entries using InheritBuildSettingAttribute.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6077
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These have been added to:
GCC_PREPROCESSOR_DEFINITIONS
OTHER_CFLAGS
OTHER_LDFLAGS
This is to allow Cocoapods to work correctly as it uses xcconfig files to alter build settings in Xcode, and requires these build settings to inherit from their parent, not overwrite.
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
eb5e33ba47 Xcode: Add support for embedding app extensions
f62a2bf44f Tests: Factor out XcodeProject-Embed check function findAttribute()
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5934
|
| |
| |
| |
| | |
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
| |
| |
| |
| |
| |
| | |
This MR extend the support of 'DEPFILE' to buildsystem version 1.
Issue: #20286
|
|/
|
|
| |
Issue: #20286
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit ce2dee9e5b (Xcode: Don't add framework as -framework argument
in linker info list, 2020-09-28, v3.19.0-rc1~47^2) we split up the path
to a framework into the directory and framework name parts, but only
retained the quoting on the directory part. Restore quoting of the
framework name.
Fixes: #21910
|
| |
| |
| |
| |
| | |
The path style argument is meaningful only with the Ninja generator,
so drop it from call sites in Makefile and Xcode generators.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make the `config` argument non-optional so all callers must be explicit.
Convert the path style argument to an enumeration to make its role clear
at call sites.
The path style argument is implemented by `ConvertToIncludeReference`,
which was introduced with the Ninja generator by commit 5b114c9bee
(Introduce a cmLocalGenerator::ConvertToIncludeReference function,
2011-09-07, v2.8.7~187^2~4). Its only purpose is to allow the Ninja
generator to use relative paths in `-I` flags. Add a comment explaining
this role.
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
5389bb4274 Xcode: Don't hard-code SDK-provided implicit framework search paths
df08f8df30 cmComputeLinkInformation: Fix misspelt private variable name
375b307bae Apple: Fix linking to frameworks that do not exist until build time
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5760
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a framework is linked to a target by its full path and that
framework is located in one of the implicit framework search directories,
CMake 3.18.5 and earlier discarded that path.
ce2dee9e5ba (Xcode: Don't add framework as -framework argument in
linker info list, 2020-09-28) introduced a regression which resulted in
the framework path always being added to the search path even if it
matched one of the implicit search paths. This broke the ability to do
device and simulator builds from the same configured project.
Fixes: #21678
|
| |
| |
| |
| | |
There are no ApplicationServices on iOS.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
b8b6573db8 Xcode: Use deterministic object ids for script build phases
2892228dc9 cmGlobalXCodeGenerator: Add infrastructure for deterministic object ids
d250b67722 cmGlobalXCodeGenerator: Adopt pbxproj object id generation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5671
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Xcode "new build system" only considers a script build phase up to
date if it has run before, even if outputs are newer than inputs. Use a
deterministic object id for script build phases associated with custom
commands so that they do not need to re-run after CMake re-generates the
project.
Fixes: #21669
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Generalize the change from commit bffb17be3d (Xcode: Inherit target
library and framework search paths from project, 2020-11-04,
v3.19.0-rc3~4^2) to apply to framework and other kinds of search paths
added either for include directories or for linking.
Issue: #21617
|
| | |
|
| |
| |
| |
| |
| |
| | |
The Xcode generator is the only place left that we do not support
per-config sources. Make the corresponding helper Xcode-specific to
avoid any other new uses.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change was originally made by commit 74b1c9fc8e (Explicitly specify
language flag when source LANGUAGE property is set, 2020-06-01,
v3.19.0-rc1~722^2), but it was reverted by commit 30aa715fac (Revert
"specify language flag when source LANGUAGE property is set",
2020-11-19) to restore compatibility with pre-3.19 behavior.
Implement the change again, but add policy CMP0119 to make this change
while preserving compatibility with existing projects.
Note that the `Compiler/{Clang,Intel,MSVC}-CXX` modules do not need to
specify `-TP` for their MSVC-like variants because we already use the
flag in `CMAKE_CXX_COMPILE_OBJECT`. Similarly for `Compiler/XL-CXX`
and `Platform/Windows-Embarcadero`.
Note also that this does not seem possible to implement for XL C.
Even with `-qsourcetype=c`, `xlc` complains about an unknown suffix:
`1501-218 (W) file /.../AltExtC.zzz contains an incorrect file suffix`.
It returns non-zero even with `-qsuppress=1501-218`.
Co-Author: Robert Maynard <robert.maynard@kitware.com>
Fixes: #14516, #20716
|
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
| |
| |
| |
| |
| | |
36921d2d23 Xcode: Fix custom command work-dir placeholders in "new build system"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5527
|
| |
| |
| |
| |
| |
| |
| |
| | |
The placeholders for `CONFIGURATION` and `EFFECTIVE_PLATFORM_NAME` need
to be handled in the `WORKING_DIRECTORY` of custom commands just as we
already do for the `COMMAND`.
Fixes: #21483
|
|\ \
| |/
| |
| |
| |
| |
| | |
30aa715fac Revert "specify language flag when source LANGUAGE property is set"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5519
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revert commit 74b1c9fc8e (Explicitly specify language flag when source
LANGUAGE property is set, 2020-06-01, v3.19.0-rc1~722^2) and the lookup
tables from its two immediate ancestors. The purpose of that change was
to convert an explicit `LANGUAGE` source file property into an explicit
language specification compiler flag like `-x c`. This seems reasonable
since the property is documented as meaning "indicate what programming
language the source file is". It is also needed to help compilers deal
with non-standard source file extensions they don't recognize.
However, some projects have been setting `LANGUAGE C` on `.S` assembler
source files to mean "use the C compiler". Passing `-x c` for them
breaks the build because the `.S` sources are not written in C. These
projects should be updated to use `enable_language(ASM)`, for which
CMake often chooses the C compiler as the assembler when using
toolchains that support it (which would have to be the case for projects
using the approach).
Revert the change for now to preserve the old behavior for such projects.
We can re-introduce it with a policy in a future version of CMake.
Fixes: #21469
Issue: #14516, #20716
|
|\ \
| |/
| |
| |
| |
| |
| | |
b1ef2fffe7 Xcode: Clean library paths to avoid linker duplicate symbol definitions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5511
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| | |
bffb17be3d Xcode: Inherit target library and framework search paths from project
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5463
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Xcode has multiple levels of build settings with priority in descending
order:
1. Target
2. Project
3. Workspace
4. SDK defaults
`CMAKE_XCODE_ATTRIBUTE_*` path variables add these to project level, but
linked frameworks and libraries override this in target level. Add the
`$(inherited)` macro to keep both in the final list.
Fixes: #21387
|
|\ \
| |/
|/|
| |
| |
| |
| | |
e794509faa XCode: Use -j build option when job capacity is specified by user
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5429
|
| |
| |
| |
| | |
Fixes: #18304
|
|/
|
|
|
|
|
|
|
|
|
| |
In commit e637744c51 (Xcode: Use "Link Binary With Libraries" to link
any library, 2019-07-10, v3.19.0-rc1~494^2~1) we accidentally added all
the library type files to "Link Binary With Libraries" build phase if
they were passed in as source files. Revert that change as any actually
linked libraries will be added to that build phase later in the
`AddDependAndLinkInformation` call.
Fixes: #21361
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
b6c60f14b6 macOS: Default to arm64 architecture on Apple Silicon hosts
383e81aa60 Tests: Teach RunCMake to ignore Xcode internal objc warnings
8f75912176 Tests: Enable Assembler test case when CMAKE_OSX_ARCHITECTURES has one value
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5291
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/ |
|
|
|
|
|
|
|
| |
The original Xcode build system did not properly re-link targets that consumed
object libraies. We worked around that with a post-build command on the object
libraries themselves that removed their consumers if out of date. The "new
build system" does not appear to need such help, so drop the workaround.
|
|
|
|
|
|
| |
The target has not been generated since commit d92d51429e (BUG: fix for bug
6193, fix xcode depend helper, 2008-01-10, v2.6.0~553). Remove it from
the list of special targets.
|
|
|
|
|
|
|
| |
Provide an option to switch back to the original build system via
`-T buildsystem=1`.
Fixes: #18088
|
|
|
|
|
|
| |
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.
|
| |
|