Hello, I made some more progress with XCTest bundles. The major difference to the last patch series is that I don't set any target properties on the testee from within the generator anymore. Instead I utilizes some helper functions (in XCTestUtilities.cmake). This also sanitizes error handling because everything happens in Script context.
For now I focussed on XCTest bundles for Frameworks because they are better testable than Cocoa App Bundles. I will add missing functionality to XCTestUtilities.cmake later. This won't require any new changes to the cmake binary because genrator expression for XCODE attributes were already merged. (Thanks Brad!). The first three patches add some plumbing to the cmake binary. The fourth one adds the helper and the last one the example. You could test the patches as follows: cd Tests/XCTest mkdir _build_make _build_xcode cd _build_make ../../../bin/cmake .. ../../../bin/cmake --build . ../../../bin/ctest --verbose cd ../_build_xcode ../../../bin/cmake -GXcode .. ../../../bin/cmake --build . --config Debug ../../../bin/ctest --verbose -C Debug (or within Xcode) open XCTestFramework.xcodeproj Select Framework.example scheme Product->Test (or CMD-U) View->Navigator->Test (CMD-5) I could need a helping hand with creating and wiring up tests for the patches. For example the Platform Framework search path: It should only get tested if the sysroot belongs to XCode 5 or later. I fear this is a rather complex condition to test for. It would be easier to check if the SDK is greater or equal to 10.9. Unfortunately the SDK version is not exported from Platform/Darwin.cmake. Similar for Tests/XCTest. One question about ctest: If I built cmake with command line make or ninja (which bootstraps far faster than Xcode), can I tell ctest to generate projects with Xcode? Or use a certain CMAKE_OSX_SYSROOT? Thanks, Gregor Gregor Jasny (5): Add handling for XCTest bundles Shorten CFBundleExecutable to file name only Also add Platform specific Frameworks to Darwin Framework search path Add XCTest helper utilities Add XCTest example to test Frameworks Help/manual/cmake-properties.7.rst | 1 + Help/prop_tgt/XCTEST.rst | 10 ++++ Modules/Platform/Darwin.cmake | 5 ++ Modules/XCTestUtilities.cmake | 58 ++++++++++++++++++++++ Source/cmGlobalXCodeGenerator.cxx | 12 ++++- Source/cmOSXBundleGenerator.cxx | 3 +- Source/cmTarget.cxx | 16 +++++- Source/cmTarget.h | 3 ++ Tests/XCTest/CMakeLists.txt | 38 ++++++++++++++ Tests/XCTest/FrameworkExample/FrameworkExample.c | 6 +++ Tests/XCTest/FrameworkExample/FrameworkExample.h | 1 + Tests/XCTest/FrameworkExample/Info.plist | 28 +++++++++++ .../FrameworkExampleTests/FrameworkExampleTests.m | 16 ++++++ Tests/XCTest/FrameworkExampleTests/Info.plist | 24 +++++++++ Tests/XcodePlatformFrameworks/CMakeLists.txt | 38 ++++++++++++++ 15 files changed, 255 insertions(+), 4 deletions(-) create mode 100644 Help/prop_tgt/XCTEST.rst create mode 100644 Modules/XCTestUtilities.cmake create mode 100644 Tests/XCTest/CMakeLists.txt create mode 100644 Tests/XCTest/FrameworkExample/FrameworkExample.c create mode 100644 Tests/XCTest/FrameworkExample/FrameworkExample.h create mode 100644 Tests/XCTest/FrameworkExample/Info.plist create mode 100644 Tests/XCTest/FrameworkExampleTests/FrameworkExampleTests.m create mode 100644 Tests/XCTest/FrameworkExampleTests/Info.plist create mode 100644 Tests/XcodePlatformFrameworks/CMakeLists.txt -- 2.3.0 -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers