aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordimdim11 <dimdim11@yandex-team.com>2024-09-06 10:34:25 +0300
committerdimdim11 <dimdim11@yandex-team.com>2024-09-06 10:43:37 +0300
commit894993a7fd2ccb1a2368c47d79fd013c846716f6 (patch)
treef79787e7bf98f71d7edfa21eeeed13a3b8a83354
parent701a0bf16463fc4021736d0f99520486210a4913 (diff)
downloadydb-894993a7fd2ccb1a2368c47d79fd013c846716f6.tar.gz
Fill SWIG_LIB manually in conanfile.py
Fill SWIG_LIB manually in conanfile.py 4d39849c7c8c1e569a3d11349285f39583f772bd
-rw-r--r--build/export_generators/cmake/conan_imports.jinja7
-rw-r--r--build/export_generators/cmake/conanfile.py.jinja3
2 files changed, 10 insertions, 0 deletions
diff --git a/build/export_generators/cmake/conan_imports.jinja b/build/export_generators/cmake/conan_imports.jinja
index 10fce9dc7f..d6b984b482 100644
--- a/build/export_generators/cmake/conan_imports.jinja
+++ b/build/export_generators/cmake/conan_imports.jinja
@@ -9,6 +9,13 @@
{%- if "bin" in srcdir %}
{{ shift }}for bindir in dep.cpp_info.bindirs:
{{ shift }}copy(self, pattern="{{ mask }}", src=bindir, dst=self.build_folder + "../../../../{{ dstdir }}")
+{%- if "swig" in mask %}
+ # SWIG recipe under Conan2 does not set SWIG_LIB, do it manually here or else build fails
+ if os.path.exists(os.path.join(bindir, "swig")):
+ env = Environment()
+ if not env.vars(self).get("SWIG_LIB"):
+ env.define("SWIG_LIB", os.path.join(bindir, "swiglib"))
+{%- endif -%}
{%- elif "res" in srcdir %}
{{ shift }}for resdir in dep.cpp_info.resdirs:
{{ shift }}copy(self, pattern="{{ mask }}", src=resdir, dst=self.build_folder + "../../../../{{ dstdir }}")
diff --git a/build/export_generators/cmake/conanfile.py.jinja b/build/export_generators/cmake/conanfile.py.jinja
index cef8368812..2e7404dd62 100644
--- a/build/export_generators/cmake/conanfile.py.jinja
+++ b/build/export_generators/cmake/conanfile.py.jinja
@@ -2,8 +2,11 @@ from conan import ConanFile
{%- if use_conan2 %}
+import os
+
from conan.tools.files import copy
from conan.tools.cmake import CMakeToolchain, CMakeDeps, cmake_layout
+from conan.tools.env import Environment
{%- endif %}