Skip to content

Commit 6ef3b54

Browse files
committed
Template Name and Version
1 parent 9d3fffd commit 6ef3b54

File tree

2 files changed

+26
-8
lines changed

2 files changed

+26
-8
lines changed

cppython/plugins/conan/builder.py

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,30 +121,41 @@ def __init__(self) -> None:
121121
self._filename = 'conanfile.py'
122122

123123
@staticmethod
124-
def _create_conanfile(conan_file: Path, dependencies: list[ConanDependency]) -> None:
124+
def _create_conanfile(conan_file: Path, dependencies: list[ConanDependency], name: str, version: str) -> None:
125125
"""Creates a conanfile.py file with the necessary content."""
126126
template_string = """
127127
from conan import ConanFile
128128
from conan.tools.cmake import CMake, cmake_layout
129129
130-
class MyProject(ConanFile):
131-
name = "myproject"
132-
version = "1.0"
130+
class AutoPackage(ConanFile):
131+
name = "${name}"
132+
version = "${version}"
133133
settings = "os", "compiler", "build_type", "arch"
134134
requires = ${dependencies}
135135
generators = "CMakeDeps"
136136
137137
def layout(self):
138138
cmake_layout(self)
139139
140+
def generate(self):
141+
deps = CMakeDeps(self)
142+
deps.generate()
143+
140144
def build(self):
141145
cmake = CMake(self)
142146
cmake.configure()
143-
cmake.build()"""
147+
cmake.build()
148+
149+
def package(self):
150+
cmake = CMake(self)
151+
cmake.install()
152+
"""
144153

145154
template = Template(dedent(template_string))
146155

147156
values = {
157+
'name': name,
158+
'version': version,
148159
'dependencies': [dependency.requires() for dependency in dependencies],
149160
}
150161

@@ -153,7 +164,9 @@ def build(self):
153164
with open(conan_file, 'w', encoding='utf-8') as file:
154165
file.write(result)
155166

156-
def generate_conanfile(self, directory: DirectoryPath, dependencies: list[ConanDependency]) -> None:
167+
def generate_conanfile(
168+
self, directory: DirectoryPath, dependencies: list[ConanDependency], name: str, version: str
169+
) -> None:
157170
"""Generate a conanfile.py file for the project."""
158171
conan_file = directory / self._filename
159172

@@ -167,4 +180,4 @@ def generate_conanfile(self, directory: DirectoryPath, dependencies: list[ConanD
167180
conan_file.write_text(modified.code, encoding='utf-8')
168181
else:
169182
directory.mkdir(parents=True, exist_ok=True)
170-
self._create_conanfile(conan_file, dependencies)
183+
self._create_conanfile(conan_file, dependencies, name, version)

cppython/plugins/conan/plugin.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,12 @@ def _prepare_installation(self) -> tuple[ConanAPI, Path]:
110110
"""
111111
# Resolve dependencies and generate conanfile.py
112112
resolved_dependencies = [resolve_conan_dependency(req) for req in self.core_data.cppython_data.dependencies]
113-
self.builder.generate_conanfile(self.core_data.project_data.project_root, resolved_dependencies)
113+
self.builder.generate_conanfile(
114+
self.core_data.project_data.project_root,
115+
resolved_dependencies,
116+
self.core_data.pep621_data.name,
117+
self.core_data.pep621_data.version,
118+
)
114119

115120
# Ensure build directory exists
116121
self.core_data.cppython_data.build_path.mkdir(parents=True, exist_ok=True)

0 commit comments

Comments
 (0)