cmake plugin
cmake - CMake build element
This is a BuildElement implementation for using the CMake build system.
You will often want to pass additional arguments to the cmake
program for
specific configuration options. This should be done on a per-element basis by
setting the cmake-local
variable. Here is an example:
variables:
cmake-local: |
-DCMAKE_BUILD_TYPE=Debug
If you want to pass extra options to cmake
for every element in your
project, set the cmake-global
variable in your project.conf file. Here is
an example of that:
elements:
cmake:
variables:
cmake-global: |
-DCMAKE_BUILD_TYPE=Release
Here is the default configuration for the cmake
element in full:
# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # CMake default configuration variables: build-dir: _builddir # Project-wide extra arguments to be passed to `cmake` cmake-global: '' # Element-specific extra arguments to be passed to `cmake`. cmake-local: '' # The cmake generator to use generator: Ninja cmake-args: | -DCMAKE_VERBOSE_MAKEFILE=ON \ -DCMAKE_INSTALL_PREFIX:PATH="%{prefix}" \ -DCMAKE_INSTALL_LIBDIR:PATH="%{lib}" %{cmake-global} %{cmake-local} cmake: | cmake -B%{build-dir} -H"%{conf-root}" -G"%{generator}" %{cmake-args} make: cmake --build %{build-dir} -- ${JOBS} make-install: env DESTDIR="%{install-root}" cmake --build %{build-dir} --target install # Set this if the sources cannot handle parallelization. # # notparallel: True config: # Commands for configuring the software # configure-commands: - | %{cmake} # Commands for building the software # build-commands: - | %{make} # Commands for installing the software into a # destination folder # install-commands: - | %{make-install} # Commands for stripping debugging information out of # installed binaries # strip-commands: - | %{strip-binaries} # Use max-jobs CPUs for building and enable verbosity environment: JOBS: -j%{max-jobs} # And dont consider JOBS as something which may # affect build output. environment-nocache: - JOBS
See built-in functionality documentation for details on common configuration options for build elements.