Makefile.toml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. extend = [
  2. { path = "scripts/makefile/desktop.toml" },
  3. { path = "scripts/makefile/protobuf.toml" },
  4. { path = "scripts/makefile/tests.toml" },
  5. { path = "scripts/makefile/docker.toml" },
  6. { path = "scripts/makefile/flutter.toml" },
  7. ]
  8. [env]
  9. CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true
  10. CARGO_MAKE_CRATE_FS_NAME = "dart_ffi"
  11. CARGO_MAKE_CRATE_NAME = "dart-ffi"
  12. VERSION = "0.0.1"
  13. #CRATE_TYPE: https://doc.rust-lang.org/reference/linkage.html
  14. [env.development-mac]
  15. DEV = true
  16. PROD = false
  17. TARGET_OS = "macos"
  18. DESKTOP_TARGET = "x86_64-apple-darwin"
  19. CRATE_TYPE = "cdylib"
  20. BUILD_FLAG = "debug"
  21. FLUTTER_PLATFORM = "macos"
  22. FLUTTER_OUTPUT_DIR = "Debug"
  23. PRODUCT_NAME = "app_flowy.app"
  24. [env.production-mac]
  25. DEV = false
  26. PROD = true
  27. TARGET_OS = "macos"
  28. DESKTOP_TARGET = "x86_64-apple-darwin"
  29. CRATE_TYPE = "cdylib"
  30. BUILD_FLAG = "release"
  31. FLUTTER_PLATFORM = "macos"
  32. FLUTTER_OUTPUT_DIR = "Release"
  33. PRODUCT_NAME = "app_flowy.app"
  34. [env.production-ios]
  35. DEV = false
  36. PROD = true
  37. TARGET_OS = "ios"
  38. CRATE_TYPE = "staticlib"
  39. BUILD_FLAG = "release"
  40. FLUTTER_PLATFORM = "ios"
  41. FLUTTER_OUTPUT_DIR = "Release"
  42. PRODUCT_NAME = "app_flowy.ipa"
  43. [env.production-android]
  44. DEV = false
  45. PROD = true
  46. TARGET_OS = "android"
  47. CRATE_TYPE = "cdylib"
  48. BUILD_FLAG = "release"
  49. FLUTTER_PLATFORM = "apk"
  50. FLUTTER_OUTPUT_DIR = "Release"
  51. PRODUCT_NAME = "app_flowy.apk"
  52. [env.production-win]
  53. DEV = false
  54. PROD = true
  55. TARGET_OS = "windows"
  56. CRATE_TYPE = "cdylib"
  57. BUILD_FLAG = "release"
  58. FLUTTER_PLATFORM = "apk"
  59. FLUTTER_OUTPUT_DIR = "Release"
  60. PRODUCT_NAME = "app_flowy.exe"
  61. [tasks.setup-crate-type]
  62. private = true
  63. script = [
  64. """
  65. toml = readfile ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/Cargo.toml
  66. val = replace ${toml} "rlib" ${CRATE_TYPE}
  67. result = writefile ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/Cargo.toml ${val}
  68. assert ${result}
  69. """,
  70. ]
  71. script_runner = "@duckscript"
  72. [tasks.restore-crate-type]
  73. private = true
  74. script = [
  75. """
  76. toml = readfile ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/Cargo.toml
  77. val = replace ${toml} ${CRATE_TYPE} "rlib"
  78. result = writefile ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/${CARGO_MAKE_CRATE_NAME}/Cargo.toml ${val}
  79. assert ${result}
  80. """,
  81. ]
  82. script_runner = "@duckscript"