/gtk-win32

GTK+ 3 stack for Windows

Primary LanguageCGNU General Public License v2.0GPL-2.0

Goals

This python script helps you build a full GTK+ library stack for Windows using Visual Studio.

The powershell script was originally developed by the HexChat developers, make sure to check their page for more information about the original script.

HexChat developers decided that their script should focus on their specific needs, this fork tries to be a bit more generic, in particular it pursues the following goals

  1. Build GTK+ 3 - we want to focus on the current version of GTK
  2. Support multiple version of Visual Studio - at the moment we are focusing on VS 2013, but we include projects for other versions and we gladly accept patches
  3. We try to follow as much as possible the conventions of the upstream MSVC projects by Fan Chun-wei - Compiling the GTK+ (and Clutter) stack using Visual C++ 2008 and later.
  4. We are pretty liberal about adding more libraries to the script - at some point we will need to make the set of libraries that are built configurable and easily extensible, but right now we are ok with adding libraries that are useful to the users of this script
  5. We try to fetch tarballs from their original locations - if patches are needed we try to fork the project on github and host a patched tarball there
  6. We try to download the tools needed and using them from a local directory, without any installation. Actually we use directly cmake, meson, ninja, nuget and perl.

Building

  1. Install the following build tools and dependencies:

  2. Follow the instructions on the msys2 page to update the core packages.

  3. Install needed packages in the msys2 shell

    pacman -S nasm patch gettext make coreutils diffutils yasm pkg-config
  4. Clone this repository to C:\gtk-build\github\gtk-win32 It contains the build script, project files and patches.

  5. Now start a command-line window as a regular user. Go to the gtk-win32 directory and start building with the script. For example, to build 32-bit GTK+ 3 and its dependencies, run:

    cd C:\gtk-build\github\gtk-win32
    python .\build.py build gtk3
    

    To build the 64-bit version, run:

    cd C:\gtk-build\github\gtk-win32
    python .\build.py build -p x64 gtk3
    

    For more information about the possible commands. Run

    python .\build.py --help
    
  6. When the script is done, your GTK+ stack will be found under C:\gtk-build\gtk. Enjoy!