Public Notes

  • やっとわかったこととか。

    CMakeの${EXECUTABLE_OUTPUT_PATH}や${LIBRARY_OUTPUT_PATH}には、${CMAKE_SOURCE_DIR}系を使っちゃいけないことにやっと気が付きました。代わりに、BINARYがついているの変数を使ったほうが色々と楽です。
    理由はいくつかあるんですが、ビルドしたファイルを消しやすい、のが一番かもしれません。ソースコードは消したくないけど、ビルドしたファイル(ライブラリ、実行ファイル、etc.)は邪魔なので消したい時があるんですけど、Gitに頼りつつ消すのは正直めんどくさくて、ビルドディレクトリごと消せた方がはやいです。LLVMは、そうゆう事情でソースコードとビルドのディレクトリを分けないといけないんだと思います。ああゆう大きなプロジェクトではそうゆうことは手に負えないのでしょう。(;´Д`)
    それと、CURRENTが付いている変数もあまり使わない方がいいですね。ソースコードの参照の時は、いいんですがOUTPUT_PATHで使うとビルドしたファイルを消す時に、分散されて消すのに手間がかかるようになります。なので、${CMAKE_BINARY_DIR}/binとか${CMAKE_BINARY_DIR}/libに出力した方ががっと消せますし、Jenkinsで成果物を保存するとき、指定するファイルをワイルドカードで選択するのがずっと容易です。テストもその方が結果ファイルを集めるのが楽ですし、どこにあるのか迷わずに済みます。
    っと、まあ、またビルドシステムをいじっていて特に進まなかった報告でした。
Copyright © Textt / GreenSpace