Skip to content

Latest commit

 

History

History
103 lines (91 loc) · 6.5 KB

README.md

File metadata and controls

103 lines (91 loc) · 6.5 KB

Power Tab Editor

Build Status Build status GitHub release

Users

Developers

Getting the code:

If you're using GitHub for Windows, just use the "Clone in Desktop" button.

Otherwise, make sure to use git clone --recursive to initialize submodules in the external folder:

git clone --recursive git://github.com/powertab/powertabeditor.git

If you've already cloned the repository, you can run git submodule init && git submodule update.

Dependencies:

  • CMake >= 2.8.9
  • Boost 1.55 or greater
    • Earlier versions may work, but are currently untested
  • Qt 5.x
    • If you are compiling with Clang, Qt 5.2 or higher is required.
  • zlib
  • (Linux only) - ALSA library (e.g. libasound2-dev)
  • (Linux only) - MIDI sequencer (e.g. timidity)
  • (Linux only) - libbfd (e.g. binutils-dev)
  • A compiler with C++11 support (gcc 4.8+, Clang, VS 2013)

Windows:

  • Install Git - see https://help.github.com/articles/set-up-git
  • Building Boost:
    • Download and extract Boost 1.56 to C:\Program Files\boost\boost_1_56_0.
    • Download and extract zlib to any directory. However, the path must not contain any spaces.
    • Open a command prompt (e.g. VS2013 x64 Native Tools Command Prompt) and navigate to the Boost directory.
    • Run bootstrap and then b2 -s ZLIB_SOURCE=/path/to/zlib link=shared address-model=64 variant=debug,release.
      • Use address-model=32 for a 32-bit build.
      • If building both 32-bit and 64-bit versions, use --stagedir=stage32 to place the 32-bit versions under a different directory (stage32/lib instead of stage/lib), and set BOOST_LIBRARYDIR accordingly when running CMake.
  • Installing Qt:
  • Compiling Qt (optional):
    • You may want to do this instead if you intend on building the installer so that Qt can be built without dependencies on huge libraries such as icu.
    • Download and extract the source code.
    • If necessary, install Python 2.7.x and add it to your PATH.
    • Open a command prompt (e.g. VS2013 x64 Native Tools Command Prompt) and navigate to the Qt source directory.
    • Run configure -opensource -nomake examples -nomake tests -skip qtwebkit -skip qtwebengine -skip qtconnectivity -skip qtandroidextras -skip qtlocation -skip qtscript -opengl desktop -debug-and-release -mp -no-icu -c++11 -prefix C:\Qt\5.4.1 and accept the license agreement.
    • Run nmake and nmake install and grab a cup of coffee ...
  • Install and open CMake, and browse to select the location of the root directory (e.g. $HOME/Documents/GitHub/powertabeditor).
  • Set the build directory to $HOME/Documents/GitHub/powertabeditor/build.
  • Use the "Add Entry" button to set the STRING CMAKE_PREFIX_PATH to the cmake directory inside Qt's installation directory (e.g. C:\Qt\5.4.1\lib\cmake)
  • For Windows XP support, set CMAKE_GENERATOR_TOOLSET to v120_xp.
  • Press Configure and select your compiler version (e.g. Visual Studio 12 Win64, or Visual Studio 12 for a 32-bit build) and then press Generate
  • Open the resulting solution (powertabeditor.sln) and select Build Solution from the Build menu.
  • Right-click on the powertabeditor project and select "Set as Startup Project" before running.

Linux:

  • These instructions assume a recent Ubuntu/Debian-based system, but the package names should be similar for other package managers.
    • For older Ubuntu systems (such as Ubuntu 12.04) - you may need to add some PPAs to get updated versions of the dependencies.
  • Install dependencies:
    • sudo apt-get update
    • sudo apt-get install cmake qtbase5-dev libboost-dev libboost-date-time-dev libboost-iostreams-dev libboost-program-options-dev libboost-regex-dev libasound2-dev libiberty-dev binutils-dev rapidjson-dev libpugixml-dev, catch
    • sudo apt-get install timidity - timidity is not required for building, but is a good sequencer for MIDI playback.
    • Optionally, use Ninja instead of make (sudo apt-get install ninja-build)
  • Build:
    • mkdir build && cd build
    • cmake ..
      • Add -DCMAKE_INSTALL_PREFIX=/some/path to customize the install directory.
      • Add -DCMAKE_BUILD_TYPE=Debug for a debug build instead of a Release build.
      • Add -DCMAKE_CXX_COMPILER=clang++ to compile with Clang.
      • Add -G Ninja to generate Ninja build files.
    • make -j8 or ninja
  • Run:
    • ./bin/powertabeditor
    • ./bin/pte_tests to run the unit tests.
  • Install:
    • make install or ninja install

OS X:

  • Currently tested with Mac OS X 10.9.2 only.
  • Install Xcode along with its Command Line Tools.
  • Install CMake, Qt 5.2+, and Boost
  • Build (adapt paths to your setup) in source/ directory
    • export CC=/usr/bin/clang
    • export CXX=/usr/bin/clang++
    • export Qt5Widgets_DIR=<PATH_TO_Qt>/clang_64/lib/cmake/Qt5Widgets
    • export Qt5Core_DIR=<PATH_TO_Qt>/clang_64/lib/cmake/Qt5Core
    • export BOOST_ROOT=/usr/local/Cellar/boost/1.55.0_1
    • export BOOST_LIBRARY_DIR=/usr/local/Cellar/boost/1.55.0_1/lib
    • export CMAKE_LIBRARY_PATH="/usr/local/Cellar/boost/1.55.0_1/lib:$CMAKE_LIBRARY_PATH"
    • cmake ..
    • make
  • Run:
    • ./bin/powertabeditor
    • ./bin/pte_tests to run the unit tests.