diff options
author | Andrea Pappacoda <andrea@pappacoda.it> | 2022-02-03 19:04:57 +0100 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2022-02-27 11:45:26 -0500 |
commit | fcca265035a92eac2773f85a79a8ad142a9bb795 (patch) | |
tree | de508a4109db5e48feeb1ace7b0789a763fe295a /mesonbuild/modules/cmake.py | |
parent | c42a3fd2fbefce7797766f81f14b89ef0e4c5dcc (diff) | |
download | meson-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.py | 7 |
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 |