summaryrefslogtreecommitdiff
path: root/Tests/RunCMake/XcodeProject
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Split some RunCMake.XcodeProject cases into a separate testBrad King2023-05-1525-798/+5
| | | | | | The `RunCMake.XcodeProject` has many cases and occasionally fails due to timeout. Move iOS and other device-specific cases to a new `RunCMake.XcodeProject-Device` test.
* Tests: Fix RunCMake.XcodeProject XcodeSchemaGeneration case on arm64Brad King2023-05-101-1/+1
| | | | | Explicitly specify the xcodebuild scheme destination architecture to match the host.
* Tests/RunCMake: Update cmake_minimum_required versionsBrad King2023-02-1119-41/+14
| | | | | | | | For policy-specific tests, use the version before the policy was introduced. Otherwise, use 3.5 where possible. Also, remove `cmake_minimum_required()` and `project()` calls from individual cases where they are handled by `CMakeLists.txt`.
* Xcode: Inherit Swift flags and compilation conditionsRoss Kilgariff2023-01-253-1/+30
| | | | | | | | Extend the change from commit dfaf55fbfd (Xcode: add extra '$(inherited)' entries using InheritBuildSettingAttribute, 2021-05-03, v3.21.0-rc1~182^2) to cover Swift flags and compilation conditions, allowing CocoaPods and CMake to interoperate when used in the same project.
* XCode: ensure LINK_LIBRARY genex is usable with XCODE_LINK_BUILD_PHASE_MODEMarc Chevrier2022-11-224-8/+74
| | | | Fixes: #24176
* Xcode: Put object files in a place that Xcode cleansBrad King2022-10-283-2/+13
| | | | | | | | | Since commit dc5fc898f6 (Xcode: Set object file locations using TARGET_TEMP_DIR, 2022-09-29, v3.25.0-rc1~64^2~1), `xcodebuild clean` does not remove the object files in our explicit `TARGET_TEMP_DIR` because it is not under the `SYMROOT`. Put it there. Fixes: #24096
* Tests: Add case covering XCODE_EMIT_EFFECTIVE_PLATFORM_NAME=OFF for iOSBrad King2022-10-032-0/+30
| | | | | | | | This use case was fixed by commit a7fb4bc475 (Xcode: Set build product locations using CONFIGURATION_BUILD_DIR, 2022-09-28). Add a test to verify the fix. Fixes: #23970
* Merge topic 'ci-xcode-14.0'Brad King2022-10-035-29/+53
|\ | | | | | | | | | | | | | | | | 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
| * Tests: Update RunCMake.XcodeProject iOS cases for Xcode 14.0Brad King2022-09-305-29/+53
| | | | | | | | Issue: #24011
* | Xcode: Fix "clean" operation under the "new build system"Brad King2022-09-294-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Xcode: Do not append per-config suffixes to library search pathsMikko Sivulainen2022-09-152-0/+24
| | | | | | | | | | | | | | Add policy `CMP0142` to remove the automatic addition of the `$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)` suffix in a compatible way. Fixes: #21757
* | Merge topic 'Link-MACOSX_BUNDLE'Brad King2022-09-015-0/+44
|\ \ | | | | | | | | | | | | | | | | | | | | | 71dae4eb5c Merge branch 'backport-3.24-Link-MACOSX_BUNDLE' into Link-MACOSX_BUNDLE f5a441a616 Xcode: Fix erroneous MACOSX_BUNDLE link Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7624
| * \ Merge branch 'backport-3.24-Link-MACOSX_BUNDLE' into Link-MACOSX_BUNDLEMarc Chevrier2022-08-315-0/+44
| |\ \ | | |/
| | * Xcode: Fix erroneous MACOSX_BUNDLE linkMarc Chevrier2022-08-315-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Xcode: Add settings to control a scheme's GPU Validation valuesPatriceJiang2022-08-302-0/+4
|/ /
* | Xcode: Add Xcode SCHEME control for 'Launch' controlHarry Mallon2022-06-152-0/+4
|/
* xcode: add support for xcconfig filesGregor Jasny2022-04-037-0/+45
| | | | Fixes: #18420
* Tests: Xcode scheme ENABLE_GPU_FRAME_CAPTURE_MODEJake Turner2021-11-092-7/+19
| | | | | | | Setting numerical value Caseless comparison of string values "Metal" is converted to value 1 "Disabled" is converted to value 3
* Tests: Fix RunCMake.XcodeProject XcodeIOSInstallCombined cases for Xcode 13.0Brad King2021-10-052-4/+4
| | | | | The output of `otool -vf` now contains additional content that happens to be matched by our architectures regex. Make the regex more strict.
* Tests: Specify destination for Xcode schemeGregor Jasny2021-10-051-1/+6
| | | | | | | The `Using the first of multiple matching destinations` warning vanishes if we explicitly specify a destination. Fixes: #22704
* FindXCTest: Fix output directory for test bundle with Xcode 12.5Yauheni Khnykin2021-07-263-5/+33
| | | | | | | | | The fix from commit eafe740ead (FindXCTest: Fix output directory for test bundle with new build system, 2021-02-09, v3.19.5~5^2) is not necessary with Xcode 12.5, which seems to have changed/fixed the behaviour again. Fixes: #22462
* Xcode: add extra '$(inherited)' entries using InheritBuildSettingAttribute.Danny Parker2021-05-053-0/+58
| | | | | | | | | 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.
* Tests: Add XCTest cases to cover output directory selectionYauheni Khnykin2021-03-132-0/+43
| | | | Fixes: #21800
* Merge topic 'xcode12-ios_install_combined'Brad King2021-02-093-4/+29
|\ | | | | | | | | | | | | 0110aa018d IOS_INSTALL_COMBINED: Support Xcode 12 (command line only) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5785
| * IOS_INSTALL_COMBINED: Support Xcode 12 (command line only)Craig Scott2021-02-083-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode 12 doesn't allow nested builds within the same build directory. That means we can no longer do an install by building the install target when IOS_INSTALL_COMBINED is true. We can, however, still do an install by running the cmake_install.cmake script or executing cmake --install, since there is no outer build and therefore the associated SDK can be built as a sub-build. The non-build methods previously didn't work when IOS_INSTALL_COMBINED was true because the generated install script and the CMakeIOSInstallCombined script both made certain assumptions that relied on being part of a build. Those assumptions are now removed. A side-effect of this work is that cpack now also works from the command line when IOS_INSTALL_COMBINED is true. Relates: #21282 Fixes: #20023
* | Xcode: Generalize inheritance of project-level search pathsBrad King2020-12-223-0/+98
| | | | | | | | | | | | | | | | | | 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
* | Tests: Add Xcode cases fixed by switch to the "new build system"Yauheni Khnykin2020-11-304-0/+70
|/ | | | | | | | | | | Support of 'new build system' in Xcode fixes indirectly few issues which were caused by workaround with `XCODE_DEPEND_HELPER.cmake` autogenerated script. This patch adds test which is originated from issue #20260 and reproduces this issue when 'new build system' is disabled. Fixes: #20260
* Xcode: Don't add framework as -framework argument in linker info listGusts Kaksis2020-10-025-11/+58
|
* xcode: conditionally enable combined install testsGregor Jasny2020-09-251-6/+1
| | | | | | | | | | | | | | | | The new Xcode 12 build system does not support recursive invocation. Therefore lazily triggered builds for the corresponding platform which run during the `install` target fail with: ``` error: unable to attach DB: error: accessing build database ``` While looking for a work-around we conditionally disable those tests. Issue: #21206
* xcode: annotate test output with selected SDKGregor Jasny2020-09-251-8/+8
|
* Tests: Skip RunCMake.XcodeProject device cases for Xcode "new build system"Brad King2020-09-181-0/+5
| | | | | | | | The Xcode "new build system" selects different architectures for device builds than the old build system does. Skip those tests on Xcode 12+ pending further investigation. Issue: #21206
* Tests: Update RunCMake.XcodeProject cases for Xcode "new build system"Brad King2020-09-181-1/+3
|
* Xcode: Switch to the "new build system" for Xcode 12 and aboveBrad King2020-09-184-0/+21
| | | | | | | Provide an option to switch back to the original build system via `-T buildsystem=1`. Fixes: #18088
* Tests: Tell Xcode to disallow signing altogether in relevant casesBrad King2020-09-015-0/+8
| | | | | | | | The Xcode 'new build system' rejects empty signing identities unless signing is explicitly marked as not allowed. Update test cases where we turn off signing to explicitly disallow it too. Also turn off signing in the XCTest test.
* Xcode: Use "Link Binary With Libraries" build phase in some casesGusts Kaksis2020-09-0112-0/+221
| | | | | | | 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>
* Merge topic 'xcode12-link-matching-zlib'Brad King2020-08-171-2/+2
|\ | | | | | | | | | | | | 862dbe1367 Xcode: Link matching zlib for iOS Simulator SDK Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5125
| * Xcode: Link matching zlib for iOS Simulator SDKGregor Jasny2020-08-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | The XcodeRemoveExcessiveISystem test runs `find_package(ZLIB)` which returns an SDK-relative path to `zlib.tlb`. When the test switches the SDK for building to something different than the SDK used for configuration the linker rightfully complains about the mismatch. The fix is to configure and build with the same SDK.
* | Merge topic 'ios-combined-prune-archs'Brad King2020-08-172-2/+2
|\ \ | |/ |/| | | | | | | | | | | 5852b8867f CMakeIOSInstallCombined: Enforce disjoint architecture sets 79098d23eb Tests: Avoid warnings about unused arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5111
| * Tests: Avoid warnings about unused argumentsGregor Jasny2020-08-082-2/+2
| |
* | Add INTERFACE libraries to generated buildsystem if they have SOURCESBrad King2020-08-074-0/+18
|/ | | | | | | | | | | | | | | | | | | | | | | | 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
* Tests/RunCMake: Update cmake_minimum_required versionsBrad King2020-06-182-2/+2
| | | | Use 3.3 or 2.8.12 where possible.
* Swift: Exclude SDK include pathsYauheni Khnykin2020-02-104-0/+81
| | | | | | | | Populate `CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES` with the macOS SDK's include directory so that we filter such implicit directories out of Swift targets. Fixes: #19845
* Xcode: Fix post build script for 'top level project only' optYauheni Khnykin2020-01-274-0/+25
| | | | | | | | | | When CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is set on Xcode generator created post build scripts which tried to call XCODE_DEPEND_HELPER.make script in subproject. But XCODE_DEPEND_HELPER.make don't exist in subprojects when mentioned option is set on. Fixes: #20262
* Multi-Ninja: Add precompile headers supportCristian Adam2020-01-171-1/+1
| | | | Fixes: #19789
* Xcode: Add custom working directory propertyGregor Jasny2019-11-182-0/+2
| | | | Closes: #19967
* ObjC: Add OBJC/OBJCXX flags to Xcode projectsCristian Adam2019-11-115-0/+44
| | | | Fixes: #19936
* Xcode: Fix generated references to CMakeLists.txt filesBrad King2019-11-053-0/+21
| | | | | | | | | Refactoring in commit 2d888e3390 (cmSourceFile: Rename mutating GetFullPath() overload, 2019-08-29, v3.16.0-rc1~160^2) accidentally left the paths to `CMakeLists.txt` files empty in generated Xcode project files. Fixes: #19927
* Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targetsBrad King2019-10-022-0/+12
| | | | | | | | | The target property introduced by commit 413b71485a (Xcode: Create Xcode schemes per target, 2019-03-11, v3.15.0-rc1~347^2) was accidentally not initialized by `CMAKE_XCODE_GENERATE_SCHEME` for custom targets. Fix it and update the test. Fixes: #19759
* Merge topic 'precompile-headers'Brad King2019-08-293-0/+40
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8da78d4efe Precompile headers: Update documentation 5772930164 Precompile headers: Add unit tests 519606704e Precompile headers: Add support for Visual Studio generators 28be170fbc Precompile headers: Add support for Xcode generator b8626261e9 Precompile headers: Add methods to generate PCH sources 375d01c680 PCH: add example/test 9b6797e71d PCH: add target_precompile_headers command 0467a2f91b PCH: add PRECOMPILE_HEADERS to special properties Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Acked-by: Ivan171 <heavenandhell171@gmail.com> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Steve Mokris <smokris@softpixel.com> Acked-by: Evgeniy Dushistov <dushistov@mail.ru> Acked-by: Danila Malyutin <flashmozzg@gmail.com> Acked-by: Viktor Kirilov <vik.kirilov@gmail.com> Acked-by: Lucas Zhao <zhaopf6@163.com> Merge-request: !3553
| * Precompile headers: Add unit testsCristian Adam2019-08-283-0/+40
| |