from conan import ConanFile from conan.tools.cmake import CMake, cmake_layout class PaulDBConan(ConanFile): name = "pauldb" version = "0.1.0" description = "Handcrafted HTAP database - Row+Column Storage, Delta-Merge" license = "NONE" url = "https://git.paulvincenthorn.de/paulhorn/PaulDB" # Welche Varianten Conan unterscheiden soll settings = "os", "compiler", "build_type", "arch" # Conan generiert conan_toolchain.cmake + Finder-Dateien für CMake generators = "CMakeDeps", "CMakeToolchain" def layout(self): # Legt build-Ordner-Konvention fest (build/Debug, build/Release, …) cmake_layout(self) def requirements(self): # Hier später externe Abhängigkeiten eintragen, z.B.: # self.requires("fmt/10.2.1") # self.requires("spdlog/1.13.0") pass def build(self): cmake = CMake(self) cmake.configure() cmake.build() def package(self): # Wird relevant, sobald PaulDB selbst als Library verpackt wird cmake = CMake(self) cmake.install() def package_info(self): # Wird relevant, sobald andere Projekte pauldb als Dep einbinden self.cpp_info.libs = ["pauldb"]