[build+docs] Use mirai.native.binaries to enable binaries, update relevant docs.

This commit is contained in:
Him188 2022-11-25 18:46:47 +00:00
parent 9f7face6eb
commit e9c12eb4a8
2 changed files with 13 additions and 5 deletions

View File

@ -372,7 +372,7 @@ fun KotlinMultiplatformExtension.configureNativeTargetsHierarchical(
}
fun KotlinMultiplatformExtension.configureNativeTargetBinaries(project: Project) {
if (!System.getProperty("mirai.native.link", "false").toBoolean()) {
if (!System.getProperty("mirai.native.binaries", "false").toBoolean()) {
// Must enable KotlinNativeLink by argument "mirai.native.link".
// :mirai-core:linkReleaseSharedMacosX64

View File

@ -46,7 +46,7 @@ Windows x86_64 目标;在 macOS aarch64 主机上只能编译 macOS aarch64
若使用 Apple M1 Max 或同等级 CPU (AMD R7 5800X / Intel i7-12700K / Intel
i9-12950HX),单独执行 `./gradlew assemble` 编译并连接全部项目 (含动态链接库和静态链接库) 需时约 9
分钟。单独执行 `./gradlew check` 需约 4 分钟。
但在 GitHub 的 2 核心 CPU Actions 机器上执行 `assemble` 通常需要约 40 分钟。
但在 GitHub 的 2 核心 CPU Actions 机器上执行 `assemble` 通常需要约 40 分钟
### 安装 OpenSSL
@ -173,12 +173,20 @@ cURL在其他平台使用 [Ktor CIO](https://ktor.io/docs/http-client-engines
### 链接并构建动态链接库
注意,只有 mirai-core 可以构建可用的动态链接库。
注意,只有 mirai-core 可以构建可用的动态链接库。所有动态链接库和静态链接库的构建都是默认关闭的,需要使用 `-Dmirai.native.binaries=true` 才能启用。
执行 `:mirai-core:linkDebugSharedHost`
在提供 `-Dmirai.native.binaries=true` 参数的情况下,执行 `:mirai-core:linkDebugSharedHost`
`:mirai-core:linkReleaseSharedHost`。Debug 版本会保留调试符号,能显示完整错误堆栈;而
Release 拥有更小体积(比 Debug 减小 50%)。
示例:
```shell
./gradlew :mirai-core:linkDebugSharedHost "-Dmirai.native.binaries=true"
./gradlew :mirai-core:linkReleaseSharedMacoxX64 "-Dmirai.native.binaries=true"
```
这也会同时生成一个头文件(`.h`
)供交互使用。详情查看 [Kotlin 官方文档](https://kotlinlang.org/docs/native-c-interop.html)
@ -189,7 +197,7 @@ Release 拥有更小体积(比 Debug 减小 50%)。
注意,只有 mirai-core 可以构建可用的静态链接库。
执行 `:mirai-core:linkDebugStaticHost`
与构建动态链接库类似,在提供 `-Dmirai.native.binaries=true` 参数的情况下,执行 `:mirai-core:linkDebugStaticHost`
`:mirai-core:linkReleaseStaticHost`。Debug 版本会保留调试符号,能显示完整错误堆栈;而
Release 拥有更小体积(比 Debug 减小 50%)。