aboutsummaryrefslogtreecommitdiff
path: root/conanfile.py
diff options
context:
space:
mode:
Diffstat (limited to 'conanfile.py')
-rw-r--r--conanfile.py62
1 files changed, 0 insertions, 62 deletions
diff --git a/conanfile.py b/conanfile.py
deleted file mode 100644
index 9b1d4d3..0000000
--- a/conanfile.py
+++ /dev/null
@@ -1,62 +0,0 @@
-from conan import ConanFile
-from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
-from conan.tools.env import VirtualBuildEnv
-
-
-class KernelConan(ConanFile):
- name = "kernel"
- description = "The kernel of TeachOS"
- version = "0.0.1"
- package_type = "application"
- homepage = "https://gitlab.ost.ch/teachos/kernel"
-
- settings = [
- "arch",
- "build_type",
- "compiler",
- ]
-
- tool_requires = [
- "cmake/[~3.27]",
- "doxygen/[~1.9]",
- "gcc/13.2.0@teachos/stable",
- "ninja/[~1.11]",
- ]
-
- def build(self):
- cmake = CMake(self)
- cmake.configure()
- if self.settings.arch == "x86_64":
- cmake.build(target="bootable-iso")
- else:
- cmake.build()
-
- def generate(self):
- build_environment = VirtualBuildEnv(self)
- build_environment.generate()
-
- dependencies = CMakeDeps(self)
- dependencies.generate()
-
- toolchain = CMakeToolchain(self, generator="Ninja Multi-Config")
- toolchain.cache_variables["CMAKE_TRY_COMPILE_TARGET_TYPE"] = "STATIC_LIBRARY"
- toolchain.variables["TEACHOS_DESCRIPTION"] = self.description
- toolchain.variables["TEACHOS_HOMEPAGE_URL"] = self.homepage
- toolchain.variables["TEACHOS_VERSION"] = self.version
- toolchain.blocks["teachos_cmake_modules"] = CMakeModulesPathBlock
- toolchain.blocks["teachos_cmake_modules"].values["root"] = self.source_folder
- toolchain.blocks["teachos_platform"] = PlatformIncludeBlock
- toolchain.blocks["teachos_platform"].values["platform"] = self.settings.arch
- toolchain.blocks.remove("cmake_flags_init")
- toolchain.blocks.remove("arch_flags")
- toolchain.generate()
-
- def layout(self):
- cmake_layout(self, src_folder="source", generator="Ninja Multi-Config")
-
-
-class PlatformIncludeBlock:
- template = 'include("{{platform}}")'
-
-class CMakeModulesPathBlock:
- template = 'list(APPEND CMAKE_MODULE_PATH "{{root}}/cmake/Modules" "{{root}}/cmake/Platforms")'