Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xcframeworkにmodulemapを追加 #579

Merged
merged 3 commits into from
Aug 23, 2023
Merged

xcframeworkにmodulemapを追加 #579

merged 3 commits into from
Aug 23, 2023

Conversation

fuziki
Copy link
Contributor

@fuziki fuziki commented Aug 21, 2023

内容

関連 Issue

close #578

その他

Comment on lines 366 to 371
mkdir -p "Headers-sim"
cp -v artifact/voicevox_core-x86_64-apple-ios/voicevox_core.h "Headers-sim"
cp -v artifact/voicevox_core-x86_64-apple-ios/module.modulemap "Headers-sim"
mkdir -p "Headers-aarch64"
cp -v artifact/voicevox_core-aarch64-apple-ios/voicevox_core.h "Headers-aarch64"
cp -v artifact/voicevox_core-aarch64-apple-ios/module.modulemap "Headers-aarch64"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-headers オプションがディレクトリ指定のみだったので、Headersに入れるファイルを一度ディレクトリに入れ、それを指定しています。

Copy link
Member

@Hiroshiba Hiroshiba Aug 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

なるほどです!
ちなみに知見として知りたいのですが、最初が大文字なのってそういう制約だったりされますか 👀
(公式?は特に指定なさそう感・・・? https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

この一時的に作成しているディレクトリの名前は大文字小文字関係ないです。
xcframeworkにした際に、xcodebuildが-headersに指定したディレクトリの中身をデフォルトでHeadersというディレクトリの中にコピーするので、simlatorとarrch64用のそれぞれのHeadersにコピーされるディレクトリという意味でHeaders-simHeaders-arrch64としました。

voicevox_core.xcframework
├── Info.plist
├── ios-arm64
│   ├── Headers
│   │   ├── voicevox_core.h
│   │   └── module.modulemap
│   └── libvoicevox_core.dylib
└── ios-arm64_x86_64-simulator
    ├── Headers
    │   ├── voicevox_core.h
    │   └── module.modulemap
    └── libvoicevox_core.dylib

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

なるほどです!
他のとこに比べて命名規則が変わっているのが若干だけ気になったのですが、コピー先のディレクトリが文字始まりなら、まあ問題ではないのでそれでもいいかなと思いました!

@fuziki
Copy link
Contributor Author

fuziki commented Aug 22, 2023

大変お忙しいところ、コメントいただきありがとうございます🙇
コメント返信したので、確認お願いいたします。

@fuziki fuziki requested a review from Hiroshiba August 22, 2023 00:57
@fuziki fuziki requested a review from Hiroshiba August 23, 2023 01:12
@fuziki
Copy link
Contributor Author

fuziki commented Aug 23, 2023

確認ありがとうございます!
頂いたコメントを修正したので、再度確認お願いいたします🙇

Copy link
Member

@qryxip qryxip left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!!

マージ後に1回テストでビルドを回してみたいと思います!

@Hiroshiba Hiroshiba merged commit e571d70 into VOICEVOX:main Aug 23, 2023
@Hiroshiba
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

xcframeworkにmodule.modulemapを同梱して欲しい
3 participants