cmake
久しぶりにCMakeの話。外部の依存ライブラリがあるC/C++のコードをCMakeでビルドする場合、インクルードパスやライブラリパスを指定する必要がある。パスを直接指定する方法以前書いた。しかし、そこで書いたのはパスやライブラリ名を直接指定するもので、そ…
CMakeを使うと、CMakeCache.txtやCMakeFilesなど様々ななファイルやディレクトリが生成される。結果的にプロジェクトのディレクトリが見にくくなりがちだ。そんなときはビルド作業を行うディレクトリを別のディレクトリにするとよい。これをソース外ビルド(…
今度は設定ファイルを作ってみる。設定ファイルと言ってもCMakeに対する設定ではなくプログラムに対するものだ。 条件付コンパイルと指定方法 ある程度の規模のプログラムの場合、#ifなどによる条件付コンパイルがあるだろう。 #include <cstdio> int main(){ #if US</cstdio>…
今回は1つのプログラムを様々なオプションでビルドできるようにしてみる。つまりconfigureでの--enable-foo --with-barのような機能だ。 optionコマンド optionコマンドを使うとオン・オフ指定するようなオプションが可能になる。例えば、追加機能feature-x…
実行ファイルではなくライブラリを作る場合も大きく変わるところはない。add_executableのところをadd_libraryにすればいいだけだ。例えばmylibというライブラリがsrc1.cppからなるとき、CMakeLists.txtは以下のようになる。 cmake_minimum_required(VERSION…
前回は簡単なアプリケーションを作り、CMakeでビルドしてみた。もちろん実際のプロジェクトはもっと複雑で、ソースファイルも複数あるだろうし、各種パスの設定も必要だろう。そこで今回は以下を設定してみる。 デバッグ版ビルドとリリース版ビルドができる…
はじめに CMakeを調べた経緯 CやC++でプログラムを書くときは普通何らかのビルドツールを使う。Unix/LinuxならMakeが多いだろう。Makefileにビルド手順を書くわけだ。一方WindowsでVisual Studio(以下VS)を使うときはVS上でビルドの設定を行い、その結果は…