スポンサーリンク
ninjaはビルドシステムの一つで、makeの仲間。高速なのが取り柄らしい。makeはmakefileを作成してビルドするのに対して、ninjaは.ninjaファイルを作成してビルドする。ただし、.ninjaはcmakeで作ることを想定している。
ninjaは以下URLから環境にあったものをダウンロード、展開する。今回はwindowsなのでninja-win.zipをダウンロードする。
https://github.com/ninja-build/ninja/releases
ninjaを呼び出せるように、ninja.exeへのパスをPathに追加しておく。
# CMakeのバージョンを設定 今自分が使っているものを指定している # 必須要件なので、数字は小さい方がいい。 cmake_minimum_required(VERSION 3.25) ############################################# ############################################# # ソリューション名を設定 set(MY_SOLUTION_NAME "MySolution") #プロジェクト名を設定 set(MY_PROJECT_NAME "MyProject") # 出力ファイル名を設定 set(MY_OUTPUT_NAME "myout") ############################################# ############################################# # ソリューションを作成 # プロジェクト名と使用する言語を設定 project(${MY_SOLUTION_NAME} CXX) ############################################# ############################################# # プロジェクトを作成 # out.exeという実行ファイルをmain.cppから作成 add_executable(${MY_PROJECT_NAME} main.cpp ) ############################################# ############################################# ############################################# ############################################# set_target_properties(${MY_PROJECT_NAME} PROPERTIES OUTPUT_NAME ${MY_OUTPUT_NAME})
#include <cstdio> int main(int argc,char** argv){ printf("hello world\n"); }
ninjaは内部で有効なコンパイラを呼び出すので、それらを使用できる環境が必要になる。
今回は、Visual Studio 2022の環境でビルドするため、Visual Studioが動く環境を用意する。
そこでまず、x64 Native Tools Command Prompt for VS 2022 を実行する。
これで、nmakeやcl.exeを使える環境となる。
この状態で、cmake-guiを起動
Generateすると、Where to build the binariesにbuild.ninjaが出来上がる。
D:\myDevelop\project\test\ │ ├─solution │ │ build.ninja ... ninjaファイル │ │ CMakeCache.txt │ │ cmake_install.cmake │ │ │ └─CMakeFiles │ └─src CMakeLists.txt ... CMakeLists.txt function.cpp ... ソースコード main.cpp source.hpp
カレントディレクトリにbuild.ninjaがある状態で、ninjaコマンドを実行する。
これでmyout.exeが作成された。
予約投稿してなかった。タヒにたい。確定申告のせいだ。