CMakeLists.txt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. cmake_minimum_required(VERSION 3.1)
  2. project(XCTest)
  3. enable_testing()
  4. find_package(XCTest REQUIRED)
  5. # Framework
  6. add_library(FrameworkExample SHARED
  7. FrameworkExample/FrameworkExample.c
  8. FrameworkExample/FrameworkExample.h
  9. FrameworkExample/Info.plist)
  10. target_include_directories(FrameworkExample PUBLIC .)
  11. set_target_properties(FrameworkExample PROPERTIES
  12. FRAMEWORK TRUE
  13. VERSION "1.0.0"
  14. SOVERSION "1.0.0"
  15. FRAMEWORK_VERSION "A"
  16. MACOSX_FRAMEWORK_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/FrameworkExample/Info.plist
  17. PUBLIC_HEADER FrameworkExample/FrameworkExample.h)
  18. # XCTest for Framework
  19. xctest_add_bundle(FrameworkExampleTests FrameworkExample
  20. FrameworkExampleTests/FrameworkExampleTests.m
  21. FrameworkExampleTests/Info.plist)
  22. set_target_properties(FrameworkExampleTests PROPERTIES
  23. MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/FrameworkExampleTests/Info.plist
  24. )
  25. xctest_add_test(XCTest.FrameworkExample FrameworkExampleTests)
  26. # Cocoa App Bundle
  27. add_executable(CocoaExample MACOSX_BUNDLE
  28. CocoaExample/main.m
  29. CocoaExample/AppDelegate.m
  30. CocoaExample/AppDelegate.h
  31. CocoaExample/MainMenu.xib
  32. )
  33. target_link_libraries(CocoaExample PRIVATE "-framework Foundation")
  34. target_link_libraries(CocoaExample PRIVATE "-framework AppKit")
  35. set_target_properties(CocoaExample PROPERTIES
  36. MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/CocoaExample/Info.plist
  37. RESOURCE "CocoaExample/MainMenu.xib")
  38. # XCTest for Cocoa App Bundle
  39. xctest_add_bundle(CocoaExampleTests CocoaExample
  40. CocoaExampleTests/CocoaExampleTests.m)
  41. xctest_add_test(XCTest.CocoaExample CocoaExampleTests)