aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules/cmake.py
diff options
context:
space:
mode:
authorAndrea Pappacoda <andrea@pappacoda.it>2022-02-03 19:04:57 +0100
committerEli Schwartz <eschwartz93@gmail.com>2022-02-27 11:45:26 -0500
commitfcca265035a92eac2773f85a79a8ad142a9bb795 (patch)
treede508a4109db5e48feeb1ace7b0789a763fe295a /mesonbuild/modules/cmake.py
parentc42a3fd2fbefce7797766f81f14b89ef0e4c5dcc (diff)
downloadmeson-fcca265035a92eac2773f85a79a8ad142a9bb795.zip
meson-fcca265035a92eac2773f85a79a8ad142a9bb795.tar.gz
meson-fcca265035a92eac2773f85a79a8ad142a9bb795.tar.bz2
cmake: configure_package_config_file can now take a dict
Diffstat (limited to 'mesonbuild/modules/cmake.py')
-rw-r--r--mesonbuild/modules/cmake.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/mesonbuild/modules/cmake.py b/mesonbuild/modules/cmake.py
index 26577d5..b046371 100644
--- a/mesonbuild/modules/cmake.py
+++ b/mesonbuild/modules/cmake.py
@@ -53,7 +53,7 @@ if T.TYPE_CHECKING:
class ConfigurePackageConfigFile(TypedDict):
- configuration: build.ConfigurationData
+ configuration: T.Union[build.ConfigurationData, dict]
input: T.Union[str, mesonlib.File]
install_dir: T.Optional[str]
name: str
@@ -347,7 +347,7 @@ class CmakeModule(ExtensionModule):
@noPosargs
@typed_kwargs(
'cmake.configure_package_config_file',
- KwargInfo('configuration', build.ConfigurationData, required=True),
+ KwargInfo('configuration', (build.ConfigurationData, dict), required=True),
KwargInfo('input',
(str, mesonlib.File, ContainerTypeInfo(list, mesonlib.File)), required=True,
validator=lambda x: 'requires exactly one file' if isinstance(x, list) and len(x) != 1 else None,
@@ -372,6 +372,9 @@ class CmakeModule(ExtensionModule):
install_dir = os.path.join(state.environment.coredata.get_option(mesonlib.OptionKey('libdir')), 'cmake', name)
conf = kwargs['configuration']
+ if isinstance(conf, dict):
+ FeatureNew.single_use('cmake.configure_package_config_file dict as configuration', '0.62.0', state.subproject, location=state.current_node)
+ conf = build.ConfigurationData(conf)
prefix = state.environment.coredata.get_option(mesonlib.OptionKey('prefix'))
abs_install_dir = install_dir