summaryrefslogtreecommitdiffstats
path: root/conanfile.py
diff options
context:
space:
mode:
authorAlexSm <[email protected]>2025-06-16 18:21:26 +0200
committerGitHub <[email protected]>2025-06-16 18:21:26 +0200
commitd12031b8949081837a0d3b2d73db1b10bee71e35 (patch)
tree9fa4554554edd492fa8e8d276a3c71f696f75e6d /conanfile.py
parentfc67d742821b41d1f22817c67c3fcb5f517be095 (diff)
Fix cmakelists generation to Conan2 (#19701)
Diffstat (limited to 'conanfile.py')
-rw-r--r--conanfile.py40
1 files changed, 27 insertions, 13 deletions
diff --git a/conanfile.py b/conanfile.py
index 8edc9358299..ef96565d6b4 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -1,14 +1,17 @@
from conan import ConanFile
+import os
+
+from conan.tools.files import copy
+from conan.tools.cmake import CMakeToolchain, CMakeDeps, cmake_layout
+from conan.tools.env import Environment
+
class App(ConanFile):
settings = "os", "compiler", "build_type", "arch"
- default_options = {"libiconv:shared": "True"}
-
- def requirements(self):
- self.requires("libiconv/1.15")
+ default_options = {}
def build_requirements(self):
self.tool_requires("bison/3.8.2")
@@ -16,12 +19,23 @@ class App(ConanFile):
self.tool_requires("ragel/6.10")
self.tool_requires("yasm/1.3.0")
- generators = "cmake_find_package", "cmake_paths"
-
- def imports(self):
- self.copy(pattern="*yasm*", src="bin", dst="./bin")
- self.copy(pattern="bison*", src="bin", dst="./bin/bison/bin")
- self.copy(pattern="m4*", src="bin", dst="./bin/m4/bin")
- self.copy(pattern="ragel*", src="bin", dst="./bin")
- self.copy(pattern="ytasm*", src="bin", dst="./bin")
- self.copy(pattern="*", src="res", dst="./bin/bison/res")
+ def generate(self):
+ CMakeDeps(self).generate()
+ CMakeToolchain(self).generate()
+
+ for dep in self.dependencies.values():
+ for bindir in dep.cpp_info.bindirs:
+ copy(self, pattern="*yasm*", src=bindir, dst=self.build_folder + "../../../.././bin")
+ for bindir in dep.cpp_info.bindirs:
+ copy(self, pattern="bison*", src=bindir, dst=self.build_folder + "../../../.././bin/bison/bin")
+ for bindir in dep.cpp_info.bindirs:
+ copy(self, pattern="m4*", src=bindir, dst=self.build_folder + "../../../.././bin/m4/bin")
+ for bindir in dep.cpp_info.bindirs:
+ copy(self, pattern="ragel*", src=bindir, dst=self.build_folder + "../../../.././bin")
+ for bindir in dep.cpp_info.bindirs:
+ copy(self, pattern="ytasm*", src=bindir, dst=self.build_folder + "../../../.././bin")
+ for resdir in dep.cpp_info.resdirs:
+ copy(self, pattern="*", src=resdir, dst=self.build_folder + "../../../.././bin/bison/res")
+
+ def layout(self):
+ cmake_layout(self)