macosPackageSwiftContent function

String macosPackageSwiftContent(
  1. String pluginName,
  2. String className
)

Flutter 3.41+ SPM Package.swift for the macOS platform.

Mirrors iosPackageSwiftContent with a macOS platform constraint.

Implementation

String macosPackageSwiftContent(String pluginName, String className) =>
    '// swift-tools-version: 5.9\n'
    'import PackageDescription\n'
    '\n'
    'let package = Package(\n'
    '  name: "$pluginName",\n'
    '  platforms: [.macOS(.v10_15)],\n'
    '  products: [\n'
    '    .library(name: "${pluginName.replaceAll('_', '-')}", targets: ["$pluginName"])\n'
    '  ],\n'
    '  targets: [\n'
    '    .target(\n'
    '      name: "${className}Cpp",\n'
    '      path: "Sources/${className}Cpp",\n'
    '      publicHeadersPath: "include",\n'
    '      cxxSettings: [\n'
    '        .headerSearchPath("include"),\n'
    '        .unsafeFlags(["-std=c++17"])\n'
    '      ]\n'
    '    ),\n'
    '    .target(\n'
    '      name: "$pluginName",\n'
    '      dependencies: ["${className}Cpp"],\n'
    '      path: "Sources/$className"\n'
    '    )\n'
    '  ]\n'
    ')\n';