| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fixes: #24046
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
9cdf4c9be4 gitlab-ci: update macOS jobs to use Xcode 14.0
5d2c2b2558 Tests: Update RunCMake.XcodeProject iOS cases for Xcode 14.0
12c6fec6b4 Xcode: Drop CMAKE_INTDIR= definition in Swift targets
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7732
|
| |
| |
| |
| |
| | |
Xcode 14.0 warns that Swift doesn't support definition values.
Therefore `CMAKE_INTDIR` is not useful to Swift sources. Drop it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously we set `SYMROOT` to tell Xcode where to place the build
products. However, the "clean" operation in the Xcode "new build
system" expects that only Xcode creates the `SYMROOT` directory or
contents inside it. Since we create that directory, "clean" fails.
We now explicitly set `CONFIGURATION_BUILD_DIR` and `TARGET_TEMP_DIR`
instead of letting Xcode compute their values from `SYMROOT`, so we no
longer need to set the latter. Drop the now-unnecessary `SYMROOT`.
Fixes: #22550
|
| |
| |
| |
| |
| |
| | |
This avoids relying on `SYMROOT` to locate the object files.
Issue: #22550
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 59a2265576 (Xcode: Use EFFECTIVE_PLATFORM_NAME reference in
ComputeOutputDir, 2011-08-12, v2.8.6~43^2~1) we can now set the build
products path using `CONFIGURATION_BUILD_DIR` unconditionally because we
compute the correct value even when using `EFFECTIVE_PLATFORM_NAME`.
This avoids relying on `SYMROOT` to locate the build products.
Issue: #22550
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
d4cc39842e Xcode: Do not append per-config suffixes to library search paths
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7672
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add policy `CMP0142` to remove the automatic addition of the
`$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)` suffix in a compatible way.
Fixes: #21757
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
fc06450ff4 Apple: Fix regression when linking a framework with postfix
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7675
|
| |
| |
| |
| |
| |
| |
| | |
Fix a regression caused by commit 40178f3c90 (cmGlobalGenerator: Add
helper to split framework path, 2022-02-10, v3.24.0-rc1~661^2~1).
Fixes: #23961
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Refactoring in commit a2cfa2da4f (GenEx/LINK_LIBRARY: Add features for
framework support on Apple, 2022-02-10, v3.24.0-rc1~661^2) accidentally
removed a `GetParentDirectory` call. Restore it.
Fixes: #23891
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
An empty INSTALL_PATH will confuse Xcode, resulting in the archive
action producing archives that can not be uploaded to the App Store.
The logic to pull out a install_name_dir only applies to
SHARED_LIBRARY targets, so we can skip the setting of the
property for all other targets.
There might be cases where the INSTALL_PATH code path will also
end up setting an empty INSTALL_PATH, but it's unclear whether
this is a problem, so to keep the patch minimal the existing
code is left as is.
Fixes: #15183
|
| |
| |
| |
| | |
Fixes #22200
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
correct Xcode generator Swift definitions
original code was defining GCC_PREPROCESSOR_DEFINITIONS which is valid only for C languages
add definitions to SWIFT_ACTIVE_COMPILATION_CONDITIONS when Swift language is used in the target
add test in SwiftOnly
for old Xcode (<8.0), append defines to cflags so it ends up in OTHER_SWIFT_FLAGS
Fixes: #23637
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
C++ modules have two variants which are of importance to CMake:
- `CXX_MODULES`: interface modules (those using `export module M;`,
`export module M:part;`, or `module M:internal_part;`)
- `CXX_MODULE_HEADER_UNITS`: importable header units
Creating C++ modules or partitions are *not* supported in any other
source listing. This is because the source files must be installed (so
their scope matters), but not part of usage requirements (what it means
for a module source to be injected into a consumer is not clear at this
moment). Due to the way `FILE_SET` works with scopes, they are a perfect
fit as long as `INTERFACE` is not allowed (which it is not).
|
|/ |
|
|
|
|
|
|
|
|
| |
Rename the booleans 's_ErrorOccured' and 's_FatalErrorOccured' to
's_ErrorOccurred' and 's_FatalErrorOccurred', respectively.
Rename the getters and setters to 'Get[Fatal]ErrorOccurred' and
'Set[Fatal]ErrorOccurred', and fix all uses across the codebase.
|
|
|
|
|
|
|
|
| |
When determining a given target's object directory, also check for its
`OSX_ARCHITECTURES` before resorting to global defaults. This fixes inconsistent
object library references when:
- `CMAKE_OSX_ARCHITECTURES` is unset or singular
- but the object library's `OSX_ARCHITECTURES` property is set to multiple archs
|
|
|
|
|
|
|
|
| |
Allow `cmGlobalGenerator`s to decide `HasKnownObjectFileLocation()` per given
`cmTarget`
- `cmGlobalGenerator::HasKnownObjectFileLocation()` now takes an optional `cmGeneratorTarget`
- `cmTarget::HasKnownObjectFileLocation()` added as a shorthand
|
|
|
|
| |
Fixes: #18420
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We evaluate `LINK_LIBRARIES` and `INTERFACE_LINK_LIBRARIES` for two purposes:
* Constructing the link line.
* Collecting usage requirements.
We evaluate `INTERFACE_LINK_LIBRARIES` separately for each purpose in
order to support the `$<LINK_ONLY:...>` generator expression used to
express private link dependencies of a static library. Previously we
only evaluated `LINK_LIBRARIES` for linking, and used that result for
collecting usage requirements too. Therefore `$<LINK_ONLY:...>` does
not work in `LINK_LIBRARIES`.
With the introduction of `INTERFACE_LINK_LIBRARIES_DIRECT`, evaluation
of `LINK_LIBRARIES` now needs to distinguish these two cases in order to
honor link dependencies encountered through `$<LINK_ONLY:...>` without
also exposing other usage requirements through private dependencies of a
static library. Revise internal infrastructure to distinguish the two
cases when evaluating `LINK_LIBRARIES`. Make the information available
in code paths for `INTERFACE_LINK_LIBRARIES_DIRECT` and `LINK_ONLY`.
Defer actually using the information to later commits.
Issue: #22496
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit 61495cdaae (Fix Xcode project references to the source
tree, 2009-09-22, v2.8.0~43) we force source file references to use
relative paths from the source tree. If the source tree path is a
symbolic link inside the build tree, the relative `../` sequence
goes to the wrong place. The problem with debug breakpoints motivating
that change does not seem to occur in modern Xcode versions, so update
the logic to use a relative path only when it does not need to start
in any `../` sequence.
|
| |
|
|
|
|
|
| |
cmComputeLinkInformation and cmGlobalXCodeGenerator now rely on
this method to handle framework paths.
|
|
|
|
|
|
|
|
| |
This generator expression offers the capability, for the link step, to
decorate libraries with prefix/suffix flags and/or adding any specific flag for each
library.
Fixes: #22812, #18751, #20078, #22703
|
| |
|
|
|
|
|
|
|
|
| |
Check the complete include path for being a system include, not
the derived framework search path. The code for Ninja and Makefile
generators does exactly the same.
Fixes: #23011
|
| |
|
|
|
|
|
|
|
|
| |
Make `cmCustomCommand` have just only default constructor.
Use each setter instead. This follows the builder pattern.
Introduce `cc::SetOutputs(std::string output)`.
This will be used later, as substitution for `cc::SetOutputs({output})`.
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
b8a2ce0484 cmGlobalXCodeGenerator: Remove dead buildsystem version check
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6568
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit 8d5f4c4db9 (Xcode: Switch to the "new build system" for Xcode
12 and above, 2020-09-14, v3.19.0-rc1~143^2~7) we accidentally added
code in an `else` block that under the opposite condition by which
the block can be entered. Remove it.
Fixes: #22681
|
|/
|
|
|
| |
Generate the `explicitFileType` as `sourcecode.cpp.h` instead of just
`sourcecode`. This enables syntax highlighting in Xcode.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
71a2664ebb Xcode: Ignore deprecated build system
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6309
|
| |
| |
| |
| |
| | |
With Xcode 13 the key to suppress the check has changed.
Tested with Xcode 12.5 and 13.0-beta2.
|
|/
|
|
|
| |
Factor out duplicate code from the Ninja Multi-Config, Visual Studio,
and Xcode generators.
|
|
|
|
| |
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.
|