Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
119 lines (93 sloc) 3.81 KB
GammaRay uses the CMake buildsystem.
Please see the comments at the top of CMakeLists.txt for
the available configuration options you can pass to cmake.
The installation directory defaults to /usr/local on UNIX
c:/Program Files on Windows and /Applications on MacOS.
You can change this location by passing the option
-DCMAKE_INSTALL_PREFIX=/install/path to cmake.
To build a debug version pass -DCMAKE_BUILD_TYPE=Debug to cmake.
To build GammaRay you will need:
- CMake 2.8.12
- a C++ compiler with C++11 lambda support
- Qt 4.8 or higher
Optional FOSS packages (eg. KDSME, etc) provide extra functionality.
See the "Optional Dependencies" section below for more details.
Building on Unix with gcc or clang:
% mkdir build
% cd build
% cmake ..
% make
% make install
Building on Windows with Microsoft Visual Studio:
% mkdir build
% cd build
% cmake -G "NMake Makefiles" ..
% nmake
% nmake install
Building on Windows with mingw:
% mkdir build
% cd build
% cmake -G "MinGW Makefiles" ..
% mingw32-make
% mingw32-make install
Build on Android:
$ mkdir android-build
$ cd android-build
$ export ANDROID_NDK=~/path/to/android-ndk
$ cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-android.cmake \
-DGAMMARAY_PROBE_ONLY_BUILD=true \
-DCMAKE_PREFIX_PATH=/android/qt5/install/path \
-DCMAKE_INSTALL_PREFIX=/android/qt5/install/path ..
$ make [-j CPU_NUMBER+2]
$ make install
Using GammaRay on Android:
- add GammaRay probe to your android .pro file
myproject.pro
....
android: QT += GammaRayProbe
...
- build & deploy and run your project
- forward GammaRay's socket
$ adb forward tcp:11732 localfilesystem:/data/data/YOUR_ANDROID_PACKAGE_NAME(e.g. com.kdab.example)/files/+gammaray_socket
- run GammaRay GUI and connect to localhost:11732
- after you've finished, remove the forward:
$ adb forward --remove tcp:11732
or
$ adb forward --remove-all
to remove all forwards
== Cross-compiling GammaRay ==
You'll find more information on this in the wiki:
https://github.com/KDAB/GammaRay/wiki/Cross-compiling-GammaRay
== Building with Private Qt Headers ==
To build against private Qt headers (necessary for painter debugging/profiling)
you must have a developer build version of Qt available (i.e. Qt must be
configured using the -developer-build option).
Make sure the qmake found first in your execute comes from this build version.
For example, if your Qt build is in /data/Qt/4.8 then:
% export PATH=/data/Qt/4.8/bin:$PATH # on Linux using bash
== Force a Qt4 build ==
On systems with both Qt4 and Qt5 available, the CMake buildsystem will always
attempt to use Qt5. To force a Qt build, pass -DGAMMARAY_ENFORCE_QT4_BUILD=true
to CMake, as in:
% cmake -DGAMMARAY_ENFORCE_QT4_BUILD=true
== Optional Dependencies ==
GammaRay relies on optional (FOSS) dependencies to help provide some of its
functionality, most prominently KDSME (https://github.com/KDAB/KDStateMachineEditor).
When you run cmake it will inform you about these missing dependencies.
You can also force CMake to ignore any or all of the optional dependencies
by passing the option -DCMAKE_DISABLE_FIND_PACKAGE_<PACKAGE>=True.
For instance:
# tell cmake to ignore VTK
% cmake -DCMAKE_DISABLE_FIND_PACKAGE_VTK=True
== Warning! ==
If your Qt is linked with the "-Bsymbolic-function" option preloading will be
broken. When this is enabled, references to global functions will be bound to
the shared object internally; therefore, the definition of the function will be
fixed and cannot be overwritten by preloading.
So, be sure that your distro-provided packages or your self-compiled packages
are not linked with this flag (check with `echo $LDFLAGS` before compiling).
For more info see: "man ld; search for "-Bsymbolic-function".
Known affected distros:
Ubuntu 10.10, 11.04
If you are affected by this, try the gdb injector instead by using the "-i gdb"
command line argument.