2.3 KiB
CMake module
This module provides helper tools for generating cmake package files.
Usage
To use this module, just do: cmake = import('cmake')
. The
following functions will then be available as methods on the object
with the name cmake
. You can, of course, replace the name cmake
with anything else.
cmake.write_basic_package_version_file()
This function is the equivalent of the corresponding CMake function,
it generates a name
package version file.
name
: the name of the package.version
: the version of the generated package file.compatibility
: a string indicating the kind of compatibility, the accepted values areAnyNewerVersion
,SameMajorVersion
,SameMinorVersion
orExactVersion
. It defaults toAnyNewerVersion
. Depending on your cmake installation some kind of compatibility may not be available.install_dir
: optional installation directory, it defaults to$(libdir)/cmake/$(name)
Example:
cmake = import('cmake')
cmake.write_basic_package_version_file(name: 'myProject', version: '1.0.0')
cmake.configure_package_config_file()
This function is the equivalent of the corresponding CMake function,
it generates a name
package configuration file from the input
template file. Just like the cmake function
in this file the @PACKAGE_INIT@
statement will be replaced by the appropriate piece of cmake code.
The equivalent PATH_VARS
argument is given through the configuration
parameter.
name
: the name of the package.input
: the template file where that will be treated for variable substitutions contained inconfiguration
.install_dir
: optional installation directory, it defaults to$(libdir)/cmake/$(name)
.configuration
: aconfiguration_data
object that will be used for variable substitution in the template file.
Example:
meson.build:
cmake = import('cmake')
conf = configuration_data()
conf.set_quoted('VAR', 'variable value')
cmake.configure_package_config_file(
name: 'myProject',
input: 'myProject.cmake.in',
configuration: conf
)
myProject.cmake.in:
@PACKAGE_INIT@
set(MYVAR VAR)