Giter VIP home page Giter VIP logo

cmakebuilder-plugin's Introduction

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.

cmakebuilder-plugin's People

Contributors

15knots avatar alanharder avatar daniel-beck-bot avatar daus-salar avatar docdoc avatar jonnyro-stellarscience avatar linuxsuren avatar misery avatar notmyfault avatar volkai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.