コードをコンパイルする
- プロジェクトのルート ディレクトリに CMakeLists.txt という名前のファイルを作成し、必要に応じて各サブディレクトリに CMakeLists.txt ファイルを作成します。
- cmake に必要な最小バージョンを指定します。使用する CMake のバージョンがこのバージョンより低い場合、致命的なエラーが発行されます。
cmake_minimum_required(VERSION 3.20 FATAL_ERROR)
- プロジェクト名とサポートされているプログラミング言語を宣言します (必須)
project(cplusplus_test LANGUAGES CXX)
- 言語標準の設定 (オプション)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS ON)
- コンパイル タイプを設定します (オプション)。デフォルトは空であるか、他のものである可能性があります。
set(CMAKE_BUILD_TYPE "Debug")
- set を使用してカスタム変数または cmake 変数を設定します (オプション)
- CMake に 1 つ以上の新しいターゲット (実行可能ファイルまたは動的/静的ライブラリ) を作成するように指示します。
add_library()
add_executable()
- オブジェクト ファイルにインクルードするヘッダー ファイル ディレクトリがある場合は、ヘッダー ファイルのディレクトリをオブジェクト ファイルに追加します。
target_include_directories(<target> <PRIVATE|PUBLIC|INTERFACE> <header_dir>)
- ターゲット ファイルにさらにソース コード ファイル (.cpp など) がある場合は、それをターゲット ファイルに追加する必要があります
target_sources(<target> <PRIVATE|PUBLIC|INTERFACE> <src_dir>)
- ターゲット ファイルに依存関係がある場合は、依存ライブラリをターゲット ファイルにリンクします。ライブラリ ファイルでは、接頭辞 lib と接尾辞 .so または .a を省略できます。
target_link_libraries(<target> <PRIVATE|PUBLIC|INTERFACE> <lib_name>)
インストールコード
install()
テストコード
構築する
- ビルド ディレクトリを作成し、ビルド ディレクトリ内に多数のファイルを生成します。
mkdir -p build
cd build ; cmake ..
cmake --build .