| 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/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/AccessibilityTextMarkerRangeCocoa.mm |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/ActivateFontsCocoa.mm |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm |
| |
| ${WebKitTestRunner_DIR}/InjectedBundle/mac/AccessibilityControllerMac.mm |
| ${WebKitTestRunner_DIR}/InjectedBundle/mac/AccessibilityNotificationHandler.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_DIR}/InjectedBundle/mac/TestRunnerMac.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/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/AccessibilityTextMarkerRangeCocoa.mm |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/ActivateFontsCocoa.mm |
| ${WebKitTestRunner_DIR}/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm |
| |
| ${WebKitTestRunner_DIR}/InjectedBundle/mac/AccessibilityNotificationHandler.mm |
| ${WebKitTestRunner_DIR}/InjectedBundle/mac/TestRunnerMac.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") |
| configure_file("${WebKitTestRunner_DIR}/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist" |
| "${_wktr_app_plist}") |
| |
| WEBKIT_GET_DEVICE_FAMILY(_wktr_device_family 1 2 3 4 7) |
| WEBKIT_ADD_EMBEDDED_BUNDLE_PLIST_KEYS(${_wktr_app_plist} ${_wktr_device_family}) |
| |
| # 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}) |
| set(_wktr_sign_entitlements "${CMAKE_CURRENT_BINARY_DIR}/WebKitTestRunnerApp-get-task-allow.entitlements") |
| WEBKIT_WRITE_SIMULATOR_SIGNING_ENTITLEMENTS(${_wktr_sign_entitlements}) |
| else () |
| set(_wktr_sign_entitlements "${_wktr_entitlements}") |
| endif () |
| set_target_properties(WebKitTestRunner PROPERTIES |
| CODE_SIGN_ENTITLEMENTS "${_wktr_sign_entitlements}" |
| 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 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 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 () |