diff options
Diffstat (limited to 'util/cmake/configurejson2cmake.py')
| -rwxr-xr-x | util/cmake/configurejson2cmake.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/util/cmake/configurejson2cmake.py b/util/cmake/configurejson2cmake.py index f1bbcaca3ee..7f7a103ef69 100755 --- a/util/cmake/configurejson2cmake.py +++ b/util/cmake/configurejson2cmake.py @@ -225,9 +225,29 @@ def parseLib(ctx, lib, data, cm_fh, cmake_find_packages_set): # configure.cmake is interested in finding the system library # for the purpose of enabling or disabling a system_foo feature. find_package_kwargs["use_system_package_name"] = True + find_package_kwargs["module"] = ctx["module"] cm_fh.write(generate_find_package_info(newlib, **find_package_kwargs)) + if "use" in data["libraries"][lib]: + use_entry = data["libraries"][lib]["use"] + if isinstance(use_entry, str): + print(f"1use: {use_entry}") + cm_fh.write(f"qt_add_qmake_lib_dependency({newlib.soName} {use_entry})\n") + else: + for use in use_entry: + print(f"2use: {use}") + indentation = "" + has_condition = False + if "condition" in use: + has_condition = True + indentation = " " + condition = map_condition(use['condition']) + cm_fh.write(f"if({condition})\n") + cm_fh.write(f"{indentation}qt_add_qmake_lib_dependency({newlib.soName} {use['lib']})\n") + if has_condition: + cm_fh.write("endif()\n") + run_library_test = False mapped_library = find_3rd_party_library_mapping(lib) if mapped_library: |
