Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ビルドに関するドキュメントを更新、SKIP_CREATE_GITHASH に関する説明を移動 #341

Merged
merged 1 commit into from
Aug 15, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 4 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [ビルドの仕組み](#ビルドの仕組み)
- [ビルド成果物を利用する上での注意事項](#ビルド成果物を利用する上での注意事項)
Expand Down Expand Up @@ -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)

Expand Down
115 changes: 115 additions & 0 deletions build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# ビルド方法

<!-- TOC -->

- [ビルド方法](#ビルド方法)
- [必要なもの](#必要なもの)
- [実行ファイルのビルドに必要なもの](#実行ファイルのビルドに必要なもの)
- [HTML ヘルプのビルドに必要なもの](#html-ヘルプのビルドに必要なもの)
- [インストーラのビルドに必要なもの](#インストーラのビルドに必要なもの)
- [(オプション) ログの解析等に必要なもの](#オプション-ログの解析等に必要なもの)
- [ビルド方法](#ビルド方法-1)
- [実行ファイルだけをビルドする場合](#実行ファイルだけをビルドする場合)
- [方法1 (GUI)](#方法1-gui)
- [方法2 (コマンドライン)](#方法2-コマンドライン)
- [具体例 (x64 の Release)](#具体例-x64-の-release)
- [すべてビルドする場合](#すべてビルドする場合)
- [具体例 (Win32 の Release)](#具体例-win32-の-release)
- [ビルドの仕組み](#ビルドの仕組み)
- [appveyor でのビルドの仕組み](#appveyor-でのビルドの仕組み)
- [インストーラの仕組み](#インストーラの仕組み)
- [開発者向けの情報](#開発者向けの情報)
- [githash.h の更新のスキップ](#githashh-の更新のスキップ)

<!-- /TOC -->

## 必要なもの

### 実行ファイルのビルドに必要なもの

- 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 <Platform> <Configuration>
```

##### 具体例 (x64 の Release)

```
build-sln.bat x64 Release
```


### すべてビルドする場合

```
build-all.bat <Platform> <Configuration>
```

##### 具体例 (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
```
1 change: 1 addition & 0 deletions installer/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/) (外部依存ファイルの解凍に使用します)

## インストーラ作成手順

Expand Down