From eafe740eadb5e9a8dfb2dddc95e063779183f2ab Mon Sep 17 00:00:00 2001
From: Yauheni Khnykin <yauheni.khnykin@here.com>
Date: Tue, 9 Feb 2021 10:15:08 +1100
Subject: FindXCTest: Fix output directory for test bundle with new build
 system

The output directory was still correct for macOS with the new build system,
but not for iOS.

Fixes: #20662
---
 Modules/FindXCTest.cmake | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/Modules/FindXCTest.cmake b/Modules/FindXCTest.cmake
index 1f6e825..48371e6 100644
--- a/Modules/FindXCTest.cmake
+++ b/Modules/FindXCTest.cmake
@@ -155,9 +155,16 @@ function(xctest_add_bundle target testee)
       set_target_properties(${target} PROPERTIES
         XCODE_ATTRIBUTE_BUNDLE_LOADER "$(TEST_HOST)"
         XCODE_ATTRIBUTE_TEST_HOST "$<TARGET_FILE:${testee}>")
-      if(NOT XCODE_VERSION VERSION_LESS 7.3)
+      if(XCODE_VERSION VERSION_GREATER_EQUAL 7.3)
+        # CMAKE_XCODE_BUILD_SYSTEM equals 12 means that at least Xcode 11.x is used.
+        if(CMAKE_XCODE_BUILD_SYSTEM EQUAL 12 AND
+           NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+          set(_output_directory "$<TARGET_BUNDLE_CONTENT_DIR:${testee}>")
+        else()
+          set(_output_directory "$<TARGET_BUNDLE_CONTENT_DIR:${testee}>/PlugIns")
+        endif()
         set_target_properties(${target} PROPERTIES
-          LIBRARY_OUTPUT_DIRECTORY "$<TARGET_BUNDLE_CONTENT_DIR:${testee}>/PlugIns")
+          LIBRARY_OUTPUT_DIRECTORY "${_output_directory}")
       endif()
     else(XCODE)
       target_link_libraries(${target}
-- 
cgit v0.12