Programing/Tool/CMake

Last-modified: Tue, 29 Dec 2020 03:07:03 JST (1267d)
Top > Programing > Tool > CMake

概要

  • クロスプラットフォームに対応できるビルド自動化ツール

基本的な使い方

# ビルド用ディレクトリの作成
mkdir build
# ビルド用ディレクトリへ移動
cd build
# CMakeLists.txtの場所を指定してcmakeを実行
cmake ..
# makeを実行
make

コマンド早見表

コマンド文法説明
add_executable<name> src1 [src2 ...]<name>と言う名前で実行可能ファイルを生成する
必要なソースはsrc1,src2で指定する.ターゲットは複数指定できる
add_library<name> [source1] [source2 ...]<name>と言う名前でライブラリファイルを生成する
必要なソースはsrc1,src2で指定する.ターゲットは複数指定できる
add_subdirectorysource_dirビルドにサブディレクトリを設定する
cmake_minimum_requiredVERSION major.minor[.patch[.tweak]]プロジェクトに最低限必要なcmakeのバージョンを指定
configure_file<input> <output><input>ファイルにCMakeLists.txt内で定義した変数を埋め込んで<output>ファイルに出力する
find_package<PackageName> [version]外部プロジェクトから設定を検索してロードする
設定が見つかった場合は<PackageName>_FOUNDが設定される
[version]引数を書くとバージョンを指定できる
find_path<Var> name [REQUIRED]nameで指定されたディレクトリ/ファイルを探し<Vare>に設定する。
[REQUIRED]が指定されている場合、nameが見つからなかった場合はエラーで停止する。
find_packageに対応していないライブラリを検索する場合に使用する
include_directoriesdir1 [dir2 ...]includeサーチパスを保持する変数INCLUDE_DIRECTORIESにdir1,dir2を追加する
message([<mode>] "message to display" ...<mode>に応じたメッセージレベルでメッセージを表示する
デバッグ用
project<PROJECT-NAME>設定したプロジェクト名をPROJECT_NAME変数に保存する。
set<variable> <value><variable>変数に値<value>を設定する
target_link_libraries<target> ... <item>... ...<target>にリンクするライブラリ<item>を指定する

find_packageの動作

変数早見表

Link