ed8e7258f86168edcd9d6c273430cbb1ba232b5c
[platform/upstream/cmake.git] / Tests / RunCMake / XcodeProject / RunCMakeTest.cmake
1 include(RunCMake)
2
3 run_cmake(ExplicitCMakeLists)
4 run_cmake(ImplicitCMakeLists)
5 run_cmake(InterfaceLibSources)
6 run_cmake_with_options(SearchPaths -DCMAKE_CONFIGURATION_TYPES=Debug)
7 run_cmake(InheritedParameters)
8
9 run_cmake(XcodeFileType)
10 run_cmake(XcodeAttributeLocation)
11 run_cmake(XcodeAttributeGenex)
12 run_cmake(XcodeAttributeGenexError)
13 run_cmake(XcodeGenerateTopLevelProjectOnly)
14
15 if(XCODE_VERSION VERSION_GREATER_EQUAL 12)
16   run_cmake(XcodeDuplicateCustomCommand)
17 endif()
18
19 function(XcodeGenerateTopLevelProjectOnlyWithObjectLibrary)
20   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeGenerateTopLevelProjectOnlyWithObjectLibrary-build)
21   run_cmake(XcodeGenerateTopLevelProjectOnlyWithObjectLibrary)
22   set(RunCMake_TEST_NO_CLEAN 1)
23   run_cmake_command(XcodeGenerateTopLevelProjectOnlyWithObjectLibrary-build ${CMAKE_COMMAND} --build . --target shared_lib)
24 endfunction()
25
26 XcodeGenerateTopLevelProjectOnlyWithObjectLibrary()
27
28 function(LinkBinariesBuildPhase mode)
29   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/LinkBinariesBuildPhase_${mode}-build)
30   set(RunCMake_TEST_OPTIONS "-DCMAKE_XCODE_LINK_BUILD_PHASE_MODE=${mode}")
31   run_cmake(LinkBinariesBuildPhase_${mode})
32   set(RunCMake_TEST_NO_CLEAN 1)
33   run_cmake_command(LinkBinariesBuildPhase_${mode}-build ${CMAKE_COMMAND} --build .)
34 endfunction()
35
36 LinkBinariesBuildPhase(NONE)
37 LinkBinariesBuildPhase(BUILT_ONLY)
38 LinkBinariesBuildPhase(KNOWN_LOCATION)
39 run_cmake(LinkBinariesBuildPhase_INVALID)
40
41 run_cmake(XcodeObjectNeedsEscape)
42 run_cmake(XcodeObjectNeedsQuote)
43 run_cmake(XcodeOptimizationFlags)
44 run_cmake(XcodePreserveNonOptimizationFlags)
45 run_cmake(XcodePreserveObjcFlag)
46 run_cmake(XcodePrecompileHeaders)
47 if (NOT XCODE_VERSION VERSION_LESS 6)
48   run_cmake(XcodePlatformFrameworks)
49 endif()
50
51 run_cmake(PerConfigPerSourceFlags)
52 run_cmake(PerConfigPerSourceOptions)
53 run_cmake(PerConfigPerSourceDefinitions)
54 run_cmake(PerConfigPerSourceIncludeDirs)
55
56 if(XCODE_VERSION VERSION_GREATER_EQUAL 12)
57
58   function(XcodeObjectLibsInTwoProjectsiOS)
59     set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeObjectLibsInTwoProjects-build-ios)
60     set(RunCMake_TEST_OPTIONS "-DCMAKE_SYSTEM_NAME=iOS")
61
62     run_cmake(XcodeObjectLibsInTwoProjects)
63
64     set(RunCMake_TEST_NO_CLEAN 1)
65
66     run_cmake_command(XcodeObjectLibsInTwoProjects-build-ios ${CMAKE_COMMAND} --build . --target shared_lib -- -sdk iphonesimulator)
67   endfunction()
68
69   XcodeObjectLibsInTwoProjectsiOS()
70
71   function(XcodeObjectLibsInTwoProjectsMacOS)
72     set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeObjectLibsInTwoProjects-build-macos)
73
74     run_cmake(XcodeObjectLibsInTwoProjects)
75
76     set(RunCMake_TEST_NO_CLEAN 1)
77
78     run_cmake_command(XcodeObjectLibsInTwoProjects-build-macos ${CMAKE_COMMAND} --build . --target shared_lib)
79   endfunction()
80
81   XcodeObjectLibsInTwoProjectsMacOS()
82
83 endif()
84
85 function(XcodeSchemaGeneration)
86   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeSchemaGeneration-build)
87   set(RunCMake_TEST_NO_CLEAN 1)
88   set(RunCMake_TEST_OPTIONS "-DCMAKE_XCODE_GENERATE_SCHEME=ON")
89
90   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
91   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
92
93   run_cmake(XcodeSchemaGeneration)
94   run_cmake_command(XcodeSchemaGeneration-build xcodebuild -scheme foo build)
95 endfunction()
96
97 if(NOT XCODE_VERSION VERSION_LESS 7)
98   XcodeSchemaGeneration()
99   run_cmake(XcodeSchemaProperty)
100 endif()
101
102 function(XcodeDependOnZeroCheck)
103   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeDependOnZeroCheck-build)
104   set(RunCMake_TEST_NO_CLEAN 1)
105
106   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
107   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
108
109   run_cmake(XcodeDependOnZeroCheck)
110   run_cmake_command(XcodeDependOnZeroCheck-build ${CMAKE_COMMAND} --build . --target parentdirlib)
111   run_cmake_command(XcodeDependOnZeroCheck-build ${CMAKE_COMMAND} --build . --target subdirlib)
112 endfunction()
113
114 XcodeDependOnZeroCheck()
115
116 function(XcodeObjcxxFlags testName)
117   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${testName}-build)
118   set(RunCMake_TEST_NO_CLEAN 1)
119
120   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
121   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
122
123   run_cmake(${testName})
124   run_cmake_command(${testName}-build ${CMAKE_COMMAND} --build .)
125 endfunction()
126
127 XcodeObjcxxFlags(XcodeObjcFlags)
128 XcodeObjcxxFlags(XcodeObjcxxFlags)
129
130 function(XcodeRemoveExcessiveISystem)
131   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeRemoveExcessiveISystem-build)
132   run_cmake(XcodeRemoveExcessiveISystem)
133   set(RunCMake_TEST_NO_CLEAN 1)
134   run_cmake_command(XcodeRemoveExcessiveISystem-build ${CMAKE_COMMAND} --build .)
135 endfunction()
136
137 XcodeRemoveExcessiveISystem()
138
139 # Isolate device tests from host architecture selection.
140 unset(ENV{CMAKE_OSX_ARCHITECTURES})
141
142 # Use a single build tree for a few tests without cleaning.
143
144 if(NOT XCODE_VERSION VERSION_LESS 5)
145   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeInstallIOS-build)
146   set(RunCMake_TEST_NO_CLEAN 1)
147   set(RunCMake_TEST_OPTIONS
148     "-DCMAKE_SYSTEM_NAME=iOS"
149     "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_BINARY_DIR}/ios_install")
150
151   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
152   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
153
154   run_cmake(XcodeInstallIOS)
155   run_cmake_command(XcodeInstallIOS-install ${CMAKE_COMMAND} --build . --target install)
156
157   unset(RunCMake_TEST_BINARY_DIR)
158   unset(RunCMake_TEST_NO_CLEAN)
159   unset(RunCMake_TEST_OPTIONS)
160
161   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesOSX-build)
162   set(RunCMake_TEST_NO_CLEAN 1)
163   set(RunCMake_TEST_OPTIONS
164     "-DCMAKE_SYSTEM_NAME=Darwin"
165     "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
166
167   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
168   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
169
170   run_cmake(XcodeBundles)
171   run_cmake_command(XcodeBundles-build-macOS ${CMAKE_COMMAND} --build .)
172   run_cmake_command(XcodeBundles-install-macOS ${CMAKE_COMMAND} --build . --target install)
173
174   unset(RunCMake_TEST_BINARY_DIR)
175   unset(RunCMake_TEST_NO_CLEAN)
176   unset(RunCMake_TEST_OPTIONS)
177
178   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesIOS-build)
179   set(RunCMake_TEST_NO_CLEAN 1)
180   set(RunCMake_TEST_OPTIONS
181     "-DCMAKE_SYSTEM_NAME=iOS"
182     "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
183
184   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
185   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
186
187   run_cmake(XcodeBundles)
188   run_cmake_command(XcodeBundles-build-iOS ${CMAKE_COMMAND} --build .)
189   run_cmake_command(XcodeBundles-install-iOS ${CMAKE_COMMAND} --build . --target install)
190
191   unset(RunCMake_TEST_BINARY_DIR)
192   unset(RunCMake_TEST_NO_CLEAN)
193   unset(RunCMake_TEST_OPTIONS)
194 endif()
195
196 if(NOT XCODE_VERSION VERSION_LESS 7)
197   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesWatchOS-build)
198   set(RunCMake_TEST_NO_CLEAN 1)
199   set(RunCMake_TEST_OPTIONS
200     "-DCMAKE_SYSTEM_NAME=watchOS"
201     "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
202
203   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
204   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
205
206   run_cmake(XcodeBundles)
207   run_cmake_command(XcodeBundles-build-watchOS ${CMAKE_COMMAND} --build .)
208   run_cmake_command(XcodeBundles-install-watchOS ${CMAKE_COMMAND} --build . --target install)
209
210   unset(RunCMake_TEST_BINARY_DIR)
211   unset(RunCMake_TEST_NO_CLEAN)
212   unset(RunCMake_TEST_OPTIONS)
213 endif()
214
215 if(NOT XCODE_VERSION VERSION_LESS 7.1)
216   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesTvOS-build)
217   set(RunCMake_TEST_NO_CLEAN 1)
218   set(RunCMake_TEST_OPTIONS
219     "-DCMAKE_SYSTEM_NAME=tvOS"
220     "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
221
222   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
223   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
224
225   run_cmake(XcodeBundles)
226   run_cmake_command(XcodeBundles-build-tvOS ${CMAKE_COMMAND} --build .)
227   run_cmake_command(XcodeBundles-install-tvOS ${CMAKE_COMMAND} --build . --target install)
228
229   unset(RunCMake_TEST_BINARY_DIR)
230   unset(RunCMake_TEST_NO_CLEAN)
231   unset(RunCMake_TEST_OPTIONS)
232 endif()
233
234 if(NOT XCODE_VERSION VERSION_LESS 7)
235   set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/osx.cmake")
236   run_cmake(XcodeTbdStub)
237   unset(RunCMake_TEST_OPTIONS)
238 endif()
239
240 if(XCODE_VERSION VERSION_GREATER_EQUAL 6)
241   # XcodeIOSInstallCombined
242   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeIOSInstallCombined-build)
243   set(RunCMake_TEST_NO_CLEAN 1)
244   set(RunCMake_TEST_OPTIONS
245     "-DCMAKE_SYSTEM_NAME=iOS"
246     "-DCMAKE_IOS_INSTALL_COMBINED=YES"
247     "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
248
249   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
250   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
251
252   run_cmake(XcodeIOSInstallCombined)
253   run_cmake_command(XcodeIOSInstallCombined-build ${CMAKE_COMMAND} --build .)
254   if(XCODE_VERSION VERSION_LESS 12)
255     run_cmake_command(XcodeIOSInstallCombined-install ${CMAKE_COMMAND} --build . --target install)
256   endif()
257   # --build defaults to Debug, --install defaults to Release, so we have to
258   # specify the configuration explicitly
259   run_cmake_command(XcodeIOSInstallCombined-cmakeinstall
260     ${CMAKE_COMMAND} --install . --config Debug
261   )
262
263   unset(RunCMake_TEST_BINARY_DIR)
264   unset(RunCMake_TEST_NO_CLEAN)
265   unset(RunCMake_TEST_OPTIONS)
266
267   # XcodeIOSInstallCombinedPrune
268   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeIOSInstallCombinedPrune-build)
269   set(RunCMake_TEST_NO_CLEAN 1)
270   set(RunCMake_TEST_OPTIONS
271     "-DCMAKE_SYSTEM_NAME=iOS"
272     "-DCMAKE_IOS_INSTALL_COMBINED=YES"
273     "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
274
275   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
276   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
277
278   run_cmake(XcodeIOSInstallCombinedPrune)
279   run_cmake_command(XcodeIOSInstallCombinedPrune-build ${CMAKE_COMMAND} --build .)
280   if(XCODE_VERSION VERSION_LESS 12)
281     run_cmake_command(XcodeIOSInstallCombinedPrune-install ${CMAKE_COMMAND} --build . --target install)
282   endif()
283   # --build defaults to Debug, --install defaults to Release, so we have to
284   # specify the configuration explicitly
285   run_cmake_command(XcodeIOSInstallCombinedPrune-cmakeinstall
286     ${CMAKE_COMMAND} --install . --config Debug
287   )
288
289   unset(RunCMake_TEST_BINARY_DIR)
290   unset(RunCMake_TEST_NO_CLEAN)
291   unset(RunCMake_TEST_OPTIONS)
292
293   # XcodeIOSInstallCombinedSingleArch
294   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeIOSInstallCombinedSingleArch-build)
295   set(RunCMake_TEST_NO_CLEAN 1)
296   set(RunCMake_TEST_OPTIONS
297     "-DCMAKE_SYSTEM_NAME=iOS"
298     "-DCMAKE_IOS_INSTALL_COMBINED=YES"
299     "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
300
301   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
302   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
303
304   run_cmake(XcodeIOSInstallCombinedSingleArch)
305   run_cmake_command(XcodeIOSInstallCombinedSingleArch-build ${CMAKE_COMMAND} --build .)
306   if(XCODE_VERSION VERSION_LESS 12)
307     run_cmake_command(XcodeIOSInstallCombinedSingleArch-install ${CMAKE_COMMAND} --build . --target install)
308   endif()
309   # --build defaults to Debug, --install defaults to Release, so we have to
310   # specify the configuration explicitly
311   run_cmake_command(XcodeIOSInstallCombinedSingleArch-cmakeinstall
312     ${CMAKE_COMMAND} --install . --config Debug
313   )
314
315   unset(RunCMake_TEST_BINARY_DIR)
316   unset(RunCMake_TEST_NO_CLEAN)
317   unset(RunCMake_TEST_OPTIONS)
318 endif()
319
320 if(NOT XCODE_VERSION VERSION_LESS 5)
321   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeMultiplatform-build)
322   set(RunCMake_TEST_NO_CLEAN 1)
323   set(RunCMake_TEST_OPTIONS "${IOS_DEPLOYMENT_TARGET}")
324
325   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
326   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
327
328   run_cmake(XcodeMultiplatform)
329
330   # build ios before macos
331   run_cmake_command(XcodeMultiplatform-iphonesimulator-build ${CMAKE_COMMAND} --build . -- -sdk iphonesimulator)
332   run_cmake_command(XcodeMultiplatform-iphonesimulator-install ${CMAKE_COMMAND} --build . --target install -- -sdk iphonesimulator DESTDIR=${RunCMake_TEST_BINARY_DIR}/_install_iphonesimulator)
333
334   run_cmake_command(XcodeMultiplatform-macosx-build ${CMAKE_COMMAND} --build . -- -sdk macosx)
335   run_cmake_command(XcodeMultiplatform-macosx-install ${CMAKE_COMMAND} --build . --target install -- -sdk macosx DESTDIR=${RunCMake_TEST_BINARY_DIR}/_install_macosx)
336
337   unset(RunCMake_TEST_BINARY_DIR)
338   unset(RunCMake_TEST_NO_CLEAN)
339   unset(RunCMake_TEST_OPTIONS)
340 endif()
341
342 if(XCODE_VERSION VERSION_GREATER_EQUAL 8)
343   function(deployment_target_test SystemName SDK)
344     set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/DeploymentTarget-${SDK}-build)
345     set(RunCMake_TEST_NO_CLEAN 1)
346     set(RunCMake_TEST_OPTIONS "-DCMAKE_SYSTEM_NAME=${SystemName}" "-DCMAKE_OSX_SYSROOT=${SDK}")
347
348     file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
349     file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
350
351     run_cmake(DeploymentTarget)
352     run_cmake_command(DeploymentTarget-${SDK} ${CMAKE_COMMAND} --build .)
353   endfunction()
354
355   deployment_target_test(Darwin macosx)
356   deployment_target_test(iOS iphoneos)
357   deployment_target_test(iOS iphonesimulator)
358   deployment_target_test(tvOS appletvos)
359   deployment_target_test(tvOS appletvsimulator)
360   deployment_target_test(watchOS watchos)
361   deployment_target_test(watchOS watchsimulator)
362 endif()
363
364 if(XCODE_VERSION VERSION_GREATER_EQUAL 8)
365   function(xctest_lookup_test SystemName SDK)
366     set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XCTestLookup-${SDK}-build)
367     set(RunCMake_TEST_OPTIONS "-DCMAKE_SYSTEM_NAME=${SystemName}" "-DCMAKE_OSX_SYSROOT=${SDK}")
368
369     run_cmake(XCTestLookup)
370   endfunction()
371
372   xctest_lookup_test(Darwin macosx)
373   xctest_lookup_test(iOS iphoneos)
374   xctest_lookup_test(iOS iphonesimulator)
375   xctest_lookup_test(tvOS appletvos)
376   xctest_lookup_test(tvOS appletvsimulator)
377 endif()
378
379 if(XCODE_VERSION VERSION_GREATER_EQUAL 8)
380   function(XcodeRemoveExcessiveISystemSDK SDK)
381     set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeRemoveExcessiveISystemSDK-${SDK}-build)
382     set(RunCMake_TEST_OPTIONS "-DCMAKE_SYSTEM_NAME=iOS" "-DCMAKE_OSX_SYSROOT=${SDK}")
383     run_cmake(XcodeRemoveExcessiveISystem)
384     set(RunCMake_TEST_NO_CLEAN 1)
385     run_cmake_command(XcodeRemoveExcessiveISystemSDK-${SDK}-build ${CMAKE_COMMAND} --build .)
386   endfunction()
387
388   XcodeRemoveExcessiveISystemSDK(iphoneos)
389   XcodeRemoveExcessiveISystemSDK(iphonesimulator)
390 endif()
391
392 if (XCODE_VERSION VERSION_GREATER_EQUAL 7.3)
393   function(xctest_add_bundle_test SystemName SDK BuildSystemVersion ExpectedOutputDir)
394     set(RunCMake_TEST_BINARY_DIR
395       ${RunCMake_BINARY_DIR}/DeploymentTarget-${SystemName}-${SDK}-${BuildSystemVersion}-build)
396     set(RunCMake_TEST_OPTIONS
397       "-DCMAKE_SYSTEM_NAME=${SystemName}"
398       "-DCMAKE_OSX_SYSROOT=${SDK}"
399       "-DTEST_EXPECTED_OUTPUT_DIR=${ExpectedOutputDir}")
400     unset(RunCMake_GENERATOR_TOOLSET)
401     if(BuildSystemVersion)
402       set(RunCMake_GENERATOR_TOOLSET "buildsystem=${BuildSystemVersion}")
403     endif()
404     run_cmake(XCTestAddBundle)
405   endfunction()
406
407   if(XCODE_VERSION VERSION_GREATER_EQUAL 12)
408     xctest_add_bundle_test(Darwin macosx "1" "$<TARGET_BUNDLE_CONTENT_DIR:TestedApp>/PlugIns")
409     xctest_add_bundle_test(Darwin macosx "12" "$<TARGET_BUNDLE_CONTENT_DIR:TestedApp>/PlugIns")
410     xctest_add_bundle_test(iOS iphonesimulator "1" "$<TARGET_BUNDLE_CONTENT_DIR:TestedApp>/PlugIns")
411     if (XCODE_VERSION VERSION_LESS 12.5)
412       xctest_add_bundle_test(iOS iphonesimulator "12" "$<TARGET_BUNDLE_CONTENT_DIR:TestedApp>")
413     else()
414       xctest_add_bundle_test(iOS iphonesimulator "12" "$<TARGET_BUNDLE_CONTENT_DIR:TestedApp>/PlugIns")
415     endif()
416   else()
417     xctest_add_bundle_test(Darwin macosx "" "$<TARGET_BUNDLE_CONTENT_DIR:TestedApp>/PlugIns")
418     xctest_add_bundle_test(iOS iphonesimulator "" "$<TARGET_BUNDLE_CONTENT_DIR:TestedApp>/PlugIns")
419   endif()
420 endif()
421
422 # Please add macOS-only tests above before the device-specific tests.