CMake

Build Status Jenkins Plugin Installs Changelog

About this plugin

This plugin can be used to build cmake based projects within Jenkins with free-style or pipeline jobs.
It provides

  • a build-step that generates the build scripts from a CMakeLists.txt file and allows to run these with the appropriate build tool,
  • a build-step to invoke some tools of the CMake suite (CMake/CPack/CTest) with arbitrary arguments plus
  • automatic installation of the CMake tool suite,
  • compatibility with Jenkins pipeline,

Screenshots (for the impatient)

Screenshots showing the configuration can be viewed here CMake Build Configuration, here Tool Configuration and here Global Configuration.

Global configuration

To ease the pain of provisioning Jenkins worker nodes, the plugin can download a recent version of cmake on demand from cmake.org and use that exclusively for a build. (Thanks to cmake.org for constantly providing portable/relocatable binaries for public download.)
Jenkins admins may configure the available CMake versions on the global configuration page.

Build-script generator build step

This build step generates the build scripts from a CMakeLists.txt file and is able to run the scripts. It accepts the following parameters:

  1. CMake version to use — downloaded on demand, selectable versions get configured on the global configuration page
  2. CMake Buildscript Generator
  3. Source directory
  4. Build directory
  5. CMake Build Type — Debug/Release/...
  6. Cache file — to pre-populate cmake cache variables
  7. Clean/Incremental build — to clean the build directory prior to buildscript generation
  8. Pass arbitrary command-line arguments to cmake.

To perform the actual build, this build step tries to detect the actual build tool corresponding to the chosen CMake Buildscript Generator and

  • Can run the actual build tool as a sub-build step
    • with arbitrary (but tool dependent) arguments
    • with extra system environment variables.
  • Supports to run the build tool by an extra execute-shell or execute-batch build step (in case auto detection fails).

CMake/CPack/CTest execution step

This build step allows to invoke the corresponding tool of the CMake suite with arbitrary command-line arguments.
It accepts the following configuration parameters:

  1. CMake version to use
  2. Working directory
  3. Command-line arguments.

Known Issues (go to Tracker)

Issues are tracked at the Jenkins issue Tracker.

Localizations

  1. Chinese localization is maintained in /jenkinsci/localization-zh-cn-plugin.