🍰

premakeを使ってみる

2024/04/03に公開

特に難しい点は無かったが念のため、備忘録として保存しておく。

環境

Windows11 home
Visual Studio 2022

そもそもpremakeとはなんぞや

公式では、以下のような説明になっている

Premake is a command line utility which reads a scripted definition of a software project and, most commonly, uses it to generate project files for toolsets like Visual Studio, Xcode, or GNU Make.

つまり、
スクリプト化されたProjectの定義を読み込み、Visual Studio、Xcode、GNU MakeなどのIDEやビルドシステム用のプロジェクトファイルを生成するために使用するコマンドラインユーティリティとなっている

他に有名のだと、Cmakeなどがある。

CMakeとの違いは、
CMakeは、CMake独自の言語を使用して記述するのに対して、
premakeでは、luaというスクリプト言語を使用して記述する。

それ以外の違いはまたおいおい記述していく。

詳細

Premakeのダウンロード

Download Premakeページに行き、
Windowsを選択する。
premake-5.0.0-beta2-windows.zipというようなzipファイルがダウンロードされる。

ダウンロードされたPremakeを解凍し、任意の場所に配置する。
今回、自分はC:\Program Files\に配置した。

環境変数の設定

【Windows11】環境変数の設定
を参考にして、Premakeの置いてあるファイルのPathを通す。

Pathが通っているかを確認するため
コマンドプロンプトで以下のコマンドを実行する。

$ premake5 --version

実行結果で以下のような出力がされると環境構築が成功した証になる。

premake5 (Premake Build Script Generator) 5.0.0-beta2

使ってみる

以下のファイルを用意する。

hello-premake.c
#include <stdio.h>

int main(void) {
   puts("Hello, world!");
   return 0;
}
premake5.lua
workspace "HelloWorld"
   configurations { "Debug", "Release" }

project "HelloWorld"
   kind "ConsoleApp"
   language "C"
   targetdir "bin/%{cfg.buildcfg}"

   files { "**.h", "**.c" }

   filter "configurations:Debug"
      defines { "DEBUG" }
      symbols "On"

   filter "configurations:Release"
      defines { "NDEBUG" }
      optimize "On"

ファイルが用意出来たら、
hello-premake.cpremake5.luaのある階層で以下のコマンドを実行する

cmd
$ premake5 vs2022

実行すると.sin.vcxprojが作成される

参考

Using Premake

Discussion