diff --git a/.gitignore b/.gitignore index 3dcafcbb..7310c8a1 100644 --- a/.gitignore +++ b/.gitignore @@ -62,6 +62,7 @@ espeak-ng.pc *.lib *.dll *.exe +*.msi *.exp *.idb @@ -78,6 +79,11 @@ espeak-ng.pc *.cache *.user +*.txt +*.wixobj +*.wixpdb +*.cab + # Linux/Source distribution files praat-mod/ diff --git a/README.md b/README.md index 642b6dba..bfb76ca1 100644 --- a/README.md +++ b/README.md @@ -165,9 +165,11 @@ dictionary size. __NOTE:__ This is currently experimental. It does not build the voice data, and 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 Studio. diff --git a/src/windows/espeak-ng.sln b/src/windows/espeak-ng.sln index d37cd759..de9d3da7 100644 --- a/src/windows/espeak-ng.sln +++ b/src/windows/espeak-ng.sln @@ -12,6 +12,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "data", "data.vcxproj", "{8C {A745D521-5B19-49DB-89D3-D0A3BE64D97B} = {A745D521-5B19-49DB-89D3-D0A3BE64D97B} EndProjectSection EndProject +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "installer", "installer\installer.wixproj", "{B67CE3B2-D1D7-45B9-98DA-164E3837D7BC}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -44,6 +46,13 @@ Global {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.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 GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/windows/installer/Product.wxs b/src/windows/installer/Product.wxs new file mode 100644 index 00000000..0d51130f --- /dev/null +++ b/src/windows/installer/Product.wxs @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/windows/installer/installer.wixproj b/src/windows/installer/installer.wixproj new file mode 100644 index 00000000..d5673a85 --- /dev/null +++ b/src/windows/installer/installer.wixproj @@ -0,0 +1,70 @@ + + + + Debug + x86 + 3.10 + b67ce3b2-d1d7-45b9-98da-164e3837d7bc + 2.0 + espeak-ng + Package + $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets + $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets + + + bin\$(Configuration)\ + obj\$(Configuration)\ + Debug + False + True + + + bin\$(Configuration)\ + obj\$(Configuration)\ + False + True + + + Debug + bin\$(Platform)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + False + True + + + bin\$(Platform)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + False + True + + + + + + + espeak-ng + {a745d521-5b19-49db-89d3-d0a3be64d97b} + True + True + Binaries;Content;Satellites + INSTALLFOLDER + + + libespeak-ng + {a47a0cfd-fe52-40b4-8cec-ee1bd4282cdd} + True + True + Binaries;Content;Satellites + INSTALLFOLDER + + + + + \ No newline at end of file