Browse Source

Initial WiX based installer for Windows to install libespeak-ng.dll and espeak-ng.exe.

master
Reece H. Dunn 9 years ago
parent
commit
f850179478
5 changed files with 136 additions and 3 deletions
  1. 6
    0
      .gitignore
  2. 5
    3
      README.md
  3. 9
    0
      src/windows/espeak-ng.sln
  4. 46
    0
      src/windows/installer/Product.wxs
  5. 70
    0
      src/windows/installer/installer.wixproj

+ 6
- 0
.gitignore View File

*.lib *.lib
*.dll *.dll
*.exe *.exe
*.msi


*.exp *.exp
*.idb *.idb
*.cache *.cache
*.user *.user


*.txt
*.wixobj
*.wixpdb
*.cab

# Linux/Source distribution files # Linux/Source distribution files


praat-mod/ praat-mod/

+ 5
- 3
README.md View File

__NOTE:__ This is currently experimental. It does not build the voice data, and __NOTE:__ This is currently experimental. It does not build the voice data, and
may contain runtime errors and missing functionality. may contain runtime errors and missing functionality.


To build eSpeak NG on Windows, you will need a copy of Visual Studio, such as
the Microsoft Visual Studio Community 2015 edition. Additionally, you will need
the Windows 8.1 SDK.
To build eSpeak NG on Windows, you will need:

1. a copy of Visual Studio 2015, such as the Community Edition;
2. the Windows 8.1 SDK;
3. the [WiX installer](http://wixtoolset.org) plugin.


You can then open and build the `src/windows/espeak-ng.sln` solution in Visual You can then open and build the `src/windows/espeak-ng.sln` solution in Visual
Studio. Studio.

+ 9
- 0
src/windows/espeak-ng.sln View File

{A745D521-5B19-49DB-89D3-D0A3BE64D97B} = {A745D521-5B19-49DB-89D3-D0A3BE64D97B} {A745D521-5B19-49DB-89D3-D0A3BE64D97B} = {A745D521-5B19-49DB-89D3-D0A3BE64D97B}
EndProjectSection EndProjectSection
EndProject EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "installer", "installer\installer.wixproj", "{B67CE3B2-D1D7-45B9-98DA-164E3837D7BC}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64 Debug|x64 = Debug|x64
{8C406BE8-2F85-426B-8009-A2DD540DF7CD}.Release|x64.Build.0 = Release|x64 {8C406BE8-2F85-426B-8009-A2DD540DF7CD}.Release|x64.Build.0 = Release|x64
{8C406BE8-2F85-426B-8009-A2DD540DF7CD}.Release|x86.ActiveCfg = Release|Win32 {8C406BE8-2F85-426B-8009-A2DD540DF7CD}.Release|x86.ActiveCfg = Release|Win32
{8C406BE8-2F85-426B-8009-A2DD540DF7CD}.Release|x86.Build.0 = Release|Win32 {8C406BE8-2F85-426B-8009-A2DD540DF7CD}.Release|x86.Build.0 = Release|Win32
{B67CE3B2-D1D7-45B9-98DA-164E3837D7BC}.Debug|x64.ActiveCfg = Debug|x64
{B67CE3B2-D1D7-45B9-98DA-164E3837D7BC}.Debug|x64.Build.0 = Debug|x64
{B67CE3B2-D1D7-45B9-98DA-164E3837D7BC}.Debug|x86.ActiveCfg = Debug|x86
{B67CE3B2-D1D7-45B9-98DA-164E3837D7BC}.Debug|x86.Build.0 = Debug|x86
{B67CE3B2-D1D7-45B9-98DA-164E3837D7BC}.Release|x64.ActiveCfg = Release|x86
{B67CE3B2-D1D7-45B9-98DA-164E3837D7BC}.Release|x86.ActiveCfg = Release|x86
{B67CE3B2-D1D7-45B9-98DA-164E3837D7BC}.Release|x86.Build.0 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

+ 46
- 0
src/windows/installer/Product.wxs View File

<?xml version="1.0" encoding="UTF-8"?>
<?define ProductName = "eSpeak NG Text-to-Speech" ?>
<?if $(var.Platform) = x64 ?>
<?define ProductDisplayName = "$(var.ProductName) 64-bit" ?>
<?define ProductId = "3DA6DF03-E5CD-4A93-B06F-707484742BAB" ?>
<?define ProductUpgradeCode = "B4F779EB-AC6C-49D2-A12D-4871E4520C0F" ?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define ProductDisplayName = "$(var.ProductName)" ?>
<?define ProductId = "4B445D11-6C40-474A-AF7C-CBF5CC8D8F62" ?>
<?define ProductUpgradeCode = "53330FEC-30DA-438A-B4B7-E43EAA62F43F" ?>
<?define Win64 = "no" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="$(var.ProductId)" Name="$(var.ProductDisplayName)" Language="1033" Version="1.48.15.0" Manufacturer="Cainteoir Technologies" UpgradeCode="$(var.ProductUpgradeCode)">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform="$(var.Platform)" />

<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />

<Feature Id="Core" Title="eSpeak NG" Level="1">
<ComponentGroupRef Id="CoreComponents" />
</Feature>
</Product>

<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="INSTALLFOLDER" Name="eSpeak NG" />
</Directory>
</Directory>
</Fragment>

<Fragment>
<ComponentGroup Id="CoreComponents" Directory="INSTALLFOLDER">
<Component Id="espeak_ng" Win64="$(var.Win64)">
<File Id="espeak_ng_exe" Name="$(var.espeak-ng.TargetFileName)" Source="$(var.espeak-ng.TargetPath)" KeyPath="yes"/>
</Component>
<Component Id="libespeak_ng" Win64="$(var.Win64)">
<File Id="libespeak_ng_dll" Name="$(var.libespeak-ng.TargetFileName)" Source="$(var.libespeak-ng.TargetPath)" KeyPath="yes"/>
</Component>
</ComponentGroup>
</Fragment>
</Wix>

+ 70
- 0
src/windows/installer/installer.wixproj View File

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.10</ProductVersion>
<ProjectGuid>b67ce3b2-d1d7-45b9-98da-164e3837d7bc</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>espeak-ng</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants>
<SuppressAllWarnings>False</SuppressAllWarnings>
<Pedantic>True</Pedantic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<SuppressAllWarnings>False</SuppressAllWarnings>
<Pedantic>True</Pedantic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<DefineConstants>Debug</DefineConstants>
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
<SuppressAllWarnings>False</SuppressAllWarnings>
<Pedantic>True</Pedantic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
<SuppressAllWarnings>False</SuppressAllWarnings>
<Pedantic>True</Pedantic>
</PropertyGroup>
<ItemGroup>
<Compile Include="Product.wxs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\espeak-ng.vcxproj">
<Name>espeak-ng</Name>
<Project>{a745d521-5b19-49db-89d3-d0a3be64d97b}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
<ProjectReference Include="..\libespeak-ng.vcxproj">
<Name>libespeak-ng</Name>
<Project>{a47a0cfd-fe52-40b4-8cec-ee1bd4282cdd}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
</ItemGroup>
<Import Project="$(WixTargetsPath)" />
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Loading…
Cancel
Save