find_package(XCTest REQUIRED)

set(TestRunner_SOURCE_FILES
    main.mm
)

Source_group("Source Files" FILES ${TestRunner_SOURCE_FILES})

if (TARGET_PLATFORM STREQUAL "iPhone")
    set(TestRunner_RSRCS
          Main.storyboard
          LaunchScreen.storyboard
        )
elseif(TARGET_PLATFORM STREQUAL "AppleTV")
    set(TestRunner_RSRCS
          tv/Main.storyboard
        )
endif()

add_executable(TestRunner
    ${TestRunner_SOURCE_FILES}
    ${TestRunner_RSRCS}
)

set_target_properties(TestRunner PROPERTIES LINKER_LANGUAGE CXX)

set_target_properties(TestRunner PROPERTIES
    MACOSX_BUNDLE YES
    MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_LIST_DIR}/Info.plist"
    XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
    XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "94324UXTV2"
    XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2,3"
    XCODE_ATTRIBUTE_COMBINE_HIDPI_IMAGES "NO"
    XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO"
    XCODE_ATTRIBUTE_INSTALL_PATH "$(LOCAL_APPS_DIR)"
    XCODE_ATTRIBUTE_SKIP_INSTALL "No"
    RESOURCE "${TestRunner_RSRCS}"
)

target_include_directories(TestRunner PRIVATE
  ${CMAKE_CURRENT_SOURCE_DIR}
)

target_link_libraries(TestRunner
    integrationtest
    gtest
    playercore
    testenv
)

target_link_libraries(TestRunner
    "-framework AudioToolbox"
    "-framework AVFoundation"
    "-framework CoreGraphics"
    "-framework CoreMedia"
    "-framework Foundation"
    "-framework MediaPlayer"
    "-framework QuartzCore"
    "-framework AVKit"
    "-framework VideoToolbox"
    "-framework CFNetwork"
    "-framework UIKit"
    "-framework MobileCoreServices"
)

xctest_add_bundle(TestDriver TestRunner TestDriver.mm)
xctest_add_test(XCTest.TestRunner TestDriver)
