mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-10 16:00:18 +00:00
Improve Windows installer
- Unify x86 and x64 installer files - Get rid of version program - Clean up .iss file - Only allow one installation
This commit is contained in:
@@ -1,153 +0,0 @@
|
||||
/* HexChat
|
||||
* Copyright (c) 2011-2012 Berke Viktor.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "../../config-win32.h"
|
||||
|
||||
char *
|
||||
comma ()
|
||||
{
|
||||
# if 0 /* for WDK version numbers */
|
||||
int major, minor;
|
||||
char *version_string; /* nnnn,n,n,n format */
|
||||
|
||||
version_string = (char*) malloc (11);
|
||||
|
||||
if (sscanf (PACKAGE_VERSION, "%d-%d", &major, &minor) > 1)
|
||||
{
|
||||
sprintf (version_string, "%d,%d,0,0", major, minor);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf (version_string, "%d,0,0,0", major);
|
||||
}
|
||||
#endif
|
||||
int major, minor, build;
|
||||
char *version_string; /* n,n,n,n format */
|
||||
|
||||
version_string = (char*) malloc (8);
|
||||
|
||||
sscanf (PACKAGE_VERSION, "%d.%d.%d", &major, &minor, &build);
|
||||
sprintf (version_string, "%d,%d,%d,0", major, minor, build);
|
||||
|
||||
return version_string;
|
||||
}
|
||||
|
||||
char *
|
||||
point ()
|
||||
{
|
||||
int major1, major2, major3, major4, minor;
|
||||
char *version_string; /* nn.nn.nn.nn format */
|
||||
|
||||
version_string = (char*) malloc (12);
|
||||
|
||||
if (sscanf (PACKAGE_VERSION, "%c%c%c%c-%d", &major1, &major2, &major3, &major4, &minor) > 4)
|
||||
{
|
||||
sprintf (version_string, "%c%c.%c%c.%d.0", major1, major2, major3, major4, minor);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf (version_string, "%c%c.%c%c.0.0", major1, major2, major3, major4);
|
||||
}
|
||||
|
||||
return version_string;
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
if (argc > 1)
|
||||
{
|
||||
if (!strcmp (argv[1], "-r")) /* hexchat.rc/FILEVERSION, PRODUCTVERSION */
|
||||
{
|
||||
printf ("#define COMMA_VERSION %s\n", comma ());
|
||||
}
|
||||
else if (!strcmp (argv[1], "-a")) /* hexchat.iss/AppVerName */
|
||||
{
|
||||
#ifdef _WIN64
|
||||
printf ("AppVerName=HexChat %s (x64)\n", PACKAGE_VERSION);
|
||||
#else
|
||||
printf ("AppVerName=HexChat %s (x86)\n", PACKAGE_VERSION);
|
||||
#endif
|
||||
}
|
||||
else if (!strcmp (argv[1], "-v")) /* hexchat.iss/AppVersion */
|
||||
{
|
||||
/* printf ("AppVersion=%s\n", point ()); this was required only for nnnn[-n] version numbers */
|
||||
printf ("AppVersion=%s\n", PACKAGE_VERSION);
|
||||
}
|
||||
else if (!strcmp (argv[1], "-i")) /* hexchat.iss/VersionInfoVersion */
|
||||
{
|
||||
/* printf ("VersionInfoVersion=%s\n", point ()); this was required only for nnnn[-n] version numbers */
|
||||
printf ("VersionInfoVersion=%s\n", PACKAGE_VERSION);
|
||||
}
|
||||
else if (!strcmp (argv[1], "-o")) /* hexchat.iss/OutputBaseFilename */
|
||||
{
|
||||
#ifdef _WIN64
|
||||
printf ("OutputBaseFilename=HexChat %s x64\n", PACKAGE_VERSION);
|
||||
#else
|
||||
printf ("OutputBaseFilename=HexChat %s x86\n", PACKAGE_VERSION);
|
||||
#endif
|
||||
}
|
||||
else if (!strcmp (argv[1], "-v")) /* version.txt */
|
||||
{
|
||||
printf ("%s", PACKAGE_VERSION);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf ("usage:\n\t-a\thexchat.iss/AppVerName\n\t-i\thexchat.iss/VersionInfoVersion\n\t-o\thexchat.iss/OutputBaseFilename\n\t-r\thexchat.rc/FILEVERSION, PRODUCTVERSION\n\t-v\thexchat.iss/AppVersion\n");
|
||||
}
|
||||
} else
|
||||
{
|
||||
printf ("usage:\n\t-a\thexchat.iss/AppVerName\n\t-i\thexchat.iss/VersionInfoVersion\n\t-o\thexchat.iss/OutputBaseFilename\n\t-r\thexchat.rc/FILEVERSION, PRODUCTVERSION\n\t-v\thexchat.iss/AppVersion\n");
|
||||
}
|
||||
|
||||
#if 0 /* ugly hack */
|
||||
switch ((int) argv[1][0])
|
||||
{
|
||||
case 'r': /* hexchat.rc/FILEVERSION, PRODUCTVERSION*/
|
||||
printf ("#define COMMA_VERSION \"%s\"\n", comma ());
|
||||
break;
|
||||
case 'a': /* hexchat.iss/AppVerName */
|
||||
printf ("AppVerName=HexChat %s\n", PACKAGE_VERSION);
|
||||
break;
|
||||
case 'v': /* hexchat.iss/AppVersion */
|
||||
printf ("AppVersion=%s\n", point ());
|
||||
break;
|
||||
case 'i': /* hexchat.iss/VersionInfoVersion */
|
||||
printf ("VersionInfoVersion=%s\n", point ());
|
||||
break;
|
||||
case 'o': /* hexchat.iss/OutputBaseFilename */
|
||||
printf ("OutputBaseFilename=HexChat %s\n", PACKAGE_VERSION);
|
||||
break;
|
||||
case 'u': /* version.txt */
|
||||
printf ("%s", PACKAGE_VERSION);
|
||||
break;
|
||||
default:
|
||||
printf ("use a, i, o, r or v.\n");
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Label="Configuration">
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{6CD3647E-4541-4849-9DD7-C8816665AE42}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>version</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\win32\hexchat.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\win32\hexchat.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(HexChatBin)</OutDir>
|
||||
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(HexChatBin)</OutDir>
|
||||
<IntDir>$(HexChatObj)$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>"$(OutDir)\$(TargetName)$(TargetExt)" -r > "$(SolutionDir)\..\resource.h"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>"$(OutDir)\$(TargetName)$(TargetExt)" -r > "$(SolutionDir)\..\resource.h"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="version.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="version.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Reference in New Issue
Block a user