This plugin can be used to build cmake based projects within Jenkins with free-style or pipeline jobs.
- 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,
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.
This build step generates the build scripts from a CMakeLists.txt file and is able to run the scripts. It accepts the following parameters:
- CMake version to use — downloaded on demand, selectable versions get configured on the global configuration page
- CMake Buildscript Generator
- Source directory
- Build directory
- CMake Build Type — Debug/Release/...
- Cache file — to pre-populate cmake cache variables
- Clean/Incremental build — to clean the build directory prior to buildscript generation
- 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-batchbuild step (in case auto detection fails).
This build step allows to invoke the corresponding tool of the CMake suite with arbitrary command-line arguments.
It accepts the following configuration parameters:
- CMake version to use
- Working directory
- Command-line arguments.
Known Issues (go to Tracker)
Issues are tracked at the Jenkins issue Tracker.
- Chinese localization is maintained in /jenkinsci/localization-zh-cn-plugin.