shonen.hateblo.jp

やったこと,しらべたことを書く.

Linux版OpenSiv3dプロジェクト作成メモ

環境

Ubuntu 19.04

でもArchLinuxの方が導入楽そうな気がしました。

前提

リポジトリはclone済み。

公式のreadme.mdを読んで、一通りビルドして、OpenSiv3D/Linux/Release/libSiv3D.a がある。

やりかた(事前準備なしで)

カレントディレクトリは、今から作業しようと思っているプロジェクトディレクトリとします。

環境変数を定義しておきます。/path/to/opensiv3drepositoryroot は、 opensiv3d の repository のルートディレクトリで、直下にLICENSEや、README.mdがある場所です。

export SIV3D_PATH=/path/to/opensiv3drepositoryroot

以下のファイル・ディレクトリをコピーします。

  • $SIV3D_PATH/Linux/App/CMakeLists.txt
  • $SIV3D_PATH/Linux/App/resources
  • $SIV3D_PATH/Linux/App/Main.cpp

CMakeLists.txt に以下のパッチを当てます。

@@ -26,8 +26,8 @@
 include_directories(
    "/usr/include"
 
-  "../../Siv3D/include"
-  "../../Siv3D/include/ThirdParty"
+   "$ENV{SIV3D_PATH}/Siv3D/include"
+   "$ENV{SIV3D_PATH}/Siv3D/include/ThirdParty"
 )
 
 set(SOURCE_FILES
@@ -61,6 +61,6 @@
    -lvorbisfile
    -lboost_filesystem
 
-  ${PROJECT_SOURCE_DIR}/../Build/libSiv3D.a
+   $ENV{SIV3D_PATH}/Linux/Release/libSiv3D.a
 )

ビルドします。

cmake .
make

hello world!

./Siv3D_App

やりかた(事前準備ありでもっとお手軽に)

事前準備

bashrcに環境変数を書き込んでおきます。

echo 'export SIV3D_PATH=/path/to/opensiv3drepositoryroot' >> ~/.bashrc
source ~/.bashrc

スクリプトを作っておきます。~/make_siv3dproj.sh とします。

#!/bin/sh

cp $SIV3D_PATH/Linux/App/CMakeLists.txt ./
cp $SIV3D_PATH/Linux/App/resources ./ -r
cp $SIV3D_PATH/Linux/App/Main.cpp ./

patch CMakeLists.txt <<EOL
@@ -26,8 +26,8 @@
 include_directories(
        "/usr/include"
 
-       "../../Siv3D/include"
-       "../../Siv3D/include/ThirdParty"
+       "\$ENV{SIV3D_PATH}/Siv3D/include"
+       "\$ENV{SIV3D_PATH}/Siv3D/include/ThirdParty"
 )
 
 set(SOURCE_FILES
@@ -61,6 +61,6 @@
        -lvorbisfile
        -lboost_filesystem
 
-       \${PROJECT_SOURCE_DIR}/../Build/libSiv3D.a
+       \$ENV{SIV3D_PATH}/Linux/Release/libSiv3D.a
 )
 
EOL

cmake .

お手軽な方法

わずか3ステップ

cd your/nice/project
sh ~/make_siv3dproj.sh
make
./Siv3D_App