Build Instructions

From Commontk
Jump to navigationJump to search
Home < Build Instructions

The following instructions are valid as of October 2012 (if something is incorrect, please report an issue).

Prerequisites

  • git version 1.6.5 or later
  • Qt version 4.x or 5.x
  • CMake 3.0 or later

Download

Anonymous checkout behind a firewall CTK developer with write access
git clone https://github.com/commontk/CTK.git
git clone git@github.com:commontk/CTK.git

Build with CMake

mkdir CTK-superbuild
cd CTK-superbuild
ccmake ../CTK
make

CMake Configuration

  • For Qt5, set Qt5_DIR to C:\Qt\5.15.2\msvc2019_64\lib\cmake\Qt5
  • For Qt4, set QT_QMAKE_EXECUTABLE (qmake is usually found in the bin folder)
  • turn on the parts of CTK you want to build

How to use CTK ?

See the Examples project that illustrates how CTK can be integrated into applications.

Contribute

Simple Git

See also https://docs.github.com/en/get-started/using-git

Checkout

  • checkout
git clone git@github.com:commontk/CTK.git

(or use anonymous option listed above)

Update

git pull --rebase

Commit

  • commit (commit is to local version, push sends it to upstream server)
git add <changed files>
git commit -m <message>
git push

Intermediate Git

  • check update before merging (look at diff):
git fetch
git diff origin master
git rebase
  • If you have changes pending that you aren't ready to commit, you can't rebase on top of them unless you do this:
git stash
git pull --rebase
git stash pop
  • to get the code from a branch
git clone <repository> <dir>
cd <dir>
git checkout origin/<branchname>

Links

List of needed tools and libraries used when building CTK:

  • Git: To download source code
  • Qt: Dependency required.
  • CMake: Cross-platform build system
  • Patch for Windows: Needed to apply patches to external thirdparty libraries source code

Optional:

  • Python: If you plan to use Scripting
  • DoxyGen: To generate documentation from source code on your machine
  • GraphViz: To generate documentation from source code on your machine