# ace-orm:ORM 运行时,按子包解耦:common(方言无关核心)/ sqlite / mysql / postgres(各方言+FFI 驱动)。
# 宏在子包 aceboot::orm.macros(macro package,与运行时分包但同模块;根包 facade 重导出运行时子包)。
# 含 OrmComponent 故依赖框架;含三驱动 FFI,故用方/测试须链接三个数据库客户端库。
[package]
  cjc-version = "1.0.0"
  name = "orm"
  organization = "aceboot"
  version = "0.1.0"
  output-type = "static"

[dependencies]
  "aceboot::framework" = { path = "../ace-framework/ace-framework" }
  "aceboot::framework_macros" = { path = "../ace-framework/ace-framework-macros" }
  "aceboot::framework_runtime" = { path = "../ace-framework/ace-framework-runtime" }
  "aceboot::observability" = { path = "../ace-observability" }

# 单测二进制链接 sqlite/pq/mysqlclient(本机路径;其它环境改 -L 与 -rpath)。
[target.aarch64-apple-darwin]
  link-option = "-lsqlite3 -L/opt/homebrew/anaconda3/lib -lpq -L/opt/homebrew/lib -lmysqlclient -rpath /opt/homebrew/anaconda3/lib -rpath /opt/homebrew/lib"
  [target.aarch64-apple-darwin.bin-dependencies]
    path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]

# Linux 构建:export CANGJIE_STDX_PATH=<Linux 版 stdx 根目录>;数据库客户端库走系统路径。
[target.x86_64-unknown-linux-gnu]
  link-option = "-lsqlite3 -lpq -lmysqlclient"
  [target.x86_64-unknown-linux-gnu.bin-dependencies]
    path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]

# Intel macOS / Windows:数据库客户端库路径按本机调整。
[target.x86_64-apple-darwin]
  link-option = "-lsqlite3 -L/usr/local/lib -lpq -lmysqlclient -rpath /usr/local/lib"
  [target.x86_64-apple-darwin.bin-dependencies]
    path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]

[target.x86_64-w64-mingw32]
  link-option = "-lsqlite3 -lpq -lmysqlclient"
  [target.x86_64-w64-mingw32.bin-dependencies]
    path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]