目的
- Linuxで自分で用意したboostを利用したいが、cmakeは頑なに/usr/libにあるライブラリを利用しようとする問題の解決
- 具体的には、最新のboost(1.57.0)がホームディレクトリにあって、それを利用してboost.numpyをビルドしたい
環境
CentOS 6.5
boost 1.57.0
python 3.4 (anaconda)
インテルコンパイラ 14.0.1(composer_xe_2013_sp1)
boost.pythonはインテルコンパイラを利用してpython3.4でビルド済み
方法
- /usr/lib64/boostからBoost-relwithdebinfo.cmake Boost.cmake BoostConfig.cmake BoostConfigVersion.cmakeの4つを適当なディレクトリにコピー
- 上記のファイルが見つからない場合
- 一旦は普通にcmakeで設定しBOOST_DIRの項目の項目にあるディレクトリを確認
- (cmakeの設定項目を全て表示させるために"Grouped"と"Advanced"のチェックボックスをチェックしてください)
これで問題なくビルドできるはずです。
最後の項目は、Linux環境ではboostのライブラリが自動でリンクされないので、そのための設定です。
最後に
XXXConfig.cmakeのような設定ファイルを利用してシステム標準のライブラリを取得するのは、多分、boost以外にもあると思うので、どうやってもcmakeが指定したバージョンのライブラリを認識してくれない場合はご検討ください。