diff options
author | AlexSm <[email protected]> | 2025-06-16 18:21:26 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2025-06-16 18:21:26 +0200 |
commit | d12031b8949081837a0d3b2d73db1b10bee71e35 (patch) | |
tree | 9fa4554554edd492fa8e8d276a3c71f696f75e6d /conanfile.py | |
parent | fc67d742821b41d1f22817c67c3fcb5f517be095 (diff) |
Fix cmakelists generation to Conan2 (#19701)
Diffstat (limited to 'conanfile.py')
-rw-r--r-- | conanfile.py | 40 |
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) |