You should complete all steps in the Getting Started guide before you try to download and build the source code.
Download the Source Code¶
Recommended: Clone the Git Repository Using the Terminal (Linux and Mac OSX)¶
(Optional) Open your Terminal and create a new directory (e.g.
~/dev) in your home folder that will contain this project and its dependencies:
cd ~ mkdir dev cd dev
Clone and download the kodo-cpp library by running (this will create a new directory called
git clone firstname.lastname@example.org:steinwurf/kodo-cpp.git
Recommended: Clone the Git Repository Using TortoiseGit (Windows)¶
Open the directory where you want to clone the project, right-click on empty
space and select
Git Clone... from the context menu. The TortoiseGit clone
dialog will appear, copy this to the URL field:
You can also customize the name of the target directory if you wish.
By default, a new folder called
kodo-cpp will be created.
If you decide to clone the repository with the
then use this URL in TortoiseGit:
Building the Kodo Examples and Unit Tests¶
In the following, we will look at how you can build the Kodo examples and unit tests using the Waf build system.
Navigate to the directory where you have downloaded the Kodo source code:
wafto configure the kodo-cpp library:
python waf configure
waf configurecommand ensures that all tools needed by Kodo are available and prepares to build Kodo. This step will also download several libraries into a local folder called
waf configurestep might take several minutes depending on the speed of your Internet connection. This would be a good time to grab a coffee or similar while the dependencies are downloaded.
You can use the
--resolve_pathoption to specify the download location for the dependencies (if you want to change the default location).
On Linux and Mac OSX:
python waf configure --resolve_path=~/dev/resolved_dependencies
On Windows, you can also specify the
resolve_pathas an absolute path with a drive letter, for example:
python waf configure --resolve_path=C:\dev\resolved_dependencies
If you have not configured Git-over-SSH to automatically authenticate on github.com, you might see an error when waf tries to resolve the dependencies.
In this case, you can instruct the waf tools to use the
httpsprotocol for downloading the dependencies by adding the
--git-protocol=https://option to the
configurecommand (you will have to type your GitHub username and password):
python waf configure --git-protocol=https://
wafto build the library with the unit tests and examples:
python waf build
Run the unit tests:
python waf --run_tests
You can find the compiled library and executables in the waf build folder, which depends on your operating system:
- Mac OSX:
You can directly run the executables here.