MENU

CMakeのテンプレ

はじめに

C++のプログラムをLinuxMacで作るにはmakefileをごりごり書く方法もありますが,CMakeを使う方法が便利です.

この記事では,CMakeのテンプレートをメモ書きしておきます.

CMakeテンプレートの概要

1つのプロジェクトで1つの実行ファイルが基本だと思いますが,サンプルプログラムや思いつきのことをいくつかちゃちゃっと書きたいときは1回のビルドでいくつか実行ファイルができてほしいです.

今回作成したテンプレートでは1つのcppファイルで完結する程度の小さいプログラムをたくさん作りたい場合を想定しています.

main関数を含むcppを作り,ビルドを実行するとcppファイル名と同一の実行ファイルが作成されます.

CMakeテンプレート

project(cmake_skeleton)

cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)

file(GLOB sources *.cpp)

foreach(source ${sources})
  message(${source})
  get_filename_component(bin_name ${source} NAME_WE)
  add_executable(${bin_name} ${source})
endforeach()

プロジェクトの構成は次のようにしています.

├── CMakeLists.txt
├── build
├── readme.md
├── test1.cpp
└── test2.cpp

buildディレクトリ内でcmake ..makeを実行すると実行ファイルとしてtest1, test2が生成されます.