CMake Targets

From K-3D

Jump to: navigation, search

Overview

K-3D builds created using CMake include many build targets that are useful for development, debugging, and maintenance. Following are lists of the most useful targets. Note that you can add "/fast" to any of these targets to skip dependency checking - for example, a useful time-saver is

$ make run/fast

... to run the program when you know all dependencies are up-to-date.

General Targets

  • make - Builds the project.
  • make help - Lists every make target (many more than listed here).
  • make run - Runs K-3D from the build directory. Saves you the trouble of having to install before you can do any testing.
  • make run-nui - Runs K-3D from the build directory using the NUI user interface plugin.
  • make run-pyui - Runs K-3D from the build directory using the PYUI user interface plugin.
  • make run-qtui - Runs K-3D from the build directory using the QTUI user interface plugin.
  • make install - Installs built binaries to their configured destination directory on the local system.
  • make edit_cache - Re-run cmake, prompting (or displaying a GUI) for configuration changes.

Debugging & Testing Targets

  • make run-gdb - Starts a debugging session with gdb for testing K-3D in the build directory, without having to install. In the gdb session that opens, just type "run" to begin execution - all options will already be set.
  • make run-nui-gdb - Start a debugging session using the NUI user interface plugin.
  • make run-pyui-gdb - Start a debugging session using the PYUI user interface plugin.
  • make run-qtui-gdb - Start a debugging session using the QTUI user interface plugin.
  • make run-strace - Runs K-3D from from the build directory using the strace utility, which logs system calls.
  • make run-valgrind - Runs K-3D from the build directory using valgrind.
  • make test - Runs the regression test suite.

Documentation Targets

  • make docs-doxygen - Generates source documentation using doxygen. The output files will be in docs/doxygen/html. A great way to browse the source tree!
  • make docs-epydoc - Generates Python API documentation using epydoc.

Packaging Targets

The following targets generate source-code packages for distribution to others who wish to build K-3D from source:

  • package-source-tbz2
  • package-source-tgz
  • package-source-zip

On Linux/Unix systems, there are targets to generate tarballs containing application binaries:

  • package-binary-stgz
  • package-binary-tbz2
  • package-binary-tgz

On OSX systems, there are targets to generate bundles and/or PackageMaker packages:

  • package-binary-bundle
  • package-binary-packagemaker

On Win32 systems, there is a target to generate an NSIS-based installer:

  • package-binary-nsis

Maintainer Targets

The following targets require access to svn or the K-3D website and are strictly for use by designated maintainers:

  • make changelog - Generates a K-3D Changelog.
  • make tag-branch - Branches svn using the version in the top-level CMakeLists.txt.
  • make tag-trunk - Tags svn using the version in the top-level CMakeLists.txt.
  • make upload-package-source - Uploads source packages to SourceForge.
Personal tools