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

[x64対応] バージョン情報にPlatform情報を埋め込み (32bit/64bit) #179

Merged
merged 8 commits into from
Jun 25, 2018

Conversation

kobake
Copy link
Member

@kobake kobake commented Jun 24, 2018

#90 のコンフリクトを解消した版。

諸事情でリポジトリの Fork をし直したので PR も作り直します。

対応内容

  • exe, dll のバージョン情報にPlatform情報を埋め込み (32bit/64bit)
  • バージョンダイアログ表示にPlatform情報を埋め込み (32bit/64bit)

@kobake kobake changed the title [WIP] [x64対応] バージョン情報にPlatform情報を埋め込み (32bit/64bit) [x64対応] バージョン情報にPlatform情報を埋め込み (32bit/64bit) Jun 24, 2018
@kobake
Copy link
Member Author

kobake commented Jun 24, 2018

調整完了しました。

@kobake kobake changed the title [x64対応] バージョン情報にPlatform情報を埋め込み (32bit/64bit) [WIP] [x64対応] バージョン情報にPlatform情報を埋め込み (32bit/64bit) Jun 24, 2018
@kobake
Copy link
Member Author

kobake commented Jun 24, 2018

一部不具合があったので直します

@kobake kobake changed the title [WIP] [x64対応] バージョン情報にPlatform情報を埋め込み (32bit/64bit) [x64対応] バージョン情報にPlatform情報を埋め込み (32bit/64bit) Jun 24, 2018
@kobake
Copy link
Member Author

kobake commented Jun 24, 2018

調整完了しました。x64 版のリソースビルド時に _WIN64 が定義されていなかったのでプロジェクト設定で定義を追加しました。

@@ -26,6 +26,7 @@
#include "util/module.h"
#include "gitrev.h"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/kobake/sakura/blob/6071052ad97610b5b5f82f72b8ea0f177cb49966/sakura_core/version.h#L3

で gitrev.h をインクルードするので version.h のインクルードだけにできます。

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

たしかに。30e4286 で gitrev.h のインクルードをすべて version.h に集約しました。


// リソース埋め込み用バージョン文字列
// e.g. "2.3.2.0 (4a0de579) UNICODE 64bit DEBUG"
#define RESOURCE_VERSION_STRING(_VersionString) _VersionString " (" GIT_SHORT_COMMIT_HASH ") " VER_CHARSET " " VER_PLATFORM " " VER_CONFIG
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#90 で書きましたが、Release 版のときに、
VER_CONFIG の前に空白入る件お願いします。

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

対応しました

#ifndef _UNICODE
" ANSI"
#endif
VALUE "ProductVersion", RESOURCE_VERSION_STRING(PR_VER_STR) // e.g. "2.3.2.0 4a0de579 UNICODE 64bit DEBUG"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

対応しました

#if defined(GIT_COMMIT_HASH)
cmemMsg.AppendString(_T("(GitHash " GIT_COMMIT_HASH ")\r\n"));
#endif
cmemMsg.AppendString( szMsg );
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

以下のようにするのはいかがでしょうか?
追加や削除が容易になると思います。

#ifdef GIT_COMMIT_HASH
#define VER_GITHASH "(GitHash " GIT_COMMIT_HASH ")"
#else
#define VER_GITHASH ""
#endif
	DWORD dwVersionMS, dwVersionLS;
	GetAppVersionInfo( NULL, VS_VERSION_INFO, &dwVersionMS, &dwVersionLS );
	auto_sprintf(szMsg,
		_T("v%d.%d.%d.%d"),
		HIWORD(dwVersionMS), LOWORD(dwVersionMS), HIWORD(dwVersionLS), LOWORD(dwVersionLS) // e.g. {2, 3, 2, 0}
	);
	cmemMsg.AppendString( szMsg );

	cmemMsg.AppendString( _T("  ") _T(VER_PLATFORM) );
#ifdef _DEBUG
	cmemMsg.AppendString( _T("  ") _T(VER_CONFIG) );
#endif
#ifdef GIT_COMMIT_HASH
	cmemMsg.AppendString( _T("\r\n") _T(VER_GITHASH) _T("\r\n"));
#endif
#if defined(GIT_URL)
	cmemMsg.AppendString(_T("(GitURL " GIT_URL ")\r\n"));
#endif
	cmemMsg.AppendString( _T("\r\n") );

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

今は x64 マージを優先したいです

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

了解です

Copy link
Member

@m-tmatma m-tmatma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Release 構成の場合に、auto_sprintf で VER_CONFIG を %hs で出力するときに %hs の前に空白があるので
末尾に余計な空白が入りますが、後で対応すればいいと思います。

@m-tmatma m-tmatma merged commit 25619c0 into sakura-editor:x64 Jun 25, 2018
@m-tmatma m-tmatma added this to the next release milestone Jun 25, 2018
@m-tmatma m-tmatma added enhancement ■機能追加 x64 x64 対応 labels Jun 25, 2018
@kobake
Copy link
Member Author

kobake commented Jun 26, 2018

Release 構成の場合に、auto_sprintf で VER_CONFIG を %hs で出力するときに %hs の前に空白があるので
末尾に余計な空白が入りますが、後で対応すればいいと思います。

認識してしましたが重要な問題ではないと判断し(可読性のほうを重視して)そのままにしてあります。

@ds14050 ds14050 added enhancement ■機能追加 x64 x64 対応 labels Sep 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement ■機能追加 x64 x64 対応
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants