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

boost-spiritの導入を検討する #1808

Conversation

berryzplus
Copy link
Contributor

PR の目的

boost-spiritの導入を検討します。

カテゴリ

  • 実験 (master へのマージを目的としない)

PR の背景

#1804 で提案している boost-spirit について、組み込みイメージを共有します。

PR のメリット

PR のデメリット (トレードオフとかあれば)

仕様・動作説明

boost-spiritは、Boostライブラリの中で最も複雑なコンポーネントの一つらしいです。

導入するには、vcpkgというマイクロソフトが開発しているC++向けのパッケージ管理機構を使います。

vcpkgのリポジトリが GitHubに公開されているので、vcpkgをサブモジュール化します。

vcpkg install boost-spiritとすると boost-spirit のビルドに必要なツールとソースコードがダウンロードされ、ビルドが走ります。ビルドされたバイナリは nuget パッケージに export して使います。必要なコマンドは BuildDependencies.bat に書いています。

今回は「お試し」なので、ビルドしたnupkgをコミットに含めています。

PR の影響範囲

マージする気がないので、このPR自体に影響はないです。

実際に導入する場合、以下のような課題があります。

  • vcpkg部分のビルドをどうするか?
  • Boostライブラリの主要パッケージに依存する関係で nupkg がかなり巨大(45MBくらい)だが大丈夫か?
  • boost-spirit自体はDLLを必要としないが、Boostが使えるようになってしまう。
  • Boostを積極的に使った場合、依存DLLが急に増える可能性があるが、大丈夫か?

テスト内容

ローカルでビルドが通ること、テストで取り込んだサンプルがそれなりに動作することを確認しています。
CIビルドがちゃんと通らない可能性がありますが、そこは今回スコープ外です。

テスト1

手順

関連 issue, PR

参考資料

@berryzplus berryzplus marked this pull request as draft February 22, 2022 14:45
@AppVeyorBot
Copy link

Build sakura 1.0.4059 failed (commit 8e45d06313 by @berryzplus)

@berryzplus berryzplus closed this Apr 28, 2022
@berryzplus berryzplus deleted the experimental/use_boost-spirit branch April 28, 2022 16:29
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.

2 participants