Open3

warp: Conan2を試したい

okuokuokuoku

... いやまぁConan2もあんまり真剣な利用には向いてない気もするけど、vcpkgに比べて:

  • デフォルトのテレメトリが無い
  • 安定したPython APIを提供している (vcpkgを拡張するにはCMake側で頑張る必要がある)
  • リポジトリ業をしているJFrogが開発しているのでバイナリパッケージの考察が豊富
  • クロスコンパイルの考察がそれなりにある
  • CMake以外の考察がある
  • GitLabとGitea(Forgejo)にパッケージレジストリのサポートがある

というメリットがある。デバッグ情報の配付が壊滅的みたいな特徴はvcpkgも同じなので。。

Warpとしては、特にmeson類がwrapできるのがメリット大きい気がしている。

okuokuokuoku

ドキュメント

conanでは tool_require を使ってビルドマシンで使うツールもConanパッケージとして扱えるようになっている。ツールチェインや標準ライブラリはこれを使ってパッケージングすることになる。

https://docs.conan.io/2/examples/cross_build/toolchain_packages.html

さらに下流のライブラリをビルドするためにprofileも用意する必要がある。

https://docs.conan.io/2/reference/config_files/profiles.html

さらに、Warpはpicolibcをlibcとして採用しているが、そのCMakeLists.txtの install 関連は使わないので、手動でパッケージングを行う必要がある。これもConan側にチュートリアルがある。

https://docs.conan.io/2/tutorial/creating_packages/other_types_of_packages/package_prebuilt_binaries.html

okuokuokuoku

ローカル環境の準備

GitHub上のバイナリリリースを使うとPATHへの追加も含めてやってくれる。

サーバーは簡易サーバーが別途 pip で提供されている。

デフォルトでは、ホームディレクトリにパッケージを配置する。この場所を変えたければ、 CONAN_HOME 環境変数で指定することになる。

https://docs.conan.io/2/reference/environment.html