CMake Targets
From K-3D
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.