Skip to content

Latest commit

 

History

History
174 lines (102 loc) · 4.97 KB

INSTALL.markdown

File metadata and controls

174 lines (102 loc) · 4.97 KB

Build Status Build status

Requirements

Requirements common for all platforms:

  • C++ compiler

  • Python version 2.7

    • Python Image Library
  • CMake version 2.8.11 or higher (tested with version 2.8.12.2)

Optional dependencies:

  • zlib 1.2.6 or higher

  • libpng

The GUI also dependends on:

  • Qt version 5.2.1 or higher (tested with version 5.4.0 and 5.3.0; use the 6.1 release, if you must build with Qt4)

Qt will be required if -DENABLE_GUI=TRUE is passed to CMake, and never used if -DENABLE_GUI=FALSE is passed instead. The implicit default is -DENABLE_GUI=AUTO, which will build the GUI if Qt is available.

If you have Qt in a non-standard directory, you'll need to set -DCMAKE_PREFIX_PATH.

The code also depends on snappy libraries, but the bundled sources are always used regardless of system availability, to make the wrapper shared-objects/DLL self contained, and to prevent symbol collisions when tracing.

Linux

Optional dependencies:

  • Xlib headers

  • libprocps (procps development libraries)

  • libdwarf

Build as:

cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo
make -C build

Other possible values for CMAKE_BUILD_TYPE Debug, Release, RelWithDebInfo, and MinSizeRel.

You can also build the 32-bits GL wrapper on a 64-bits distribution, provided you have a multilib gcc and 32-bits X11 libraries, by doing:

cmake \
    -H. -Bbuild32 \
    -DCMAKE_C_FLAGS=-m32 \
    -DCMAKE_CXX_FLAGS=-m32 \
    -DCMAKE_SYSTEM_LIBRARY_PATH=/usr/lib32 \
    -DENABLE_GUI=FALSE
make -C build32 glxtrace

The /usr/lib32 refers to the path where the 32-bits shared objects are may differ depending on the actual Linux distribution.

Mac OS X

First install Qt through Homebrew like

brew install qt5

Then do:

cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=$(brew --prefix qt5)
make -C build

Android

Android is no longer supported. See https://git.io/vH2gW for more information.

Windows

Microsoft Visual Studio

Additional requirements:

  • CMake 3.7 or later

  • Microsoft Visual Studio 2017 or later

  • Windows 10 SDK for D3D11.3 headers.

CMake GUI

To build with Visual Studio first open a Command Prompt window (not Visual Studio Command Prompt window), change into the Apitrace source, and invoke CMake GUI as:

cmake-gui -H. -Bbuild -DCMAKE_PREFIX_PATH=C:\Qt\QtX.Y.Z\X.Y\msvc2015

and press the Configure button.

It will try to detect most required/optional dependencies automatically. When not found automatically, you can manually specify the location of the dependencies from the CMake GUI.

If the source/build/compiler/tools are spread across multiple drives, you might need to use absolute paths.

After you've successfully configured, you can start the build by opening the generated build\apitrace.sln solution file

CMake CLI

Another option is to use the commandline to configure the project. First of all find out which generators are available on your system:

cmake --help

At the end of the output, choose a generator and start configuring the project:

cmake -H. -Bbuild -G "Visual Studio 15 2017" -DCMAKE_PREFIX_PATH=C:\Qt\QtX.Y.Z\X.Y\msvc2015

Note as off Qt version 5.9.1 there's no msvc2017 directory, only msvc2015 and msvc2017_64, but msvc2015 should work as MSVC 2017 is binary backwards compatible with MSVC 2015.

After you've successfully configured, you can start the build by invoking CMake as:

cmake --build build --config RelWithDebInfo

Deployment

To run qapitrace, either ensure that C:\Qt\QtX.Y.Z\X.Y\msvc????\bin is in the system path, or use Qt's Windows deployment tool to copy all necessary DLLs, like:

set Path=C:\Qt\QtX.Y.Z\X.Y\msvc2015\bin;%Path%
windeployqt build\qapitrace.exe

64-bits

The steps to build 64-bits version are similar, but choosing Visual Studio xx Win64 instead of Visual Studio xx, and using C:\Qt\QtX.Y.Z\X.Y\msvc2017_64 for Qt path.

Windows XP

Windows XP is no longer supported. If you need Windows XP support, your best bet is to try an old release (search for windows-xp branch upstream.)

MinGW

Additional requirements:

It's also possible to cross-compile Windows binaries from Linux with MinGW cross compilers.