Project.swift 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. import ProjectDescription
  2. let appName = "StdoutRendererDemo"
  3. let debugBuildSettings: SettingsDictionary = [
  4. "ALWAYS_SEARCH_USER_PATHS": "NO",
  5. "GCC_OPTIMIZATION_LEVEL": "0",
  6. "ONLY_ACTIVE_ARCH": "YES",
  7. "SWIFT_COMPILATION_MODE": "singlefile",
  8. "SWIFT_OPTIMIZATION_LEVEL": "-Onone",
  9. ]
  10. let releaseBuildSettings: SettingsDictionary = [
  11. "SWIFT_COMPILATION_MODE": "wholemodule",
  12. "SWIFT_OPTIMIZATION_LEVEL": "-O",
  13. ]
  14. let appSettings: SettingsDictionary = [
  15. "CODE_SIGN_STYLE": "Automatic",
  16. "DEVELOPMENT_TEAM": "",
  17. "ENABLE_HARDENED_RUNTIME": "YES",
  18. "FRAMEWORK_SEARCH_PATHS": [
  19. "$(inherited)",
  20. "$(BUILD_DIR)/Debug$(EFFECTIVE_PLATFORM_NAME)",
  21. "$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)",
  22. ],
  23. "GENERATE_INFOPLIST_FILE": "YES",
  24. "LD_RUNPATH_SEARCH_PATHS": [
  25. "$(inherited)",
  26. "@executable_path/../Frameworks",
  27. ],
  28. "LIBRARY_SEARCH_PATHS": [
  29. "$(inherited)",
  30. "$(BUILD_DIR)/Debug$(EFFECTIVE_PLATFORM_NAME)",
  31. "$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)",
  32. ],
  33. "PRODUCT_BUNDLE_IDENTIFIER": "org.OpenSwiftUIProject.ark_ui_basic.StdoutRendererDemo",
  34. "SWIFT_VERSION": "5.0",
  35. ]
  36. let privateFrameworkDependencies: [TargetDependency] = [
  37. .external(name: "AttributeGraph"),
  38. .external(name: "RenderBox"),
  39. .external(name: "CoreUI"),
  40. .external(name: "CoreSVG"),
  41. .external(name: "SFSymbols"),
  42. ]
  43. let target = Target.target(
  44. name: appName,
  45. destinations: [.mac],
  46. product: .app,
  47. bundleId: "org.OpenSwiftUIProject.ark_ui_basic.StdoutRendererDemo",
  48. deploymentTargets: .macOS("15.0"),
  49. infoPlist: .extendingDefault(with: [:]),
  50. sources: [
  51. "ExampleApp/**/*.swift",
  52. ],
  53. dependencies: [
  54. .external(name: "ark_ui_basic"),
  55. ] + privateFrameworkDependencies,
  56. settings: .settings(
  57. base: appSettings,
  58. configurations: [
  59. .debug(name: "Debug", settings: debugBuildSettings),
  60. .release(name: "Release", settings: releaseBuildSettings),
  61. ],
  62. defaultSettings: .none
  63. )
  64. )
  65. let scheme = Scheme.scheme(
  66. name: appName,
  67. shared: true,
  68. buildAction: .buildAction(targets: [.target(appName)]),
  69. runAction: .runAction(
  70. configuration: "Debug",
  71. executable: .executable(.target(appName))
  72. ),
  73. archiveAction: .archiveAction(configuration: "Release"),
  74. profileAction: .profileAction(
  75. configuration: "Release",
  76. executable: .executable(.target(appName))
  77. ),
  78. analyzeAction: .analyzeAction(configuration: "Debug")
  79. )
  80. let project = Project(
  81. name: "StdoutRenderer",
  82. options: .options(
  83. automaticSchemesOptions: .disabled,
  84. developmentRegion: "en"
  85. ),
  86. settings: .settings(
  87. configurations: [
  88. .debug(name: "Debug", settings: debugBuildSettings),
  89. .release(name: "Release", settings: releaseBuildSettings),
  90. ],
  91. defaultSettings: .none,
  92. defaultConfiguration: "Debug"
  93. ),
  94. targets: [
  95. target,
  96. ],
  97. schemes: [
  98. scheme,
  99. ],
  100. additionalFiles: [
  101. "README.md",
  102. "Package.swift",
  103. "run-example.sh",
  104. ]
  105. )