diff options
author | dimdim11 <dimdim11@yandex-team.com> | 2025-03-04 11:29:28 +0300 |
---|---|---|
committer | dimdim11 <dimdim11@yandex-team.com> | 2025-03-04 11:50:08 +0300 |
commit | d8a124a50d0c6f85ff252c02db51c4e648c55cf2 (patch) | |
tree | fccb2695069c3f72f427e2134958a46cdada7204 | |
parent | ccddb3f12b8c52ccf11e911adb6d03d8b1a2d961 (diff) | |
download | ydb-d8a124a50d0c6f85ff252c02db51c4e648c55cf2.tar.gz |
Uniqueness conan by OS requires
Uniqueness conan by OS requires
commit_hash:f83533a2ed34e7aa4cba6501e56c5ca7b9aa88a6
-rw-r--r-- | build/export_generators/cmake/conanfile.py.jinja | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/build/export_generators/cmake/conanfile.py.jinja b/build/export_generators/cmake/conanfile.py.jinja index ca788509115..13717d007d1 100644 --- a/build/export_generators/cmake/conanfile.py.jinja +++ b/build/export_generators/cmake/conanfile.py.jinja @@ -33,11 +33,13 @@ class App(ConanFile): {%- endif -%} {%- if (has_conan_os_depends_requires) -%} -{%- for conan_os_depend in conan.os_depends|selectattr('requires') %} -{%- if (conan_os_depend.requires|length) %} - if self.settings.os == "{{ conan_os_depend.os }}": -{%- for conan_require in conan_os_depend.requires %} - self.requires("{{ conan_require }}") +{%- set oses = conan.os_depends|selectattr('os')|map(attribute='os')|unique -%} +{%- for os in oses %} +{%- set os_requires = conan.os_depends|selectattr('os', 'eq', os)|selectattr('requires')|map(attribute='requires')|sum|unique -%} +{%- if (os_requires|length) %} + if self.settings.os == "{{ os }}": +{%- for os_require in os_requires %} + self.requires("{{ os_require }}") {%- endfor -%} {%- endif -%} {%- endfor -%} @@ -55,11 +57,13 @@ class App(ConanFile): {%- endif -%} {%- if (has_conan_os_depends_tool_requires) -%} -{%- for conan_os_depend in conan.os_depends|selectattr('tool_requires') %} -{%- if (conan_os_depend.tool_requires|length) %} - if self.settings.os == "{{ conan_os_depend.os }}": -{%- for conan_tool_require in conan_os_depend.tool_requires %} - self.tool_requires("{{ conan_tool_require }}") +{%- set oses = conan.os_depends|selectattr('os')|map(attribute='os')|unique -%} +{%- for os in oses %} +{%- set os_tool_requires = conan.os_depends|selectattr('os', 'eq', os)|selectattr('tool_requires')|map(attribute='tool_requires')|sum|unique -%} +{%- if (os_tool_requires|length) %} + if self.settings.os == "{{ os }}": +{%- for os_tool_require in os_tool_requires %} + self.requires("{{ os_tool_require }}") {%- endfor -%} {%- endif -%} {%- endfor -%} |