-
Notifications
You must be signed in to change notification settings - Fork 165
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
appveyorでロケール設定するのをやめる #482
appveyorでロケール設定するのをやめる #482
Conversation
プロジェクト設定のSJIS指定をutf-8指定に変更する Funccode_x.hsrcをUTF-8にする HeaderMake.cppの文字コード指定を更新する Makefileの文字コード指定を更新する
最近、日本語ロケールに依存したバッチファイルを追加していませんでしたっけ? |
それは get-PR.bat なので、CI 上では動きません。 |
ASM ファイルはいろいろ差分が出ています。 |
アセンブラに差が出る理屈が分かったようなので追加コミット積みました。
将来的に ビルド終わったら確認して声かけます。 |
ビルド終わりました。 CDlgAbout.asm以外のasmファイルが一致することを確認できました。 ちょっと回り道したけれど、なんとか妥当性が確認できた感じです。 |
バージョンはうちもあげてて、ビルド後のexeは動いてそうに見えます。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
対応ありがとうございます。
…de_globalization appveyorでロケール設定するのをやめる
目的
appveyorのビルドを速くする
概要
appveyorのビルドに時間がかかる要因として、
ビルド前にシステムロケールを変更して再起動を行っていることをあげられます。
ロケール変更に必要な時間は、混雑具合などにもよりますが2分くらいです。
何故ロケール変更をしているかというと、
サクラエディタが日本語アプリだからです。
もう少し厳密な言い方をすると、
日本語で書かれているソースコードをコンパイルするためには、
システムロケールを変える必要があったためです。
(日本語で書かれている=文字コードがSJISだと思ってください。)
#112 (comment) で書いた通り、
このロケール設定をしなくて済む方法がありそうです。
修正内容の説明
この修正は code&fix で検証しながら作ったものなので、やったことを書きます。
→ビルドエラーになった。
→Funccode_x.hsrcをcl.exeでプリプロセスするときに警告が出てることが分かった
→Funccode_x.hsrcの文字コードを変換してみた
→cl.exeのコマンドラインに/utf-8を足してみた
→本体側のビルドで警告が消えないことに気付いた
→additional optionを/utf-8に差し替えた
確認内容
ソースコードがすべてUNICODE化されたため、
英語環境でも問題なくビルドできるようになっているはずです。
ロケール変更をせずにビルドしています。
「asmに差が出ないこと」でチェックできるかも知れません。
生成されたexeはいちおう日本語表示できてそうです。