1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- from conan import ConanFile
- {%- if use_conan2 %}
- from conan.tools.files import copy
- from conan.tools.cmake import CMakeToolchain, CMakeDeps, cmake_layout
- {%- endif %}
- class App(ConanFile):
- settings = "os", "compiler", "build_type", "arch"
- options = {
- {%- for conan_option in conan.options -%}
- {%- set option_and_value = rsplit(conan_option, "=", 2) %}"{{ option_and_value[0] }}": "{{ option_and_value[1] }}"
- {%- if not loop.last -%}, {% endif -%}
- {%- endfor -%}
- }
- requires =
- {%- for conan_require in conan.requires %} "{{ conan_require }}"
- {%- if not loop.last -%},{%- endif -%}
- {%- endfor %}
- tool_requires =
- {%- for conan_tool_require in conan.tool_requires %} "{{ conan_tool_require }}"
- {%- if not loop.last -%},{%- endif -%}
- {%- endfor %}
- {%- if use_conan2 %}
- def generate(self):
- CMakeDeps(self).generate()
- CMakeToolchain(self).generate()
- {%- for conan_generator in conan.generators %}
- {{ conan_generator }}(self).generate()
- {%- endfor %}
- for dep in self.dependencies.values():
- if dep.cpp_info.bindirs:
- {%- for conan_import in conan.imports -%}
- {%- set search_and_dstdir = rsplit(conan_import|trim, "->", 2) -%}
- {%- set search = search_and_dstdir[0]|trim -%}
- {%- set dstdir = search_and_dstdir[1]|trim -%}
- {%- set srcdir_and_mask = rsplit(search, ",", 2) -%}
- {%- set srcdir = srcdir_and_mask[0]|trim -%}
- {%- set mask = srcdir_and_mask[1]|trim %}
- copy(self, pattern="{{ mask }}", src=dep.cpp_info.bindirs[0], dst=self.build_folder + "../../../../{{ dstdir }}")
- {%- endfor %}
- def layout(self):
- cmake_layout(self)
- {%- else -%}
- generators = "cmake_find_package", "cmake_paths"
- def imports(self):
- {%- for conan_import in conan.imports -%}
- {%- set search_and_dstdir = rsplit(conan_import|trim, "->", 2) -%}
- {%- set search = search_and_dstdir[0]|trim -%}
- {%- set dstdir = search_and_dstdir[1]|trim -%}
- {%- set srcdir_and_mask = rsplit(search, ",", 2) -%}
- {%- set srcdir = srcdir_and_mask[0]|trim -%}
- {%- set mask = srcdir_and_mask[1]|trim %}
- self.copy(pattern="{{ mask }}", src="{{ srcdir }}", dst="{{ dstdir }}")
- {%- endfor %}
- {%- endif %}
|