From 82d37ab169731b01787ed1f3c6cc8380357d5091 Mon Sep 17 00:00:00 2001 From: Masaru Tsuchiyama Date: Tue, 14 Aug 2018 17:52:19 +0900 Subject: [PATCH] =?UTF-8?q?[ci=20skip]=20=E3=83=93=E3=83=AB=E3=83=89?= =?UTF-8?q?=E3=81=AB=E9=96=A2=E3=81=99=E3=82=8B=E3=83=89=E3=82=AD=E3=83=A5?= =?UTF-8?q?=E3=83=A1=E3=83=B3=E3=83=88=E3=82=92=E6=9B=B4=E6=96=B0=E3=80=81?= =?UTF-8?q?SKIP=5FCREATE=5FGITHASH=20=E3=81=AB=E9=96=A2=E3=81=99=E3=82=8B?= =?UTF-8?q?=E8=AA=AC=E6=98=8E=E3=82=92=E7=A7=BB=E5=8B=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 32 ++---------- build.md | 115 ++++++++++++++++++++++++++++++++++++++++++++ installer/readme.md | 1 + 3 files changed, 120 insertions(+), 28 deletions(-) create mode 100644 build.md diff --git a/README.md b/README.md index c0121577c6..9fe26b96cb 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,7 @@ - [Visual Studio Community 2017](#visual-studio-community-2017) - [Visual Studio Install options required](#visual-studio-install-options-required) - [How to build](#how-to-build) - - [インストーラの仕組み](#インストーラの仕組み) - - [githash.h の更新のスキップ](#githashh-の更新のスキップ) + - [詳細情報](#詳細情報) - [CI Build (AppVeyor)](#ci-build-appveyor) - [ビルドの仕組み](#ビルドの仕組み) - [ビルド成果物を利用する上での注意事項](#ビルド成果物を利用する上での注意事項) @@ -42,35 +41,12 @@ https://github.com/sakura-editor/sakura/wiki More information: https://github.com/sakura-editor/sakura/issues/6 ## How to build -Visual Studio Community 2017 で `sakura.sln` を開いてビルド。 - - -### インストーラの仕組み - -[こちら](installer/readme.md) でビルドの仕組みを説明しています。 -### githash.h の更新のスキップ - -sakura editor ではビルド時に git の commit hash 等の情報を githash.h というファイルに出力します。 -ビルド時に commit hash 等を生成することでビルド済みのバイナリがどの commit hash を元にビルドされたか -簡単に判断できて便利なのですが、 - -バイナリが変化しないリファクタリングをしたときでも、commit hash 等の変更が原因でバイナリ一致しなくなります。 -これだと検証が面倒になるので、ローカルビルドで githash.h が変化しない手段を提供します。 - -コマンドラインで環境変数 ```SKIP_CREATE_GITHASH``` を 1 に設定することにより commit hash の -更新処理をスキップすることができます。githash.h が存在しない場合には、この環境変数が設定されていても -githash.h を生成します。 +Visual Studio Community 2017 で `sakura.sln` を開いてビルド。 -コマンド実行例 +### 詳細情報 -``` -set SKIP_CREATE_GITHASH=1 -build-sln.bat Win32 Release -build-sln.bat Win32 Debug -build-sln.bat x64 Release -build-sln.bat x64 Debug -``` +詳しくは [こちら](build.md) を参照 ## CI Build (AppVeyor) diff --git a/build.md b/build.md new file mode 100644 index 0000000000..d3b856972c --- /dev/null +++ b/build.md @@ -0,0 +1,115 @@ +# ビルド方法 + + + +- [ビルド方法](#ビルド方法) + - [必要なもの](#必要なもの) + - [実行ファイルのビルドに必要なもの](#実行ファイルのビルドに必要なもの) + - [HTML ヘルプのビルドに必要なもの](#html-ヘルプのビルドに必要なもの) + - [インストーラのビルドに必要なもの](#インストーラのビルドに必要なもの) + - [(オプション) ログの解析等に必要なもの](#オプション-ログの解析等に必要なもの) + - [ビルド方法](#ビルド方法-1) + - [実行ファイルだけをビルドする場合](#実行ファイルだけをビルドする場合) + - [方法1 (GUI)](#方法1-gui) + - [方法2 (コマンドライン)](#方法2-コマンドライン) + - [具体例 (x64 の Release)](#具体例-x64-の-release) + - [すべてビルドする場合](#すべてビルドする場合) + - [具体例 (Win32 の Release)](#具体例-win32-の-release) + - [ビルドの仕組み](#ビルドの仕組み) + - [appveyor でのビルドの仕組み](#appveyor-でのビルドの仕組み) + - [インストーラの仕組み](#インストーラの仕組み) + - [開発者向けの情報](#開発者向けの情報) + - [githash.h の更新のスキップ](#githashh-の更新のスキップ) + + + +## 必要なもの + +### 実行ファイルのビルドに必要なもの + +- Visual Studio 2017 Comminity Edition + +### HTML ヘルプのビルドに必要なもの + +- HTML Help Workshop (Visual Studio 2017 のインストールでインストールされます。) + +### インストーラのビルドに必要なもの + +[こちら](installer/readme.md) を参照 + +- [Inno Setup](http://www.jrsoftware.org/isdl.php) の以下のいずれかのバージョンです。 + - [innosetup-5.5.9-unicode.exe](http://files.jrsoftware.org/is/5/) (appveyor でのビルドではこちらが使われます。) + - [innosetup-5.6.1-unicode.exe](http://www.jrsoftware.org/isdl.php) +- [7Zip](https://sevenzip.osdn.jp/) (外部依存ファイルの解凍に使用) + +### (オプション) ログの解析等に必要なもの + +- [Python](https://www.python.org/) の 2.7 系、3.x 系のどちらでも OK (のはず) + +## ビルド方法 + +### 実行ファイルだけをビルドする場合 + +#### 方法1 (GUI) + +Visual Studio Community 2017 で `sakura.sln` をダブルクリックして開いてビルドします。 + +#### 方法2 (コマンドライン) + +``` +build-sln.bat +``` + +##### 具体例 (x64 の Release) + +``` +build-sln.bat x64 Release +``` + + +### すべてビルドする場合 + +``` +build-all.bat +``` + +##### 具体例 (Win32 の Release) + +``` +build-all.bat Win32 Release +``` + +## ビルドの仕組み + +### appveyor でのビルドの仕組み + +[こちら](appveyor.md) で appveyor 上でのビルドの仕組みを説明しています。 + +### インストーラの仕組み + +[こちら](installer/readme.md) でビルドの仕組みを説明しています。 + +## 開発者向けの情報 + +### githash.h の更新のスキップ + +sakura editor ではビルド時に git の commit hash 等の情報を githash.h というファイルに出力します。 +ビルド時に commit hash 等を生成することでビルド済みのバイナリがどの commit hash を元にビルドされたか +簡単に判断できて便利なのですが、 + +バイナリが変化しないリファクタリングをしたときでも、commit hash 等の変更が原因でバイナリ一致しなくなります。 +これだと検証が面倒になるので、ローカルビルドで githash.h が変化しない手段を提供します。 + +コマンドラインで環境変数 ```SKIP_CREATE_GITHASH``` を 1 に設定することにより commit hash の +更新処理をスキップすることができます。githash.h が存在しない場合には、この環境変数が設定されていても +githash.h を生成します。 + +コマンド実行例 + +``` +set SKIP_CREATE_GITHASH=1 +build-sln.bat Win32 Release +build-sln.bat Win32 Debug +build-sln.bat x64 Release +build-sln.bat x64 Debug +``` diff --git a/installer/readme.md b/installer/readme.md index 2591a7b2ff..56dcc6d06d 100644 --- a/installer/readme.md +++ b/installer/readme.md @@ -21,6 +21,7 @@ - [Inno Setup](http://www.jrsoftware.org/isdl.php) の以下のいずれかのバージョンです。 - [innosetup-5.5.9-unicode.exe](http://files.jrsoftware.org/is/5/) (appveyor でのビルドではこちらが使われます。) - [innosetup-5.6.1-unicode.exe](http://www.jrsoftware.org/isdl.php) +- [7Zip](https://sevenzip.osdn.jp/) (外部依存ファイルの解凍に使用します) ## インストーラ作成手順