XCTestAddBundle.cmake 888 B

1234567891011121314151617181920212223242526272829
  1. enable_language(Swift)
  2. set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED NO)
  3. set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
  4. set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
  5. find_package(XCTest REQUIRED)
  6. add_executable(TestedApp MACOSX_BUNDLE dummy_main.swift)
  7. xctest_add_bundle(TestingAppBundle TestedApp dummy_main.swift)
  8. macro(add_test NAME name COMMAND xctest arg)
  9. set(actual_arg "${arg}" PARENT_SCOPE)
  10. endmacro()
  11. xctest_add_test(TestedApp.TestingAppBundle TestingAppBundle)
  12. if(NOT DEFINED TEST_EXPECTED_OUTPUT_DIR)
  13. message(FATAL_ERROR "Testing variable TEST_EXPECTED_OUTPUT_DIR is not set")
  14. endif()
  15. set(expect_arg "${TEST_EXPECTED_OUTPUT_DIR}/$<TARGET_BUNDLE_DIR_NAME:TestingAppBundle>")
  16. if(NOT "${actual_arg}" STREQUAL "${expect_arg}")
  17. message(FATAL_ERROR "xctest argument expected to be:\n"
  18. " ${expect_arg}\n"
  19. "but was:\n"
  20. " ${actual_arg}\n"
  21. )
  22. endif()