読者です 読者をやめる 読者になる 読者になる

CMakeを使ってみた (7) find_packageとpkg_check_modulesによるライブラリ探索

久しぶりにCMakeの話。外部の依存ライブラリがあるC/C++のコードをCMakeでビルドする場合、インクルードパスやライブラリパスを指定する必要がある。パスを直接指定する方法以前書いた。しかし、そこで書いたのはパスやライブラリ名を直接指定するもので、そ…

CMakeを使ってみた (6) ソース外ビルド

CMakeを使うと、CMakeCache.txtやCMakeFilesなど様々ななファイルやディレクトリが生成される。結果的にプロジェクトのディレクトリが見にくくなりがちだ。そんなときはビルド作業を行うディレクトリを別のディレクトリにするとよい。これをソース外ビルド(…

CMakeを使ってみた (5) 設定ファイルを作る

今度は設定ファイルを作ってみる。設定ファイルと言ってもCMakeに対する設定ではなくプログラムに対するものだ。 条件付コンパイルと指定方法 ある程度の規模のプログラムの場合、#ifなどによる条件付コンパイルがあるだろう。 #include <cstdio> int main(){ #if US</cstdio>…

CMakeを使ってみた (4) ビルドオプション

今回は1つのプログラムを様々なオプションでビルドできるようにしてみる。つまりconfigureでの--enable-foo --with-barのような機能だ。 optionコマンド optionコマンドを使うとオン・オフ指定するようなオプションが可能になる。例えば、追加機能feature-x…

CMakeを使ってみた(3)ライブラリを作る

実行ファイルではなくライブラリを作る場合も大きく変わるところはない。add_executableのところをadd_libraryにすればいいだけだ。例えばmylibというライブラリがsrc1.cppからなるとき、CMakeLists.txtは以下のようになる。 cmake_minimum_required(VERSION…

CMakeを使ってみた(2)もう少しまともなプロジェクト

前回は簡単なアプリケーションを作り、CMakeでビルドしてみた。もちろん実際のプロジェクトはもっと複雑で、ソースファイルも複数あるだろうし、各種パスの設定も必要だろう。そこで今回は以下を設定してみる。 デバッグ版ビルドとリリース版ビルドができる…

CMakeを使ってみた(1)経緯と簡単なアプリケーション

はじめに CMakeを調べた経緯 CやC++でプログラムを書くときは普通何らかのビルドツールを使う。Unix/LinuxならMakeが多いだろう。Makefileにビルド手順を書くわけだ。一方WindowsでVisual Studio(以下VS)を使うときはVS上でビルドの設定を行い、その結果は…