銀の弾丸

プログラミングに関して、いろいろ書き残していければと思っております。

CMakeでジェネレータを判定して分岐する

f:id:takamints:20151003145058p:plain

GCCMinGW と Raspberry Pi 両方で動くプログラムを書いていて、リンクするライブラリは切り替えたいという状況。

色々調べて何とかなったので書いておきます。もっと良い判定方法があるかもしれないですけど、とりあえず。


CMakeLists.txt : ジェネレータの名前に MinGW が含まれていたら bar もリンク

gist.github.com

要点

  • if(条件式) ~ elseif() ~ else() ~ endif() が使える。
  • elseif, else, endif の条件式は無視されるので空でよい。
  • MATCHES は正規表現のマッチングを行う演算子

参考

使える演算子がまとまっていました(↓)

qiita.com


いやしかし、CMake。

便利なんだけど複雑で情報量が少ないですね。

やりたいことの書き方を調べるのに結構苦労します。


Mastering Cmake
Mastering Cmake
posted with amazlet at 15.05.26
Ken Martin Bill Hoffman
Kitware, Incorporated
売り上げランキング: 82,100