| if (WEBKIT_SDK_IS_MACOS) | |
| # TestRunnerShared/CMakeLists.txt defines TestRunnerShared_DIR; this file uses the old name. | |
| set(WebKitTestRunner_SHARED_DIR ${TOOLS_DIR}/TestRunnerShared) | |
| find_library(CARBON_LIBRARY Carbon) | |
| find_library(FOUNDATION_LIBRARY Foundation) | |
| find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices) | |
| find_library(CORESERVICES_LIBRARY CoreServices) | |
| add_definitions(-iframework ${APPLICATIONSERVICES_LIBRARY}/Versions/Current/Frameworks) | |
| add_definitions(-iframework ${CORESERVICES_LIBRARY}/Versions/Current/Frameworks) | |
| link_directories(../../WebKitLibraries) | |
| # JSC_{API,CLASS}_AVAILABLE defined by JavaScriptCore/WebKitAvailability.h since it gained the | |
| # !JSC_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED fallback -- these now just cause -Wmacro-redefined. | |
| # Prefix header matching Xcode's GCC_PREFIX_HEADER. Must use _COMPILE_OPTIONS list | |
| # (not add_compile_options) -- targets are created before this file is included. | |
| set(_wtr_mac_compile_options | |
| -include "${WebKitTestRunner_DIR}/WebKitTestRunnerPrefix.h" | |
| # CTFontManagerRegisterFontsForURLs deprecated in 10.15; NSAnyEventMask in 10.12. | |
| -Wno-deprecated # "treating 'c-header' input as 'c++-header'" -- -include of a .h | |
| -Wno-deprecated-declarations | |
| -Wno-objc-method-access # FIXME: https://bugs.webkit.org/show_bug.cgi?id=312034 | |
| ) | |
| list(APPEND WebKitTestRunner_COMPILE_OPTIONS ${_wtr_mac_compile_options}) | |
| list(APPEND TestRunnerInjectedBundle_COMPILE_OPTIONS ${_wtr_mac_compile_options}) | |
| # TestControllerMac.mm expects a .bundle next to the WTR binary. | |
| # BUNDLE TRUE on a MODULE library emits a macOS CFBundle layout. | |
| set(EXECUTABLE_NAME WebKitTestRunnerInjectedBundle) | |
| set(PRODUCT_BUNDLE_IDENTIFIER com.apple.WebKitTestRunner.InjectedBundle) | |
| configure_file("${WebKitTestRunner_DIR}/InjectedBundle-Info.plist" | |
| "${CMAKE_CURRENT_BINARY_DIR}/InjectedBundle-Info.plist") | |
| set_target_properties(TestRunnerInjectedBundle PROPERTIES | |
| BUNDLE TRUE | |
| BUNDLE_EXTENSION bundle | |
| OUTPUT_NAME WebKitTestRunnerInjectedBundle | |
| MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/InjectedBundle-Info.plist" | |
| CODE_SIGN_BUNDLE "$<TARGET_BUNDLE_DIR:TestRunnerInjectedBundle>" | |
| ) | |
| # Embed the Info.plist in the __TEXT,__info_plist section; WebKit's | |
| # isRunningTest() checks the resulting bundle identifier. | |
| set(PRODUCT_NAME WebKitTestRunner) | |
| set(PRODUCT_BUNDLE_IDENTIFIER com.apple.WebKit.WebKitTestRunner) | |
| configure_file("${WebKitTestRunner_DIR}/Info.plist" | |
| "${CMAKE_CURRENT_BINARY_DIR}/WebKitTestRunner-Info.plist") | |
| unset(PRODUCT_NAME) | |
| unset(PRODUCT_BUNDLE_IDENTIFIER) | |
| target_link_options(WebKitTestRunner PRIVATE | |
| "LINKER:-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_BINARY_DIR}/WebKitTestRunner-Info.plist") | |
| set_property(TARGET WebKitTestRunner APPEND PROPERTY LINK_DEPENDS | |
| "${CMAKE_CURRENT_BINARY_DIR}/WebKitTestRunner-Info.plist") | |
| if (USE_APPLE_INTERNAL_SDK) | |
| set_property(TARGET WebKitTestRunner PROPERTY CODE_SIGN_ENTITLEMENTS | |
| "${WebKitTestRunner_DIR}/Configurations/WebKitTestRunner-internal.entitlements" | |
| ) | |
| else () | |
| set_property(TARGET WebKitTestRunner PROPERTY CODE_SIGN_ENTITLEMENTS | |
| "${WebKitTestRunner_DIR}/Configurations/WebKitTestRunner.entitlements" | |
| ) | |
| endif () | |
| # ActivateFontsCocoa.mm registers fonts from the bundle's Resources/. | |
| # AHEM is the critical one -- layout tests assume it for pixel-perfect metric consistency. | |
| file(GLOB _wtr_fonts | |
| "${WebKitTestRunner_DIR}/fonts/*.ttf" | |
| "${WebKitTestRunner_DIR}/fonts/*.TTF" | |
| "${WebKitTestRunner_DIR}/fonts/*.otf" | |
| "${WebKitTestRunner_DIR}/FakeHelvetica-ArmenianCharacter.ttf" | |
| "${WebKitTestRunner_DIR}/FontWithFeatures.ttf" | |
| "${WebKitTestRunner_DIR}/FontWithFeatures.otf" | |
| ) | |
| set_property(TARGET TestRunnerInjectedBundle APPEND PROPERTY RESOURCE "${_wtr_fonts}") | |
| target_sources(TestRunnerInjectedBundle PRIVATE ${_wtr_fonts}) | |
| # WebKit headers first (same ordering as MiniBrowser). WTR also uses WebKit private headers | |
| # directly -- add UIProcess source paths matching Xcode's HEADER_SEARCH_PATHS. | |
| list(APPEND WebKitTestRunner_INCLUDE_DIRECTORIES | |
| ${WebKit_FRAMEWORK_HEADERS_DIR} | |
| ${WebKitLegacy_FRAMEWORK_HEADERS_DIR} | |
| ${WEBKIT_DIR}/UIProcess/API/C/cocoa | |
| ${WEBKIT_DIR}/UIProcess/API/C/mac | |
| ${WEBKIT_DIR}/UIProcess/API/Cocoa | |
| ${WEBKIT_DIR}/UIProcess/Cocoa | |
| ${WEBKIT_DIR}/Shared | |
| ) | |
| list(APPEND WebKitTestRunner_LIBRARIES | |
| ${CARBON_LIBRARY} | |
| ) | |
| list(APPEND WebKitTestRunner_PRIVATE_LIBRARIES | |
| "-framework Cocoa" | |
| "-framework UniformTypeIdentifiers" | |
| ) | |
| set(_wtr_mac_include_dirs | |
| ${CMAKE_BINARY_DIR} | |
| ${CMAKE_SOURCE_DIR}/WebKitLibraries | |
| ${ICU_INCLUDE_DIRS} | |
| ${WEBCORE_DIR}/testing/cocoa | |
| ${WEBKITLEGACY_DIR} | |
| ${WebKitTestRunner_DIR}/cf | |
| ${WebKitTestRunner_DIR}/cg | |
| ${WebKitTestRunner_DIR}/cocoa | |
| ${WebKitTestRunner_DIR}/mac | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa | |
| ${WebKitTestRunner_DIR}/InjectedBundle/mac | |
| ${WebKitTestRunner_SHARED_DIR}/EventSerialization/mac | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa | |
| ${WebKitTestRunner_SHARED_DIR}/mac | |
| ${WebKitTestRunner_SHARED_DIR}/spi | |
| ) | |
| # WebKitTestRunner_INCLUDE_DIRECTORIES only applies to the WebKitTestRunner executable target; | |
| # TestRunnerInjectedBundle is a separate target with its own include list. | |
| list(APPEND WebKitTestRunner_INCLUDE_DIRECTORIES ${_wtr_mac_include_dirs}) | |
| list(APPEND TestRunnerInjectedBundle_INCLUDE_DIRECTORIES ${_wtr_mac_include_dirs}) | |
| list(APPEND TestRunnerInjectedBundle_SOURCES | |
| ${WebKitTestRunner_DIR}/cocoa/CrashReporterInfo.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/AccessibilityCommonCocoa.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/AccessibilityNotificationHandler.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/AccessibilityTextMarkerRangeCocoa.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/ActivateFontsCocoa.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/TestRunnerCocoa.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/mac/AccessibilityControllerMac.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/mac/AccessibilityTextMarkerMac.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/mac/AccessibilityUIElementClientMac.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/mac/AccessibilityUIElementMac.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/mac/InjectedBundleMac.mm | |
| ${WebKitTestRunner_SHARED_DIR}/EventSerialization/mac/EventSerializerMac.mm | |
| ${WebKitTestRunner_SHARED_DIR}/EventSerialization/mac/SharedEventStreamsMac.mm | |
| ) | |
| # WTF is an OBJECT library -- linking it directly creates a second copy of WTF static state | |
| # alongside JavaScriptCore.framework's, causing heap crashes. WTF symbols come transitively | |
| # via JavaScriptCore which re-exports WTF. | |
| list(APPEND TestRunnerInjectedBundle_LIBRARIES | |
| ${FOUNDATION_LIBRARY} | |
| JavaScriptCore | |
| WebCoreTestSupport | |
| WebKit | |
| ) | |
| list(APPEND TestRunnerInjectedBundle_PRIVATE_LIBRARIES | |
| "-framework Carbon" | |
| "-framework Cocoa" | |
| "-framework CoreText" | |
| "-framework QuartzCore" | |
| "-lAccessibility" | |
| ICU::uc | |
| ) | |
| list(APPEND WebKitTestRunner_SOURCES | |
| ${WebKitTestRunner_DIR}/cocoa/CrashReporterInfo.mm | |
| ${WebKitTestRunner_DIR}/cocoa/EventSenderProxyCocoa.mm | |
| ${WebKitTestRunner_DIR}/cocoa/TestControllerCocoa.mm | |
| ${WebKitTestRunner_DIR}/cocoa/TestInvocationCocoa.mm | |
| ${WebKitTestRunner_DIR}/cocoa/TestRunnerWKWebView.mm | |
| ${WebKitTestRunner_DIR}/cocoa/TestWebsiteDataStoreDelegate.mm | |
| ${WebKitTestRunner_DIR}/cocoa/UIScriptControllerCocoa.mm | |
| ${WebKitTestRunner_DIR}/cocoa/WebNotificationProviderCocoa.mm | |
| ${WebKitTestRunner_DIR}/cocoa/WKTextExtractionTestingHelpers.mm | |
| ${WebKitTestRunner_DIR}/mac/EventSenderProxy.mm | |
| ${WebKitTestRunner_DIR}/mac/PlatformWebViewMac.mm | |
| ${WebKitTestRunner_DIR}/mac/TestControllerMac.mm | |
| ${WebKitTestRunner_DIR}/mac/UIScriptControllerMac.mm | |
| ${WebKitTestRunner_DIR}/mac/WebKitTestRunnerDraggingInfo.mm | |
| ${WebKitTestRunner_DIR}/mac/WebKitTestRunnerEvent.mm | |
| ${WebKitTestRunner_DIR}/mac/WebKitTestRunnerPasteboard.mm | |
| ${WebKitTestRunner_DIR}/mac/WebKitTestRunnerWindow.mm | |
| ${WebKitTestRunner_DIR}/mac/main.mm | |
| ${WebKitTestRunner_SHARED_DIR}/mac/NSPasteboardAdditions.mm | |
| ${WebKitTestRunner_SHARED_DIR}/mac/SyntheticNSEvent.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/ClassMethodSwizzler.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/InstanceMethodSwizzler.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/LayoutTestSpellChecker.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/ModifierKeys.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/PlatformViewHelpers.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/PoseAsClass.mm | |
| ${WebKitTestRunner_SHARED_DIR}/EventSerialization/mac/EventSerializerMac.mm | |
| ${WebKitTestRunner_SHARED_DIR}/EventSerialization/mac/SharedEventStreamsMac.mm | |
| ) | |
| link_directories(../../WebKitLibraries) | |
| elseif (WEBKIT_SDK_IS_IOS_FAMILY) | |
| set(WebKitTestRunner_SHARED_DIR ${TOOLS_DIR}/TestRunnerShared) | |
| find_library(FOUNDATION_LIBRARY Foundation) | |
| find_library(UIKIT_LIBRARY UIKit) | |
| set(_wktr_ios_compile_options | |
| -include "${WebKitTestRunner_DIR}/WebKitTestRunnerPrefix.h" | |
| -Wno-deprecated | |
| -Wno-deprecated-declarations | |
| -Wno-objc-method-access | |
| ) | |
| list(APPEND WebKitTestRunner_COMPILE_OPTIONS ${_wktr_ios_compile_options}) | |
| list(APPEND TestRunnerInjectedBundle_COMPILE_OPTIONS ${_wktr_ios_compile_options}) | |
| set(EXECUTABLE_NAME WebKitTestRunnerInjectedBundle) | |
| set(PRODUCT_BUNDLE_IDENTIFIER com.apple.WebKitTestRunner.InjectedBundle) | |
| configure_file("${WebKitTestRunner_DIR}/InjectedBundle-Info.plist" | |
| "${CMAKE_CURRENT_BINARY_DIR}/InjectedBundle-Info.plist") | |
| set(_wktr_app_dir "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKitTestRunnerApp.app") | |
| # TestControllerIOS.mm loads the injected bundle out of the app's PlugIns directory. | |
| set_target_properties(TestRunnerInjectedBundle PROPERTIES | |
| BUNDLE TRUE | |
| BUNDLE_EXTENSION bundle | |
| OUTPUT_NAME WebKitTestRunnerInjectedBundle | |
| MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/InjectedBundle-Info.plist" | |
| LIBRARY_OUTPUT_DIRECTORY "${_wktr_app_dir}/PlugIns" | |
| CODE_SIGN_BUNDLE "$<TARGET_BUNDLE_DIR:TestRunnerInjectedBundle>" | |
| ) | |
| # Fonts for layout tests. | |
| file(GLOB _wktr_fonts | |
| "${WebKitTestRunner_DIR}/fonts/*.ttf" | |
| "${WebKitTestRunner_DIR}/fonts/*.TTF" | |
| "${WebKitTestRunner_DIR}/fonts/*.otf" | |
| "${WebKitTestRunner_DIR}/FakeHelvetica-ArmenianCharacter.ttf" | |
| "${WebKitTestRunner_DIR}/FontWithFeatures.ttf" | |
| "${WebKitTestRunner_DIR}/FontWithFeatures.otf" | |
| ) | |
| set_property(TARGET TestRunnerInjectedBundle APPEND PROPERTY RESOURCE "${_wktr_fonts}") | |
| target_sources(TestRunnerInjectedBundle PRIVATE ${_wktr_fonts}) | |
| list(APPEND WebKitTestRunner_INCLUDE_DIRECTORIES | |
| ${WebKit_FRAMEWORK_HEADERS_DIR} | |
| ${WebKit_PRIVATE_FRAMEWORK_HEADERS_DIR} | |
| ${WEBKIT_DIR}/UIProcess/API/C/cocoa | |
| ${WEBKIT_DIR}/UIProcess/API/C/mac | |
| ${WEBKIT_DIR}/UIProcess/API/Cocoa | |
| ${WEBKIT_DIR}/UIProcess/Cocoa | |
| ${WEBKIT_DIR}/Shared | |
| ) | |
| list(APPEND WebKitTestRunner_LIBRARIES | |
| JavaScriptCore | |
| ) | |
| set(_wktr_ios_include_dirs | |
| ${CMAKE_BINARY_DIR} | |
| ${CMAKE_SOURCE_DIR}/WebKitLibraries | |
| ${WEBCORE_DIR}/testing/cocoa | |
| ${PAL_FRAMEWORK_HEADERS_DIR} | |
| ${WEBKIT_DIR}/Platform/spi/ios | |
| ${WEBKIT_DIR}/Platform/spi/watchos | |
| ${WEBKIT_DIR}/UIProcess/ios | |
| ${WebKitTestRunner_DIR}/cf | |
| ${WebKitTestRunner_DIR}/cg | |
| ${WebKitTestRunner_DIR}/cocoa | |
| ${WebKitTestRunner_DIR}/ios | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa | |
| ${WebKitTestRunner_DIR}/InjectedBundle/ios | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa | |
| ${WebKitTestRunner_SHARED_DIR}/spi | |
| ) | |
| list(APPEND WebKitTestRunner_INCLUDE_DIRECTORIES ${_wktr_ios_include_dirs}) | |
| list(APPEND TestRunnerInjectedBundle_INCLUDE_DIRECTORIES ${_wktr_ios_include_dirs}) | |
| target_link_options(TestRunnerInjectedBundle PRIVATE "LINKER:-not_for_dyld_shared_cache") | |
| list(APPEND TestRunnerInjectedBundle_SOURCES | |
| ${WebKitTestRunner_DIR}/cocoa/CrashReporterInfo.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/AccessibilityCommonCocoa.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/AccessibilityNotificationHandler.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/AccessibilityTextMarkerRangeCocoa.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/ActivateFontsCocoa.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/TestRunnerCocoa.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/ios/AccessibilityControllerIOS.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/ios/AccessibilityTextMarkerIOS.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/ios/AccessibilityUIElementIOS.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/ios/EventSenderProxyIOS.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/ios/InjectedBundleIOS.mm | |
| ) | |
| list(APPEND TestRunnerInjectedBundle_LIBRARIES | |
| ${FOUNDATION_LIBRARY} | |
| JavaScriptCore | |
| WebCoreTestSupport | |
| WebKit | |
| ) | |
| list(APPEND TestRunnerInjectedBundle_PRIVATE_LIBRARIES | |
| "-framework CFNetwork" | |
| "-framework CoreFoundation" | |
| "-framework CoreGraphics" | |
| "-framework CoreText" | |
| "-framework QuartzCore" | |
| ${UIKIT_LIBRARY} | |
| ICU::uc | |
| ) | |
| list(APPEND WebKitTestRunner_SOURCES | |
| ${WebKitTestRunner_DIR}/cocoa/CrashReporterInfo.mm | |
| ${WebKitTestRunner_DIR}/cocoa/EventSenderProxyCocoa.mm | |
| ${WebKitTestRunner_DIR}/cocoa/TestControllerCocoa.mm | |
| ${WebKitTestRunner_DIR}/cocoa/TestInvocationCocoa.mm | |
| ${WebKitTestRunner_DIR}/cocoa/TestRunnerWKWebView.mm | |
| ${WebKitTestRunner_DIR}/cocoa/TestWebsiteDataStoreDelegate.mm | |
| ${WebKitTestRunner_DIR}/cocoa/UIScriptControllerCocoa.mm | |
| ${WebKitTestRunner_DIR}/cocoa/WebNotificationProviderCocoa.mm | |
| ${WebKitTestRunner_DIR}/cocoa/WKTextExtractionTestingHelpers.mm | |
| ${WebKitTestRunner_DIR}/InjectedBundle/ios/EventSenderProxyIOS.mm | |
| ${WebKitTestRunner_DIR}/ios/GeneratedTouchesDebugWindow.mm | |
| ${WebKitTestRunner_DIR}/ios/HIDEventGenerator.mm | |
| ${WebKitTestRunner_DIR}/ios/PlatformWebViewIOS.mm | |
| ${WebKitTestRunner_DIR}/ios/TestControllerIOS.mm | |
| ${WebKitTestRunner_DIR}/ios/UIPasteboardConsistencyEnforcer.mm | |
| ${WebKitTestRunner_DIR}/ios/UIScriptControllerIOS.mm | |
| ${WebKitTestRunner_DIR}/ios/mainIOS.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/ClassMethodSwizzler.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/InstanceMethodSwizzler.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/LayoutTestSpellChecker.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/ModifierKeys.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/PlatformViewHelpers.mm | |
| ${WebKitTestRunner_SHARED_DIR}/cocoa/PoseAsClass.mm | |
| ${WebKitTestRunner_SHARED_DIR}/IOSLayoutTestCommunication.cpp | |
| ) | |
| target_link_libraries(WebKitTestRunner PRIVATE | |
| ${FOUNDATION_LIBRARY} | |
| ${UIKIT_LIBRARY} | |
| ) | |
| # TestControllerIOS.mm uses GCMouse. | |
| if (WEBKIT_SDK_IS_IOS OR WEBKIT_SDK_IS_XROS) | |
| target_link_libraries(WebKitTestRunner PRIVATE "-framework GameController") | |
| elseif (WEBKIT_SDK_IS_WATCHOS) | |
| target_link_libraries(WebKitTestRunner PRIVATE "-framework PepperUICore") | |
| endif () | |
| set(_wktr_bundle_id "org.webkit.WebKitTestRunnerApp") | |
| set(PRODUCT_NAME WebKitTestRunnerApp) | |
| set(EXECUTABLE_NAME WebKitTestRunnerApp) | |
| set(PRODUCT_BUNDLE_IDENTIFIER ${_wktr_bundle_id}) | |
| set(_wktr_app_plist "${CMAKE_CURRENT_BINARY_DIR}/WebKitTestRunnerApp-Info.plist") | |
| WEBKIT_PROCESS_INFO_PLIST("${WebKitTestRunner_DIR}/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist" | |
| "${_wktr_app_plist}" | |
| TARGETED_DEVICE_FAMILY 1 2 3 4 7) | |
| # webkitpy and DefaultWebBrowserChecks.mm expect WebKitTestRunnerApp.app. | |
| set(WebKitTestRunner_OUTPUT_NAME WebKitTestRunnerApp) | |
| set_target_properties(WebKitTestRunner PROPERTIES | |
| MACOSX_BUNDLE TRUE | |
| MACOSX_BUNDLE_INFO_PLIST "${_wktr_app_plist}" | |
| ) | |
| if (WEBKIT_SDK_IS_TVOS OR WEBKIT_SDK_IS_WATCHOS) | |
| set(_wktr_entitlements "${WebKitTestRunner_DIR}/Configurations/WebKitTestRunnerApp-watchOS.entitlements") | |
| elseif (WEBKIT_SDK_IS_IOS AND WEBKIT_SDK_IS_SIMULATOR) | |
| set(_wktr_entitlements "${WebKitTestRunner_DIR}/Configurations/WebKitTestRunnerApp-iOS-simulator.entitlements") | |
| else () | |
| set(_wktr_entitlements "${WebKitTestRunner_DIR}/Configurations/WebKitTestRunnerApp-iOS.entitlements") | |
| endif () | |
| if (WEBKIT_SDK_IS_SIMULATOR) | |
| WEBKIT_EMBED_ENTITLEMENTS(WebKitTestRunner ${_wktr_entitlements}) | |
| else () | |
| set_target_properties(WebKitTestRunner PROPERTIES | |
| CODE_SIGN_ENTITLEMENTS "${_wktr_entitlements}") | |
| endif () | |
| set_target_properties(WebKitTestRunner PROPERTIES | |
| CODE_SIGN_BUNDLE "$<TARGET_BUNDLE_DIR:WebKitTestRunner>" | |
| ) | |
| add_custom_command( | |
| OUTPUT "${_wktr_app_dir}/Launch.storyboardc" | |
| COMMAND ${CMAKE_COMMAND} -E make_directory "${_wktr_app_dir}" | |
| COMMAND ibtool --compile "${_wktr_app_dir}/Launch.storyboardc" "${WebKitTestRunner_DIR}/ios/Launch.storyboard" | |
| DEPENDS "${WebKitTestRunner_DIR}/ios/Launch.storyboard" | |
| VERBATIM) | |
| target_sources(WebKitTestRunner PRIVATE "${_wktr_app_dir}/Launch.storyboardc") | |
| # The app signs in POST_BUILD, which only re-runs on relink. | |
| set_property(TARGET WebKitTestRunner APPEND PROPERTY LINK_DEPENDS | |
| "$<TARGET_FILE:TestRunnerInjectedBundle>" | |
| "${_wktr_app_dir}/Launch.storyboardc") | |
| if (USE_EXTENSIONKIT) | |
| add_dependencies(WebKitTestRunner WebContentExtension WebContentCaptivePortalExtension WebContentEnhancedSecurityExtension NetworkingExtension) | |
| if (ENABLE_GPU_PROCESS) | |
| add_dependencies(WebKitTestRunner GPUExtension) | |
| endif () | |
| WEBKIT_EMBED_EXTENSION(WebKitTestRunner WebContentExtension ${_wktr_bundle_id} | |
| CHANGE_EXTENSION_POINT ADD_ATS) | |
| WEBKIT_EMBED_EXTENSION(WebKitTestRunner WebContentCaptivePortalExtension ${_wktr_bundle_id} | |
| CHANGE_EXTENSION_POINT ADD_ATS) | |
| WEBKIT_EMBED_EXTENSION(WebKitTestRunner WebContentEnhancedSecurityExtension ${_wktr_bundle_id} | |
| CHANGE_EXTENSION_POINT ADD_ATS) | |
| WEBKIT_EMBED_EXTENSION(WebKitTestRunner NetworkingExtension ${_wktr_bundle_id} | |
| ADD_ATS) | |
| if (ENABLE_GPU_PROCESS) | |
| WEBKIT_EMBED_EXTENSION(WebKitTestRunner GPUExtension ${_wktr_bundle_id}) | |
| endif () | |
| endif () | |
| set_target_properties(WebKitTestRunner PROPERTIES LINKER_LANGUAGE CXX) | |
| set_target_properties(TestRunnerInjectedBundle PROPERTIES LINKER_LANGUAGE CXX) | |
| endif () |