mirror of https://github.com/odrling/Aegisub
parent
8a49cf1c34
commit
0a1660c03b
|
@ -30,6 +30,7 @@ namespace BuildTasks {
|
||||||
#define BUILD_GIT_VERSION_STRING ""{1}""
|
#define BUILD_GIT_VERSION_STRING ""{1}""
|
||||||
#define TAGGED_RELEASE {2}
|
#define TAGGED_RELEASE {2}
|
||||||
#define INSTALLER_VERSION ""{3}""
|
#define INSTALLER_VERSION ""{3}""
|
||||||
|
#define RESOURCE_BASE_VERSION {4}
|
||||||
";
|
";
|
||||||
private const string versionXmlTemplate =
|
private const string versionXmlTemplate =
|
||||||
@"<?xml version=""1.0"" encoding=""utf-8""?>
|
@"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||||
|
@ -81,6 +82,7 @@ namespace BuildTasks {
|
||||||
|
|
||||||
int commits = 6962; // Rev ID when we switched away from SVN
|
int commits = 6962; // Rev ID when we switched away from SVN
|
||||||
string installerVersion = "0.0.0";
|
string installerVersion = "0.0.0";
|
||||||
|
string resourceVersion = "0, 0, 0";
|
||||||
string versionStr = null;
|
string versionStr = null;
|
||||||
bool taggedRelease = false;
|
bool taggedRelease = false;
|
||||||
using (var repo = new Repository(Root + ".git")) {
|
using (var repo = new Repository(Root + ".git")) {
|
||||||
|
@ -92,8 +94,10 @@ namespace BuildTasks {
|
||||||
taggedRelease = true;
|
taggedRelease = true;
|
||||||
versionStr = tag.Name;
|
versionStr = tag.Name;
|
||||||
if (versionStr.StartsWith("v")) versionStr = versionStr.Substring(1);
|
if (versionStr.StartsWith("v")) versionStr = versionStr.Substring(1);
|
||||||
if (Regex.Match(versionStr, @"(\d)\.(\d)\.(\d)").Success)
|
if (Regex.Match(versionStr, @"(\d)\.(\d)\.(\d)").Success) {
|
||||||
installerVersion = versionStr;
|
installerVersion = versionStr;
|
||||||
|
resourceVersion = versionStr.Replace(".", ", ");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,7 +108,7 @@ namespace BuildTasks {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WriteIfChanged(versionHPath, versionHTemplate, commits, versionStr, taggedRelease ? "1" : "0", installerVersion);
|
WriteIfChanged(versionHPath, versionHTemplate, commits, versionStr, taggedRelease ? "1" : "0", installerVersion, resourceVersion);
|
||||||
WriteIfChanged(versionXmlPath, versionXmlTemplate, commits, versionStr);
|
WriteIfChanged(versionXmlPath, versionXmlTemplate, commits, versionStr);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -27,11 +27,13 @@ last_svn_hash="16cd907fe7482cb54a7374cd28b8501f138116be"
|
||||||
git_revision=$(expr $last_svn_revision + $(git log --pretty=oneline $last_svn_hash..HEAD 2>/dev/null | wc -l))
|
git_revision=$(expr $last_svn_revision + $(git log --pretty=oneline $last_svn_hash..HEAD 2>/dev/null | wc -l))
|
||||||
git_version_str=$(git describe --exact-match 2> /dev/null)
|
git_version_str=$(git describe --exact-match 2> /dev/null)
|
||||||
installer_version='0.0.0'
|
installer_version='0.0.0'
|
||||||
|
resource_version='0, 0, 0'
|
||||||
if test x$git_version_str != x; then
|
if test x$git_version_str != x; then
|
||||||
git_version_str="${git_version_str##v}"
|
git_version_str="${git_version_str##v}"
|
||||||
tagged_release=1
|
tagged_release=1
|
||||||
if [ $(echo $git_version_str | grep '\d\.\d\.\d') ]; then
|
if [ $(echo $git_version_str | grep '\d\.\d\.\d') ]; then
|
||||||
installer_version=$git_version_str
|
installer_version=$git_version_str
|
||||||
|
resource_version=$(echo $git_version_str | sed 's/\./, /g')
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
git_branch="$(git symbolic-ref HEAD 2> /dev/null)" || git_branch="(unnamed branch)"
|
git_branch="$(git symbolic-ref HEAD 2> /dev/null)" || git_branch="(unnamed branch)"
|
||||||
|
@ -47,7 +49,8 @@ new_version_h="\
|
||||||
#define BUILD_GIT_VERSION_NUMBER ${git_revision}
|
#define BUILD_GIT_VERSION_NUMBER ${git_revision}
|
||||||
#define BUILD_GIT_VERSION_STRING \"${git_version_str}\"
|
#define BUILD_GIT_VERSION_STRING \"${git_version_str}\"
|
||||||
#define TAGGED_RELEASE ${tagged_release}
|
#define TAGGED_RELEASE ${tagged_release}
|
||||||
#define INSTALLER_VERSION \"${installer_version}\""
|
#define INSTALLER_VERSION \"${installer_version}\"
|
||||||
|
#define RESOURCE_BASE_VERSION ${resource_version}"
|
||||||
|
|
||||||
# may not exist yet for out of tree builds
|
# may not exist yet for out of tree builds
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
|
|
|
@ -1,43 +1,77 @@
|
||||||
// Copyright (c) 2005, Rodrigo Braz Monteiro
|
// Copyright (c) 2014, Thomas Goyne <plorkyeran@aegisub.org>
|
||||||
// All rights reserved.
|
|
||||||
//
|
//
|
||||||
// Redistribution and use in source and binary forms, with or without
|
// Permission to use, copy, modify, and distribute this software for any
|
||||||
// modification, are permitted provided that the following conditions are met:
|
// purpose with or without fee is hereby granted, provided that the above
|
||||||
|
// copyright notice and this permission notice appear in all copies.
|
||||||
//
|
//
|
||||||
// * Redistributions of source code must retain the above copyright notice,
|
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
// this list of conditions and the following disclaimer.
|
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
// * Redistributions in binary form must reproduce the above copyright notice,
|
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
// and/or other materials provided with the distribution.
|
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
// * Neither the name of the Aegisub Group nor the names of its contributors
|
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
// may be used to endorse or promote products derived from this software
|
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
// without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
// POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// -----------------------------------------------------------------------------
|
|
||||||
//
|
|
||||||
// AEGISUB
|
|
||||||
//
|
|
||||||
// Website: http://aegisub.cellosoft.com
|
|
||||||
// Contact: mailto:zeratul@cellosoft.com
|
|
||||||
//
|
//
|
||||||
|
// Aegisub Project http://www.aegisub.org/
|
||||||
|
|
||||||
// main app icon should always be first
|
// main app icon should always be first
|
||||||
// (windows explorer uses the first icon resource by default)
|
// (windows explorer uses the first icon resource by default)
|
||||||
wxicon ICON "../bitmaps/windows/icon.ico"
|
wxicon ICON "../bitmaps/windows/icon.ico"
|
||||||
eyedropper_cursor CURSOR "../bitmaps/windows/eyedropper.cur"
|
eyedropper_cursor CURSOR "../bitmaps/windows/eyedropper.cur"
|
||||||
|
|
||||||
// The following define is necessary for Visual Studio
|
// We supply the manifest ourselves
|
||||||
#define wxUSE_NO_MANIFEST 1
|
#define wxUSE_NO_MANIFEST 1
|
||||||
#include "wx/msw/wx.rc"
|
#include "wx/msw/wx.rc"
|
||||||
|
|
||||||
|
#include "../../build/git_version.h"
|
||||||
|
#include <Winver.h>
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
#ifdef _WIN64
|
||||||
|
#define AGI_RC_FILENAME "aegisub64d"
|
||||||
|
#else
|
||||||
|
#define AGI_RC_FILENAME "aegisub32d"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#ifdef _WIN64
|
||||||
|
#define AGI_RC_FILENAME "aegisub64"
|
||||||
|
#else
|
||||||
|
#define AGI_RC_FILENAME "aegisub32"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
#define AGI_RC_FLAG_DEBUG VS_FF_DEBUG
|
||||||
|
#else
|
||||||
|
#define AGI_RC_FLAG_DEBUG 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TAGGED_RELEASE
|
||||||
|
#define AGI_RC_FLAG_PRERELEASE 0
|
||||||
|
#else
|
||||||
|
#define AGI_RC_FLAG_PRERELEASE VS_FF_PRERELEASE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION RESOURCE_BASE_VERSION, BUILD_GIT_VERSION_NUMBER
|
||||||
|
PRODUCTVERSION RESOURCE_BASE_VERSION, 0
|
||||||
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
|
FILEFLAGS (AGI_RC_FLAG_DEBUG|AGI_RC_FLAG_PRERELEASE)
|
||||||
|
FILEOS VOS__WINDOWS32
|
||||||
|
FILETYPE VFT_APP
|
||||||
|
FILESUBTYPE VFT2_UNKNOWN
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904B0" // 0x0409: en-US, 0x04B0: unicode
|
||||||
|
BEGIN
|
||||||
|
VALUE "CompanyName", "Aegisub"
|
||||||
|
VALUE "FileDescription", "Aegisub subtitle editor"
|
||||||
|
VALUE "FileVersion", BUILD_GIT_VERSION_STRING
|
||||||
|
VALUE "InternalName", AGI_RC_FILENAME
|
||||||
|
VALUE "OriginalFilename", AGI_RC_FILENAME ".exe"
|
||||||
|
VALUE "ProductName", "Aegisub"
|
||||||
|
VALUE "ProductVersion", BUILD_GIT_VERSION_STRING
|
||||||
|
END
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
Loading…
Reference in New Issue