diff options
| author | ruki <[email protected]> | 2023-05-02 00:56:39 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-05-02 00:56:39 +0800 |
| commit | 3df1ad8688967a638f3ef5825a0011505c02dc55 (patch) | |
| tree | fcce2d53e88a304a5676a0101d7e9055493dc83f | |
| parent | 427517545da92e25270c290887602c77e1cbc077 (diff) | |
improve xmake generator
| -rw-r--r-- | xmake/scripts/conan/extensions/generators/xmake_generator.py | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/xmake/scripts/conan/extensions/generators/xmake_generator.py b/xmake/scripts/conan/extensions/generators/xmake_generator.py index 8a28e9dfd..f95164acc 100644 --- a/xmake/scripts/conan/extensions/generators/xmake_generator.py +++ b/xmake/scripts/conan/extensions/generators/xmake_generator.py @@ -12,6 +12,30 @@ class XmakeGenerator: def __init__(self, conanfile): self._conanfile = conanfile def generate(self): - print("XmakeGenerator generate") + print("XmakeGenerator: generating build info ..") + + # Extract all dependencies + host_req = self._conanfile.dependencies.host + test_req = self._conanfile.dependencies.test + build_req = self._conanfile.dependencies.build + + # Merge into one list + full_req = list(host_req.items()) \ + + list(test_req.items()) \ + + list(build_req.items()) + + # Process dependencies and accumulate globally required data + pkg_files = [] + dep_names = [] + for require, dep in full_req: + dep_name = require.ref.name + dep_names.append(dep_name) + print("dep_name", dep_name) + + # Convert and aggregate dependency's + dep_cppinfo = dep.cpp_info.copy() + dep_cppinfo.set_relative_base_folder(dep.package_folder) + dep_aggregate = dep_cppinfo.aggregated_components() + print("dep_aggregate", dep_aggregate) |
