teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

booooooooooost

2019/02/22 16:10

投稿

yumetodo
yumetodo

スコア5852

answer CHANGED
@@ -15,4 +15,10 @@
15
15
  結論としては、C++でパッケージマネージャとか未来過ぎて当分安定しないでしょうから
16
16
 
17
17
  1. ヘッダーオンリーライブラリにする: どうせtemplate多用するとそれしかなくなるのであり、git submoduleで引っ張るだけで使えるし
18
- 2. CMakeでビルドできるようにしておく: 今更CMakeに依存しない世界がC++に来るとしたらC++標準化委員会がなにかするくらいしかないと思うので、とりあえずCMakeを書くのは大事でしょう。依存ライブラリがある場合は入手法をきちんとドキュメントを書くことですかね。あと自身がライブラリならxxx-config.cmake(xxxはライブラリ名)を自動生成するようにCMakeを書きましょう。
18
+ 2. CMakeでビルドできるようにしておく: 今更CMakeに依存しない世界がC++に来るとしたらC++標準化委員会がなにかするくらいしかないと思うので、とりあえずCMakeを書くのは大事でしょう。依存ライブラリがある場合は入手法をきちんとドキュメントを書くことですかね。あと自身がライブラリならxxx-config.cmake(xxxはライブラリ名)を自動生成するようにCMakeを書きましょう。
19
+
20
+ ---
21
+
22
+ 追記
23
+
24
+ Boostは~~頭のおかしい~~頭がbooooooooooost!したビルド手順を強制していて本当にどうかしているので真似するべきではないですしというかあの~~頭のおかしさ~~頭がbooooooooooost!した感じは真似できるものではありません。boostは各モジュールが複雑怪奇に密に依存しあっているのでああでもしないとビルドできないんでしょうが、基本的に悪い見本です。

1

m

2019/02/22 16:10

投稿

yumetodo
yumetodo

スコア5852

answer CHANGED
@@ -3,6 +3,8 @@
3
3
  vcpkgはパッケージマネージャですが、バイナリは配布してなくてあくまでCMakeを呼び出してビルドしていい感じにする作業をコマンド一つでやってくれる&依存ライブラリもビルドしてくれるというものになります。
4
4
 
5
5
  Conanはなんかバイナリ配ってるぽいですね、使ったことないので知らんけど。
6
+ [https://qiita.com/kai_kou/items/4dbe5b920a8598891ec7](https://qiita.com/kai_kou/items/4dbe5b920a8598891ec7)
7
+ でのやり取りでの感じではConanのCMakeの使い方はなんか汚いなって感じがしています。ライブラリ側の責任範疇のことをパッケージマネージャが面倒見るってどうなんよという。
6
8
 
7
9
  vcpkgにしてもconanにしてもWindowsだとVisual Studioのことしか概ね考慮してない感じです。
8
10