CMake package¶
A CMake package provides support for processing a CMake supported module.
LIBFOO_TYPE = 'cmake'
During the configuration stage of a CMake package, cmake
will be invoked to
generate build files for the module. For the build stage, cmake --build
will
invoke the generated build files. Similar approach for the installation stage
where the build option is invoked again but with the install
target invoked:
cmake --build --target install
. Each stage can be configured to manipulate
environment variables and options used by the CMake executable.
The default configuration built for projects is RelWithDebInfo
. A developer
can override this option by explicitly adjusting the configuration option
--config
to, for example, Debug
:
LIBFOO_CMAKE_BUILD_TYPE = 'Debug'
The following sections outline configuration options are available for a CMake package.
LIBFOO_BUILD_DEFS
¶
Provides a means to pass definitions into the build process. This option can is defined as a dictionary of string pairs. This field is optional.
LIBFOO_BUILD_DEFS = {
# adds "-Doption=value" to the command
'option': 'value',
}
LIBFOO_BUILD_ENV
¶
Provides a means to pass environment variables into the build process. This option is defined as a dictionary with key-value pairs where the key is the environment name and the value is the environment variable's value. This field is optional.
LIBFOO_BUILD_ENV = {
'OPTION': 'VALUE',
}
LIBFOO_BUILD_OPTS
¶
Provides a means to pass command line options into the build process. This option can be defined as a dictionary of string pairs or a list with strings -- either way defined will generate argument values to include in the build event. This field is optional.
LIBFOO_BUILD_OPTS = {
# adds "--option value" to the command
'--option': 'value',
}
# (or)
LIBFOO_BUILD_OPTS = [
# adds "--some-option" to the command
'--some-option',
]
LIBFOO_CMAKE_BUILD_TYPE
¶
Specifies the build type used for the CMake package. A package may use a
common build type (Debug
, Release
, RelWithDebInfo
or MinSizeRel
),
or may have a custom build type defined. A developer needing to use a
specific build type can configure this option with the name of the
configuration. By default, the RelWithDebInfo
build type is used for
all CMake packages.
LIBFOO_CMAKE_BUILD_TYPE = 'Debug'
LIBFOO_CMAKE_NOINSTALL
¶
Specifies whether the CMake package should skip an attempt to invoke the
install command. Ideally, projects will have an install
rule configured to define how a project will install files into a target (or
staging) environment. Not all CMake projects may have this rule defined, which
can cause the installation stage for a package to fail. A developer can
specify this no-install flag to skip a CMake-driven install request and
manage installation actions through other means (such as post-processing).
By default, the installation stage is invoked with a value of False
.
LIBFOO_CMAKE_NOINSTALL = True
LIBFOO_CONF_DEFS
¶
Provides a means to pass definitions into the configuration process. This option can is defined as a dictionary of string pairs. This field is optional.
LIBFOO_CONF_DEFS = {
# adds "-Doption=value" to the command
'option': 'value',
}
LIBFOO_CONF_ENV
¶
Provides a means to pass environment variables into the configuration process. This option is defined as a dictionary with key-value pairs where the key is the environment name and the value is the environment variable's value. This field is optional.
LIBFOO_CONF_ENV = {
'OPTION': 'VALUE',
}
LIBFOO_CONF_OPTS
¶
Provides a means to pass command line options into the configuration process. This option can be defined as a dictionary of string pairs or a list with strings -- either way defined will generate argument values to include in the configuration event. This field is optional.
LIBFOO_CONF_OPTS = {
# adds "--option value" to the command
'--option': 'value',
}
# (or)
LIBFOO_CONF_OPTS = [
# adds "--some-option" to the command
'--some-option',
]
LIBFOO_ENV
¶
Provides a means to pass environment variables into all stages for a package. This option is defined as a dictionary with key-value pairs where the key is the environment name and the value is the environment variable's value. This field is optional.
LIBFOO_ENV = {
'OPTION': 'VALUE',
}
LIBFOO_INSTALL_DEFS
¶
Provides a means to pass definitions into the installation process. This option can is defined as a dictionary of string pairs. This field is optional.
LIBFOO_INSTALL_DEFS = {
# adds "-Doption=value" to the command
'option': 'value',
}
LIBFOO_INSTALL_ENV
¶
Provides a means to pass environment variables into the installation process. This option is defined as a dictionary with key-value pairs where the key is the environment name and the value is the environment variable's value. This field is optional.
LIBFOO_INSTALL_ENV = {
'OPTION': 'VALUE',
}
LIBFOO_INSTALL_OPTS
¶
Provides a means to pass command line options into the installation process. This option can be defined as a dictionary of string pairs or a list with strings -- either way defined will generate argument values to include in the installation event. This field is optional.
LIBFOO_INSTALL_OPTS = {
# adds "--option value" to the command
'--option': 'value',
}
# (or)
LIBFOO_INSTALL_OPTS = [
# adds "--some-option" to the command
'--some-option',
]