Windows: Difference between revisions

From RawPedia
Jump to navigation Jump to search
 
(Updated)
Line 1: Line 1:
This guide documents how to build RawTherapee for 32-bit or 64-bit versions of Windows using the MinGW-w64 runtime. Begin by installing and updating MSYS2 using the instructions from [https://msys2.github.io/]. Then run the following commands using either ''MinGW-w64 Win32 Shell'' or ''MinGW-w64 Win64 Shell'' depending on whether you want to build a 32-bit or a 64-bit version.
This guide documents how to build RawTherapee for 32-bit or 64-bit versions of Windows using the MinGW-w64 runtime. Begin by installing and updating MSYS2 using the instructions from the [https://msys2.github.io/ MSYS2 website]. Then run the following commands using either ''MinGW-w64 Win32 Shell'' or ''MinGW-w64 Win64 Shell'' depending on whether you want to build a 32-bit or a 64-bit version.
 
RawTherapee can be built using GTK+ versions 2 or 3. To build using GTK2 use the <code>master</code> branch; to build using GTK3 use the <code>gtk3</code> branch. We will drop support for GTK2 after RawTherapee 5 is released, so the sooner you switch to GTK3 the better.


== Install tools and libraries ==
== Install tools and libraries ==


First, install a few miscellaneous tools
First, install a few miscellaneous tools:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
$ pacman -S tar gzip nano make diffutils intltool git
$ pacman -S tar gzip nano make diffutils intltool git
</pre>
</pre>


Then install the necessary development tools
Then install the necessary development tools:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
# win32
# win32
Line 15: Line 17:
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config mingw-w64-x86_64-cmake
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config mingw-w64-x86_64-cmake
</pre>
</pre>
and the required libraries
and the required libraries:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
# win32
# win32
Line 25: Line 27:
== Download and build libiptcdata ==
== Download and build libiptcdata ==


The libiptcdata library is not yet provided by MSYS2, therefore it should be downloaded and configured using
The libiptcdata library is not yet provided by MSYS2, therefore it should be downloaded and configured using:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
$ curl -LO http://downloads.sourceforge.net/project/libiptcdata/libiptcdata/1.0.4/libiptcdata-1.0.4.tar.gz
$ curl -LO http://downloads.sourceforge.net/project/libiptcdata/libiptcdata/1.0.4/libiptcdata-1.0.4.tar.gz
Line 37: Line 39:
</pre>
</pre>


Afterwards ''Makefile'' needs to be opened using a text editor to remove ''iptc'' and ''docs'' from the lists named ''SUBDIRS'' and ''DIST_SUBDIRS'' as building or installing will fail otherwise.
Afterwards the <code>Makefile</code> needs to be opened using a text editor to remove <code>iptc</code> and <code>docs</code> from the lists named <code>SUBDIRS</code> and <code>DIST_SUBDIRS</code>, as building or installing will fail otherwise:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
$ nano Makefile
$ nano Makefile
Line 43: Line 45:
# Replace
# Replace
DIST_SUBDIRS = m4 libiptcdata po iptc docs win python
DIST_SUBDIRS = m4 libiptcdata po iptc docs win python
# by
# with
DIST_SUBDIRS = m4 libiptcdata po win python
DIST_SUBDIRS = m4 libiptcdata po win python


# And replace
# And replace
SUBDIRS = m4 libiptcdata po iptc docs win $(MAYBE_PYTHONLIB)
SUBDIRS = m4 libiptcdata po iptc docs win $(MAYBE_PYTHONLIB)
# by
# with
SUBDIRS = m4 libiptcdata po win $(MAYBE_PYTHONLIB)
SUBDIRS = m4 libiptcdata po win $(MAYBE_PYTHONLIB)
</pre>
</pre>


Finally build and install the library
Finally build and install the library:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
$ make
$ make
Line 61: Line 63:
== Download and build Clearlooks ==
== Download and build Clearlooks ==


RawTherapee versions that use version 2 of Gtk+ need the Clearlooks theme engine which can be downloaded and built using
If you are building RawTherapee using GTK2 - the <code>master</code> branch - then you need the Clearlooks theme engine. You do not need it if you are building using GTK3 - the <code>gtk3</code> branch.
 
Download and build it:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
$ curl -LO http://sources.archlinux.org/other/gtk-engines/gtk-engines-2.21.0.tar.gz
$ curl -LO http://sources.archlinux.org/other/gtk-engines/gtk-engines-2.21.0.tar.gz
Line 79: Line 83:
== Clone and build RawTherapee ==
== Clone and build RawTherapee ==


First, clone RawTherapee's Git repository
First, clone RawTherapee's Git repository:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
$ git clone http://github.com/Beep6581/RawTherapee.git
$ git clone http://github.com/Beep6581/RawTherapee.git
$ cd RawTherapee
$ cd RawTherapee
</pre>
</pre>
and optionally checkout a specific branch if you do not want to build the default ''master'', e.g.
 
RawTherapee can be built using GTK+ versions 2 or 3. To build using GTK2 use the <code>master</code> branch; to build using GTK3 use the <code>gtk3</code> branch. We will drop support for GTK2 after RawTherapee 5 is released, so the sooner you switch to GTK3 the better. When you clone the repository you will automatically find yourself in the <code>master</code> branch. To switch to the <code>gtk3</code> branch do the following:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
$ git checkout gtk3
$ git checkout gtk3
</pre>
</pre>


Then, create a separate directory for the build
Then, create a separate directory for the build:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
$ mkdir build
$ mkdir build
$ cd build
$ cd build
</pre>
</pre>
and run CMake and Make
 
Note that if you switch branches then you must delete and recreate the <code>build</code> folder so that compilation starts from scratch in an empty folder, otherwise compilation is likely to fail. However if you are just updating without changing branches then you do not have to start with an empty build folder - you can just go into the existing one, and compilation will be faster because not everything will need to be recompiled.
 
Run CMake and Make:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
$ cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE="debug" -DPROC_TARGET_NUMBER="2" -DBUILD_BUNDLE="ON" -DCMAKE_INSTALL_PREFIX="." -DBINDIR="." -DDATADIR="." -DCACHE_NAME_SUFFIX=4 ..
$ cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE="relwithdebinfo" -DPROC_TARGET_NUMBER="2" -DBUILD_BUNDLE="ON" -DCMAKE_INSTALL_PREFIX="." -DBINDIR="." -DDATADIR="." -DCACHE_NAME_SUFFIX=4 ..
$ make -j8
$ make -j8
$ make install
$ make install
</pre>
</pre>


Please refer to the [[Linux]] article for an explanation of the various options passed to CMake and Make.
Please refer to the [[Linux]] article for an explanation of the various options passed to CMake and Make, including which "BUILD_TYPE" to use.


If you are doing an optimized build, e.g. ''release'' or ''relwithdebinfo'', for older 32-bit versions of Windows like XP, you will need to add the ''-mstackrealign'' compiler flag, i.e.
If you are building for 32-bit Windows XP and are using the <code>release</code> or <code>relwithdebinfo</code> "BUILD_TYPE", you will need to add the <code>-mstackrealign</code> compiler flag before the last two dots <code>..</code> of the CMake command above:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
-DCMAKE_C_FLAGS="-mstackrealign" -DCMAKE_CXX_FLAGS="-mstackrealign"
-DCMAKE_C_FLAGS="-mstackrealign" -DCMAKE_CXX_FLAGS="-mstackrealign"
</pre>
</pre>


== Copy RawTherapee and required DLL ==
== Copy RawTherapee and required DLLs ==


RawTherapee can now be started from the MSYS2 command line
RawTherapee can now be started from the MSYS2 command line:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
# for debug builds
# for debug builds
Line 116: Line 124:
# for release builds
# for release builds
$ cd release
$ cd release
# for relwithdebinfo builds
$ cd relwithdebinfo
$ ./rawtherapee.exe
$ ./rawtherapee.exe
</pre>
</pre>


The file manager can be used to copy the contents of ''<MSYS2>\home\<User>\RawTherapee\build\<debug|release>'' together with the necessary DLL from ''<MSYS2>\<mingw32|mingw64>\bin'' into a RawTherapee installation folder, where ''<MSYS2>'' is the MSYS2 installation folder and ''<User>'' the Windows user name.
The file manager can be used to copy the contents of <code><MSYS2>\home\<User>\RawTherapee\build\<debug|release|relwithdebinfo></code> together with the necessary DLLs from <code><MSYS2>\<mingw32|mingw64>\bin</code> into a RawTherapee installation folder, where <code><MSYS2></code> is the MSYS2 installation folder and <code><User></code> the Windows user name.


A (possibly incomplete) list of required DLL is
A (possibly incomplete) list of required DLLs is:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
libatk-1.0-0.dll
libatk-1.0-0.dll
Line 172: Line 182:
</pre>
</pre>


The following files also need to be copied
The following files also need to be copied:
<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
<prefix>\bin\gspawn-<win32|win64>-helper.exe -> .
<prefix>\bin\gspawn-<win32|win64>-helper.exe -> .
Line 183: Line 193:
<prefix>\share\glib-2.0\schemas\gschemas.compiled -> .\share\glib-2.0\schemas
<prefix>\share\glib-2.0\schemas\gschemas.compiled -> .\share\glib-2.0\schemas
</pre>
</pre>
where ''<prefix>'' is ''<MSYS2>\<mingw32|mingw64>'' from above and ''.'' is the installation folder.
where <code><prefix></code> is <code><MSYS2>\<mingw32|mingw64></code> from above and <code>.</code> is the installation folder.


== Creating a distributable package ==
== Creating a distributable package ==


If you plan to distribute Rawtherapee packages for the Windows platform, as a first step you need to make sure that Rawtherapee will be built for the generic processor target. To do so, use <code>-DPROC_TARGET_NUMBER="1"</code> in the cmake command.
If you plan to distribute RawTherapee packages for the Windows platform, as a first step you need to make sure that RawTherapee will be built for the "generic" processor target. To do so, use <code>-DPROC_TARGET_NUMBER="1"</code> in the CMake command.


During compilation, a script named ''WindowsInnoSetup.iss'' is created in the Rawtherapee installation folder. This script is used by Inno Setup [http://www.jrsoftware.org/isinfo.php], a program which is used to generate installers for Windows programs. It is advised to download the Unicode version [http://www.jrsoftware.org/download.php/is-unicode.exe] to avoid problems with some languages.
During compilation, a script named <code>WindowsInnoSetup.iss</code> is created in the RawTherapee installation folder. This script is used by Inno Setup [http://www.jrsoftware.org/isinfo.php], a program which is used to generate installers for Windows programs. It is advised to download the Unicode version [http://www.jrsoftware.org/download.php/is-unicode.exe] to avoid problems with some languages.
The current ''WindowsInnoSetup.iss'' script is designed for the current master branch (Gtk+2). If you want to create a package from the Gtk3 branch, you will need to edit the script and replace the line
The current <code>WindowsInnoSetup.iss</code> script is designed for the current master branch (GTK2). If you want to create a package for the GTK3 branch you will need to edit the script and replace the line:


<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
Line 204: Line 214:
so that icons and schemas will be copied into the package.
so that icons and schemas will be copied into the package.


To help users [http://50.87.144.65/~rt/w/index.php?title=How_to_write_useful_bug_reports filing useful bug reports], package maintainers are encouraged to produce Debug builds along each of their Release builds, and to bundle them with the gdb debugger executable. Windows binaries of the debugger (gdb.exe) can be downloaded from [http://www.equation.com/servlet/equation.cmd?fa=gdb here] in 32 and 64 bits versions.
To help users [[How_to_write_useful_bug_reports|write useful bug reports]], package maintainers are encouraged to produce "debug" builds along with each of their "release" builds, and to bundle them together with the GDB debugger executable. An alternative is to produce "relwithdebinfo" builds - these are just about as fast as "release" builds, but provide just about as much useful information as "debug" builds. When making "relwithdebinfo" or "debug" builds you must provide the GDB debugger executable. Windows binaries of the debugger <code>gdb.exe</code> can be downloaded from [http://www.equation.com/servlet/equation.cmd?fa=gdb here] in 32- and 64-bit versions.


The ''gdb.exe'' binary should be copied in Rawtherapee installation folder and, if using Inno Setup to generate the package, the ''WindowsInnoSetup.iss'' script should be edited by adding the following line around line 121 of the script:
The <code>gdb.exe</code> binary should be copied to the RawTherapee installation folder and, if using Inno Setup to generate the package, the <code>WindowsInnoSetup.iss</code> script should be edited by adding the following line around line 121 of the script:


<pre style="white-space: pre-wrap">
<pre style="white-space: pre-wrap">
Line 212: Line 222:
</pre>
</pre>


Note that GDB is a program released under GNU GPL license, its soure code can be downloaded at http://www.gnu.org/software/gdb/.
Note that GDB is a program released under the GNU GPL license, its source code can be downloaded at [http://www.gnu.org/software/gdb/].


Now that everything is set up, to create the package right click on the ''WindowsInnoSetup.iss'' script and choose ''Compile'' from the context menu. It will automatically generate the installer and place it in the parent folder. To make your new package compatible with the official Rawtherapee website uploader, create a zip archive in which you'll place both the newly created installer and the corresponding ''AboutThisBuild.txt'' which should be found at the same place. Name the resulting zip archive following this template: RawTherapee_<WinXP|WinVista>_<32|64>_branch_buildtype_version.zip (for example, Rawtherapee_WinVista_64_gtk3_Release_4.2.730.zip).
Now that everything is set up, to create the package right-click on the <code>WindowsInnoSetup.iss</code> script and choose ''Compile'' from the context menu. It will automatically generate the installer and place it in the parent folder. To make your new package compatible with the RawTherapee website's upload panel, create a zip archive in which you'll place both the newly created installer and the corresponding ''AboutThisBuild.txt'' file which can be found at the same place. Name the resulting zip archive following this template:
<code>RawTherapee_<WinXP|WinVista>_<32|64>_branch_buildtype_version.zip</code>
For example: <code>RawTherapee_WinVista_64_gtk3_Release_4.2.730.zip</code>

Revision as of 14:37, 7 January 2017

This guide documents how to build RawTherapee for 32-bit or 64-bit versions of Windows using the MinGW-w64 runtime. Begin by installing and updating MSYS2 using the instructions from the MSYS2 website. Then run the following commands using either MinGW-w64 Win32 Shell or MinGW-w64 Win64 Shell depending on whether you want to build a 32-bit or a 64-bit version.

RawTherapee can be built using GTK+ versions 2 or 3. To build using GTK2 use the master branch; to build using GTK3 use the gtk3 branch. We will drop support for GTK2 after RawTherapee 5 is released, so the sooner you switch to GTK3 the better.

Install tools and libraries

First, install a few miscellaneous tools:

$ pacman -S tar gzip nano make diffutils intltool git

Then install the necessary development tools:

# win32
$ pacman -S mingw-w64-i686-gcc mingw-w64-i686-gdb mingw-w64-i686-make mingw-w64-i686-pkg-config mingw-w64-i686-cmake
# win64
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config mingw-w64-x86_64-cmake

and the required libraries:

# win32
$ pacman -S mingw-w64-i686-gtkmm mingw-w64-i686-gtkmm3 mingw-w64-i686-lcms2 mingw-w64-i686-fftw
# win64
$ pacman -S mingw-w64-x86_64-gtkmm mingw-w64-x86_64-gtkmm3 mingw-w64-x86_64-lcms2 mingw-w64-x86_64-fftw

Download and build libiptcdata

The libiptcdata library is not yet provided by MSYS2, therefore it should be downloaded and configured using:

$ curl -LO http://downloads.sourceforge.net/project/libiptcdata/libiptcdata/1.0.4/libiptcdata-1.0.4.tar.gz
$ tar xzf libiptcdata-1.0.4.tar.gz
$ cd libiptcdata-1.0.4

# win32
$ ./configure --prefix=/mingw32
# win64
$ ./configure --prefix=/mingw64

Afterwards the Makefile needs to be opened using a text editor to remove iptc and docs from the lists named SUBDIRS and DIST_SUBDIRS, as building or installing will fail otherwise:

$ nano Makefile

# Replace
DIST_SUBDIRS = m4 libiptcdata po iptc docs win python
# with
DIST_SUBDIRS = m4 libiptcdata po win python

# And replace
SUBDIRS = m4 libiptcdata po iptc docs win $(MAYBE_PYTHONLIB)
# with
SUBDIRS = m4 libiptcdata po win $(MAYBE_PYTHONLIB)

Finally build and install the library:

$ make
$ make install
$ cd

Download and build Clearlooks

If you are building RawTherapee using GTK2 - the master branch - then you need the Clearlooks theme engine. You do not need it if you are building using GTK3 - the gtk3 branch.

Download and build it:

$ curl -LO http://sources.archlinux.org/other/gtk-engines/gtk-engines-2.21.0.tar.gz
$ tar xzf gtk-engines-2.21.0.tar.gz
$ cd gtk-engines-2.21.0

# win32
$ ./configure --prefix=/mingw32 --disable-all --enable-clearlooks
# win64
$ ./configure --prefix=/mingw64 --disable-all --enable-clearlooks

$ make
$ make install
$ cd

Clone and build RawTherapee

First, clone RawTherapee's Git repository:

$ git clone http://github.com/Beep6581/RawTherapee.git
$ cd RawTherapee

RawTherapee can be built using GTK+ versions 2 or 3. To build using GTK2 use the master branch; to build using GTK3 use the gtk3 branch. We will drop support for GTK2 after RawTherapee 5 is released, so the sooner you switch to GTK3 the better. When you clone the repository you will automatically find yourself in the master branch. To switch to the gtk3 branch do the following:

$ git checkout gtk3

Then, create a separate directory for the build:

$ mkdir build
$ cd build

Note that if you switch branches then you must delete and recreate the build folder so that compilation starts from scratch in an empty folder, otherwise compilation is likely to fail. However if you are just updating without changing branches then you do not have to start with an empty build folder - you can just go into the existing one, and compilation will be faster because not everything will need to be recompiled.

Run CMake and Make:

$ cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE="relwithdebinfo" -DPROC_TARGET_NUMBER="2" -DBUILD_BUNDLE="ON" -DCMAKE_INSTALL_PREFIX="." -DBINDIR="." -DDATADIR="." -DCACHE_NAME_SUFFIX=4 ..
$ make -j8
$ make install

Please refer to the Linux article for an explanation of the various options passed to CMake and Make, including which "BUILD_TYPE" to use.

If you are building for 32-bit Windows XP and are using the release or relwithdebinfo "BUILD_TYPE", you will need to add the -mstackrealign compiler flag before the last two dots .. of the CMake command above:

-DCMAKE_C_FLAGS="-mstackrealign" -DCMAKE_CXX_FLAGS="-mstackrealign"

Copy RawTherapee and required DLLs

RawTherapee can now be started from the MSYS2 command line:

# for debug builds
$ cd debug
# for release builds
$ cd release
# for relwithdebinfo builds
$ cd relwithdebinfo
$ ./rawtherapee.exe

The file manager can be used to copy the contents of <MSYS2>\home\<User>\RawTherapee\build\<debug|release|relwithdebinfo> together with the necessary DLLs from <MSYS2>\<mingw32|mingw64>\bin into a RawTherapee installation folder, where <MSYS2> is the MSYS2 installation folder and <User> the Windows user name.

A (possibly incomplete) list of required DLLs is:

libatk-1.0-0.dll
libatkmm-1.6-1.dll
libbz2-1.dll
libcairo-2.dll
libcairo-gobject-2.dll
libcairomm-1.0-1.dll
libepoxy-0.dll
libexpat-1.dll
libffi-6.dll
libfftw3f-3.dll
libfontconfig-1.dll
libfreetype-6.dll
libgcc_s_dw2-1.dll|libgcc_s_seh-1.dll
libgdk-3-0.dll
libgdk-win32-2.0-0.dll
libgdkmm-2.4-1.dll
libgdkmm-3.0-1.dll
libgdk_pixbuf-2.0-0.dll
libgio-2.0-0.dll
libgiomm-2.4-1.dll
libglib-2.0-0.dll
libglibmm-2.4-1.dll
libgmodule-2.0-0.dll
libgobject-2.0-0.dll
libgomp-1.dll
libgtk-3-0.dll
libgtk-win32-2.0-0.dll
libgtkmm-2.4-1.dll
libgtkmm-3.0-1.dll
libharfbuzz-0.dll
libiconv-2.dll
libintl-8.dll
libjpeg-8.dll
liblcms2-2.dll
liblzma-5.dll
libpango-1.0-0.dll
libpangocairo-1.0-0.dll
libpangoft2-1.0-0.dll
libpangomm-1.4-1.dll
libpangowin32-1.0-0.dll
libpixman-1-0.dll
libpng16-16.dll
libsigc-2.0-0.dll
libstdc++-6.dll
libtiff-5.dll
libwinpthread-1.dll
zlib1.dll

The following files also need to be copied:

<prefix>\bin\gspawn-<win32|win64>-helper.exe -> .
<prefix>\bin\gspawn-<win32|win64>-helper-console.exe -> .

<prefix>\lib\gtk-2.0\include -> .
<prefix>\lib\gtk-2.0\modules -> .
<prefix>\lib\gtk-2.0\2.10.0\engines -> .

<prefix>\share\glib-2.0\schemas\gschemas.compiled -> .\share\glib-2.0\schemas

where <prefix> is <MSYS2>\<mingw32|mingw64> from above and . is the installation folder.

Creating a distributable package

If you plan to distribute RawTherapee packages for the Windows platform, as a first step you need to make sure that RawTherapee will be built for the "generic" processor target. To do so, use -DPROC_TARGET_NUMBER="1" in the CMake command.

During compilation, a script named WindowsInnoSetup.iss is created in the RawTherapee installation folder. This script is used by Inno Setup [1], a program which is used to generate installers for Windows programs. It is advised to download the Unicode version [2] to avoid problems with some languages. The current WindowsInnoSetup.iss script is designed for the current master branch (GTK2). If you want to create a package for the GTK3 branch you will need to edit the script and replace the line:

Source: "{#MyBuildBasePath}\lib\*"; DestDir: "{app}\lib\"; Flags: ignoreversion recursesubdirs createallsubdirs

with

Source: "{#MyBuildBasePath}\share\*"; DestDir: "{app}\share\"; Flags: ignoreversion recursesubdirs createallsubdirs

so that icons and schemas will be copied into the package.

To help users write useful bug reports, package maintainers are encouraged to produce "debug" builds along with each of their "release" builds, and to bundle them together with the GDB debugger executable. An alternative is to produce "relwithdebinfo" builds - these are just about as fast as "release" builds, but provide just about as much useful information as "debug" builds. When making "relwithdebinfo" or "debug" builds you must provide the GDB debugger executable. Windows binaries of the debugger gdb.exe can be downloaded from here in 32- and 64-bit versions.

The gdb.exe binary should be copied to the RawTherapee installation folder and, if using Inno Setup to generate the package, the WindowsInnoSetup.iss script should be edited by adding the following line around line 121 of the script:

Source: "{#MyBuildBasePath}\gdb.exe"; DestDir: "{app}"; Flags: ignoreversion

Note that GDB is a program released under the GNU GPL license, its source code can be downloaded at [3].

Now that everything is set up, to create the package right-click on the WindowsInnoSetup.iss script and choose Compile from the context menu. It will automatically generate the installer and place it in the parent folder. To make your new package compatible with the RawTherapee website's upload panel, create a zip archive in which you'll place both the newly created installer and the corresponding AboutThisBuild.txt file which can be found at the same place. Name the resulting zip archive following this template: RawTherapee_<WinXP|WinVista>_<32|64>_branch_buildtype_version.zip For example: RawTherapee_WinVista_64_gtk3_Release_4.2.730.zip