From a364d2513a3fac76cf12cf3db21b7e9600ac51a4 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Fri, 25 Mar 2016 22:20:14 +0100 Subject: [PATCH] Xcode: Fixup XCTest bundle location for Xcode 7.3 Prior to Xcode 7.3 a XCTest bundle was built like an ordinary bundle. But starting with Xcode 7.3 it is implicitely built as a plugin for the test host. It looks like in that case the 'Build Products Path' is ignored. This patch simply sets the CMake target output path to the value Xcode expects internally to get a matching view of both. The command: xcodebuild -showBuildSettings -target CocoaExampleTests -configuration Debug Output with Xcode 7.2: TARGET_BUILD_DIR = .../Tests/XCTest/Debug Output with Xcode 7.3 TARGET_BUILD_DIR = .../Tests/XCTest/Debug/CocoaExample.app/Contents/PlugIns Signed-off-by: Gregor Jasny --- Modules/FindXCTest.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Modules/FindXCTest.cmake b/Modules/FindXCTest.cmake index 3cd9c22bc..805a58c59 100644 --- a/Modules/FindXCTest.cmake +++ b/Modules/FindXCTest.cmake @@ -140,6 +140,10 @@ function(xctest_add_bundle target testee) set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_BUNDLE_LOADER "$(TEST_HOST)" XCODE_ATTRIBUTE_TEST_HOST "$") + if(NOT XCODE_VERSION VERSION_LESS 7.3) + set_target_properties(${target} PROPERTIES + LIBRARY_OUTPUT_DIRECTORY "$/../PlugIns") + endif() else(XCODE) target_link_libraries(${target} PRIVATE -bundle_loader $)