CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. cmake_minimum_required(VERSION 3.1)
  2. project(XCTest C)
  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)
  42. # Static lib
  43. add_library(StaticLibExample STATIC
  44. StaticLibExample/StaticLibExample.h
  45. StaticLibExample/StaticLibExample.c
  46. )
  47. target_include_directories(StaticLibExample PUBLIC .)
  48. # XCTest for Static lib
  49. xctest_add_bundle(StaticLibExampleTests StaticLibExample
  50. StaticLibExampleTests/StaticLibExampleTests.m)
  51. xctest_add_test(XCTest.StaticLibExample StaticLibExampleTests)