Wiki

Clone wiki

speedcrunch / BuildingWin32Package

Building Win32 Packages

The Win32 binary installers are generated by CPack. They're designed to be used with the Qt binary installers from http://qt.io. They include all necessary runtime DLLs so they're completely self-contained.

The installers themselves are built with NSIS which needs to be installed as well (the 3.0 releases work fine). There's no need to adapt environment variables, CPack will pick it up automatically.

Instructions

Generating the installers is integrated into the CMake build. Simply build the package target (e.g. by running nmake package or building it in Visual Studio). The installer can be found in the build folder. When building SpeedCrunch in portable mode (-DPORTABLE_SPEEDCRUNCH=on), a .zip archive with all the necessary files will be created instead of the installers.

Make sure to do a release build (cmake -DCMAKE_BUILD_TYPE=Release ...). On top of the obvious reasons, the MSVC debug runtimes can't be redistributed (source).

Compatibility

Installers can be generated for both MSVC and MinGW, 32-bit as well as 64-bit. The qt.io binaries of Qt 5.2 to 5.6 are known to work; different builds might work so long as they're not too "non-standard". More recent Qt versions may require updating the lists of files to bundle.

The installers will always work on Windows XP and up, though the actual binaries may not, depending on compiler and settings. In particular, recent MSVC versions by default produce binaries that don't work on Windows XP. To tell CMake to use the XP-targetting toolchain, pass the -T v120_xp (for MSVC 2013; -T v<VER>_xp in general) option to CMake.

Note: Due to changes in MSVC 2015, installers with binaries from that compiler don't contain all the necessary runtime libraries. Stick to MSVC 2013 or MinGW for now.

Updated