Build Instructions: Difference between revisions

From Commontk
Jump to navigationJump to search
(22 intermediate revisions by 5 users not shown)
Line 1: Line 1:
CTK is a new and rapidly evolving system.  These instructions are valid as of may, 2010.
The following instructions are valid as of October 2012 (if something is incorrect, please [https://github.com/commontk/CTK/issues/new report an issue]).


== Download ==
== Prerequisties ==


If you have a git hub account:
* git version 1.6.5 or later
* Qt version 4.x or 5.x
* CMake 2.8.4 or later


git clone git@github.com:pieper/CTK.git
== Download ==
 
(configure your ssh id for access)
 
Anonymous checkout:


  git clone http://github.com/pieper/CTK.git
{|
! Anonymous checkout
! Anonymous checkout behind a firewall
! CTK developer with write access
|-
|
git clone git://github.com/commontk/CTK.git
|
  git clone http://github.com/commontk/CTK.git
|
git clone git@github.com:commontk/CTK.git
|}


== Build with CMake ==
== Build with CMake ==
Line 22: Line 31:
=== CMake Configuration ===
=== CMake Configuration ===


* set QT_QMAKE_EXECUTABLE for 4.6 development install if needed
* set QT_QMAKE_EXECUTABLE for 4.6 development install if needed (use {path/to/qt}/bin/qmake not {path/to/qt}/qmake/qmake)
* turn on the parts of CTK you want to build
* turn on the parts of CTK you want to build


=== How to use CTK ? ===
See the [http://www.github.com/commontk/Examples Examples] project that illustrates how CTK can be integrated into applications.


= Simple Git =
= Contribute =
== Simple Git ==


These are shortcuts for people used to the 'cvs or svn style' of source code management:
These are shortcuts for people used to the 'cvs or svn style' of source code management:


== Checkout ==
=== Checkout ===
* checkout (use git clone commands above)
* checkout
== Update ==  
git clone git@github.com:commontk/CTK.git
(or use anonymous option listed above)
 
=== Update ===
  git pull --rebase
  git pull --rebase
== Commit ==
=== Commit ===
* commit (commit is to local version, push sends it to upstream server)
* commit (commit is to local version, push sends it to upstream server)
  git add <changed files>
  git add <changed files>
Line 40: Line 55:
  git push
  git push


= Intermediate Git =
== Intermediate Git ==


* check update before merging (look at diff):
* check update before merging (look at diff):
Line 48: Line 63:


* Making a repository hosted on github that can track git.vtk.org [http://wiki.github.com/pieper/SlicerVTK/]
* Making a repository hosted on github that can track git.vtk.org [http://wiki.github.com/pieper/SlicerVTK/]
* 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:
* [http://git-scm.com/download Git]: To download source code
* [http://qt.nokia.com/downloads Qt]: Dependency needed. You need to compile it in your machine before building CTK
* [http://www.cmake.org/cmake/resources/software.html CMake]: Cross-platform build system
* [http://gnuwin32.sourceforge.net/packages/patch.htm Patch for Windows]: Needed to apply patches to external thirdparty libraries source code
* [http://www.collab.net/downloads/subversion SVN]: To update some third-party libraries automatically like PythonQt
* [http://ftp.gnu.org/non-gnu/cvs/ CVS]: To update some third-party libraries automatically like KWStyle
Optional:
* [http://www.python.org/download/ Python]: If you plan to use Scripting
* [http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc DoxyGen]: To generate documentation from source code on your machine
* [http://www.graphviz.org/Download.php GraphViz]: To generate documentation from source code on your machine

Revision as of 10:53, 9 May 2016

Home < Build Instructions

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

Prerequisties

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

Download

Anonymous checkout Anonymous checkout behind a firewall CTK developer with write access
git clone git://github.com/commontk/CTK.git
git clone http://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

  • set QT_QMAKE_EXECUTABLE for 4.6 development install if needed (use {path/to/qt}/bin/qmake not {path/to/qt}/qmake/qmake)
  • 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

These are shortcuts for people used to the 'cvs or svn style' of source code management:

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
  • Making a repository hosted on github that can track git.vtk.org [1]
  • 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 needed. You need to compile it in your machine before building CTK
  • CMake: Cross-platform build system
  • Patch for Windows: Needed to apply patches to external thirdparty libraries source code
  • SVN: To update some third-party libraries automatically like PythonQt
  • CVS: To update some third-party libraries automatically like KWStyle

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