summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/XcodeProject
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
* | Xcode: Make iOS tests compatible with Xcode 11Gregor Jasny2019-08-264-0/+4
|/
* Merge topic 'error-generate-step'Brad King2019-05-144-4/+12
|\ | | | | | | | | | | | | | | 8cc04b1918 cmake: Display error if generate step fails Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !3304
| * cmake: Display error if generate step failsKyle Edwards2019-05-134-4/+12
| |
* | Merge topic 'ios-xctest-lookup'Brad King2019-05-142-0/+18
|\ \ | |/ |/| | | | | | | | | e9d128b789 Apple: Properly lookup XCTest for iOS and tvOS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3309
| * Apple: Properly lookup XCTest for iOS and tvOSGregor Jasny2019-05-112-0/+18
| | | | | | | | Closes: #19172
* | Xcode: Create Xcode schemes per targetHarry Mallon2019-03-212-0/+12
|/
* iOS: Add IOS variableRuslan Baratov2019-03-051-0/+4
| | | | | | | Since commit 11da882a12 (Apple: Introduce separate system name for iOS, tvOS, and watchOS, 2018-01-15, v3.14.0-rc1~14^2~1) we support setting `CMAKE_SYSTEM_NAME` to `iOS`. Existing iOS toolchain files already set `IOS` as a short-hand variable, so do the same here.
* Apple: Introduce separate system name for iOS, tvOS, and watchOSGregor Jasny2019-02-047-64/+38
| | | | | | | | | | | - Remove code signing requirements for non-macOS - Do not set deployment target for non-macOS - Build static library for compiler feature detection for non-macOS - Use framework to run CompilerId tests for watchOS - Port tests to new SDK handling - Add new Apple cross-compiling section to toolchain documentation Closes: #17870
* Tests: Isolate RunCMake.XcodeProject per-device cases from host archBrad King2019-02-041-30/+35
| | | | | Run all host cases before per-device cases. Do not expose the host `CMAKE_OSX_ARCHITECTURES` environment value to the per-device tests.
* Xcode: Add variables and properties to configure schemesGregor Jasny2018-08-013-0/+71
| | | | | | | | | Add `XCODE_SCHEME_*` target properties and associated variables `CMAKE_XCODE_SCHEME_*` to initialize them on target creation. Map each target property value to an associated Xcode scheme entry. Co-Author: Martin Sander <mail@martin-sander.de> Fixes: #17919
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-13/+13
| | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Restore support for explicitly referenced CMakeLists.txt sourcesBrad King2018-04-133-0/+24
| | | | | | | | | | | | | | Since commit v3.11.0-rc1~467^2 (VS,Xcode: Add CMakeLists.txt sources without mutating targets, 2017-10-18) we do not add `CMakeLists.txt` to target sources but instead generate references to them directly. This broke projects that explicitly specify their `CMakeLists.txt` file as a source file because the explicit entry is no longer consolidated with the generated one. Teach the relevant generators to avoid duplicating `CMakeLists.txt` source references and add test cases. Fixes: #17828
* Xcode: Generate ZERO_CHECK generator target only onceGregor Jasny2018-02-224-0/+21
| | | | | | | | | | | In case CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY has been enabled generate only the root-level ZERO_CHECK target so targets in subdirectories pick up the root generator target of ZERO_CHECK. For the case that CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is not enabled more investigation and a proper and final fix is still needed. Issue: 14297
* sourceFile properties: add property INCLUDE_DIRECTORIESMarc Chevrier2018-01-247-0/+26
|
* Darwin: Emit deployment target that matches the SDKGregor Jasny2017-12-227-0/+88
| | | | Closes: #17431
* Add generator expression support to per-source COMPILE_DEFINITIONSMarc Chevrier2017-12-054-0/+13
| | | | | | This allows users to specify different genex-based compile definitions for each file in a target. Fixes: #17508
* Xcode: Add option to generate only topmost project fileGregor Jasny2017-10-314-0/+8
| | | | Closes #16780
* Xcode 9: Lower iOS deployment version to get armv7 buildsGregor Jasny2017-10-101-5/+16
|
* Revert "Xcode: Adjust tests to drop of 32bit iOS architectures"Gregor Jasny2017-10-105-22/+4
| | | | This reverts commit d210b2813072c874ee13fcc941e41aacacf09874.
* Xcode: Adjust tests to drop of 32bit iOS architecturesGregor Jasny2017-10-055-4/+22
|
* Genex: Add `TARGET_BUNDLE_[CONTENT_]_DIR` generator expressionsGregor Jasny2017-03-301-0/+24
| | | | Closes #16733
* Xcode: Add test for schema generationGregor Jasny2017-03-122-0/+21
| | | | Closes: #15441
* Apple: Add support for static frameworksGregor Jasny2017-01-311-13/+39
| | | | Closes: #16432
* Xcode: Control emission of EFFECTIVE_PLATFORM_NAMEGregor Jasny2017-01-202-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building with multiple SDKs within one project Xcode requires the usage of ${EFFECTIVE_PLATFORM_NAME} to put temporary and build outout into separate directories. For example an iOS device and simulator build use two different SDKs (iphoneos and iphonesimulator). In the past cmake tries to detect embedded toolchains that could possibly use simulators and emitted EFFECTIVE_PLATFORM_NAME (EPN) at the proper locations. In #16253 Mark noticed that if he uses macosx and iphoneos in combination the necessary EPN is not emitted. This is because CMake by default assumes macosx SDK which does not trigger EPN emission. The fist naive approach - enabling EPN unconditionally revealed that then the EPN leaks into generator expressions like $<TARGET_FILE:xxx> which might be a regression and thus is unacceptable. The next approach was to add an CMake property to enable EPN emission unconditionally. This solved the reported problem. But the EPN leakage also happened for the embedded toolchains already without anyone noticing. So the control property was turned into a tri-state one: * No definition: EPN is activated for embedded toolchains like before * ON: EPN is always emitted * OFF: EPN is never emitted That approach gives the user the chance to disable EPN for embedded toolchains and restores generator expression functionality for those. Closes: #16253
* Tests: Add case for Xcode per-config per-source COMPILE_FLAGS diagnosticBrad King2016-10-284-0/+14
|
* Fix XCODE_ATTRIBUTE_..._LOCATION target property lookupBrad King2016-09-223-0/+11
| | | | | | | | | | | | | | | Refactoring in commit v3.5.0-rc1~272^2~16 (cmGeneratorTarget: Add API for property keys, 2015-10-25) changed the Xcode generator implementation of `XCODE_ATTRIBUTE_...` properties to use the target `GetProperty` method on each `XCODE_ATTRIBUTE_...` property listed by `GetPropertyKeys` instead of looping over the property entries directly. This made the lookup of property names of the form `XCODE_ATTRIBUTE_..._LOCATION` accidentally trigger the computed property logic for the undocumented/legacy `<CONFIG>_LOCATION` property. Of course the computed property value is not the same as the value stored in the `XCODE_ATTRIBUTE_..._LOCATION` property. Fix the computed property logic to avoid triggering on `XCODE_ATTRIBUTE_...` attributes. Closes: #16319
* Add tests for BUNDLE_EXTENSIONGregor Jasny2016-07-223-4/+64
|
* Revise C++ coding style using clang-formatKitware Robot2016-05-162-3/+6
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Fix iOS combined feature for single architecture targetsRuslan Baratov2016-03-153-0/+64
| | | | | | | If list of valid target architectures is empty for given SDK then there will be no VALID_ARCHS build setting returned by Xcode. Return "" (empty string) explicitly in this case. This may happens if CMAKE_IOS_INSTALL_COMBINED is ON but only one architecture used in target.
* Merge topic 'xcode-global-attribute-variant'Brad King2016-01-072-1/+61
|\ | | | | | | | | | | | | | | d8bc26a0 Xcode: Parse variant and genex for CMAKE_XCODE_ATTRIBUTE (#14947) dc0ddb9e Xcode: Store configuration name along with XcodeObject (#14947) 28f98cee Xcode: Make CMAKE_XCODE_ATTRIBUTE calculation last step (#14947) 28db2268 Xcode: Factor out XCODE_ATTRIBUTE_ variant filter (#14947)
| * Xcode: Parse variant and genex for CMAKE_XCODE_ATTRIBUTE (#14947)Gregor Jasny2016-01-032-1/+61
| |
* | Xcode: Escape all backslashes in strings (#15328)Gregor Jasny2016-01-073-0/+11
|/ | | | | | | | | | Before this change backslashes in strings were escaped during compile flags adds via AppendFlag(). But global flags like OTHER_CPLUSPLUSFLAGS are not added as flags but as plain strings so they were not escaped properly. Now the escaping is performed within cmXCodeObject::PrintString() which ensures that strings are always encoded.
* Xcode: Add support for combined install on iOSRuslan Baratov2015-12-107-0/+160
| | | | | | | | | | | | This patch solves the problem of installing both: Device and Simulator libraries on iOS. Before only one of them was installed. If the IOS_INSTALL_COMBINED property is set on a target, a special install hook will be activated which builds the corresponding target and combines both at the install location. The original patch was contributed by Ruslan Baratov, and polished by Gregor Jasny.
* Merge topic 'xcode-watch-and-tvos'Brad King2015-10-262-6/+56
|\ | | | | | | | | a91eebeb Xcode: Recognise Watch and TV OS as embedded platforms
| * Xcode: Recognise Watch and TV OS as embedded platformsGregor Jasny2015-10-232-6/+56
| |
* | Xcode: Use regular expression to extract all optimisation flags (#15794)Gregor Jasny2015-10-237-0/+63
|/
* Merge topic 'fix-ios-install'Brad King2015-09-015-1/+29
|\ | | | | | | | | | | | | ad262917 Xcode: Add unit test for iOS project install (#12506) 48fe617e Fix installation of iOS targets (#12506) d2c2319d Replace CMAKE_XCODE_EFFECTIVE_PLATFORMS with call to PlatformIsAppleIos
| * Xcode: Add unit test for iOS project install (#12506)Gregor Jasny2015-08-264-0/+29
| |
| * Replace CMAKE_XCODE_EFFECTIVE_PLATFORMS with call to PlatformIsAppleIosGregor Jasny2015-08-251-1/+0
| | | | | | | | | | | | | | Currently the CMAKE_XCODE_EFFECTIVE_PLATFORMS property acts only as a kind of toggle switch to enable iOS project layout features. But instead of relying on this undocumented property, better detect the presence of an iOS SDK directly.
* | Darwin: Add support for tbd library stub filesGregor Jasny2015-08-244-0/+27
|/ | | | | | | | Starting with Xcode 7 the OSX and iOS SDKs contain only stub files for dynamic system libraries. These stub files contain some meta data and a list of exported sysbols in plain text. They are handled by the toolchain like regular dylibs.
* Fix iOS Bundle layouts (#15669)Gregor Jasny2015-08-243-0/+81
| | | | | | | | | | In contrast to Mac OS X App bundle layout the iOS one lacks the Contents/MacOSX structure. See also the Bundle Structures documentation in Mac Developer Library: https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html For now detect iOS targets by checking the SDK name/path.
* Xcode: Refine quoting rules for StringsGregor Jasny2015-04-171-2/+2
| | | | | $ and . do not need to be quoted, but brackets and * must be to not confuse the Xcode parser.
* Xcode: Also quote strings containing // (#15487)Gregor Jasny2015-04-044-0/+11
| | | | | | Otherwise those will be interpreted as start of a comment Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* OS X: Add platform-specific Frameworks search pathGregor Jasny2015-02-232-0/+9
| | | | | | | | | | | | | | | Otherwise find_library is unable to lookup the XCTest framework which is not located in the SDK serach path: In the 10.10 SDK the SDK frameworks are located here: $DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks whereas the Platform SDKs are located here: $DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/Library/Frameworks Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* Xcode: Teach XCODE_ATTRIBUTE target properties about generator expressionsGregor Jasny2015-02-126-0/+24
| | | | Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* Xcode: Add source file property to control file type (#14854)Brad King2014-05-158-0/+20
Add source file properties to control Xcode file type attributes: XCODE_EXPLICIT_FILE_TYPE => explicitFileType XCODE_LAST_KNOWN_FILE_TYPE => lastKnownFileType Add a RunCMake.XcodeProject test to verify generated project content.