+69
-37
@@ -30,11 +30,31 @@ class modulus_recipe(conan.ConanFile):
|
||||
True,
|
||||
False,
|
||||
],
|
||||
"with_openssl": [
|
||||
True,
|
||||
False,
|
||||
],
|
||||
"with_sqlite": [
|
||||
True,
|
||||
False,
|
||||
],
|
||||
"with_raylib": [
|
||||
True,
|
||||
False,
|
||||
],
|
||||
"with_miniaudio": [
|
||||
True,
|
||||
False,
|
||||
],
|
||||
}
|
||||
default_options = {
|
||||
"shared": False,
|
||||
"fPIC": True,
|
||||
"with_tests": False,
|
||||
"with_openssl": False,
|
||||
"with_sqlite": False,
|
||||
"with_raylib": False,
|
||||
"with_miniaudio": False,
|
||||
"raylib/*:camera_system": False,
|
||||
"raylib/*:custom_frame_control": True,
|
||||
"raylib/*:customize_build": True,
|
||||
@@ -83,26 +103,30 @@ class modulus_recipe(conan.ConanFile):
|
||||
transitive_libs=True,
|
||||
options=modulus.config.boost_requirement_options(config),
|
||||
)
|
||||
self.requires(
|
||||
"openssl/4.0.1",
|
||||
transitive_headers=True,
|
||||
transitive_libs=True,
|
||||
)
|
||||
self.requires(
|
||||
"sqlite3/3.53.2",
|
||||
transitive_headers=True,
|
||||
transitive_libs=True,
|
||||
)
|
||||
self.requires(
|
||||
"raylib/6.0",
|
||||
transitive_headers=True,
|
||||
transitive_libs=True,
|
||||
)
|
||||
self.requires(
|
||||
"miniaudio/0.11.22",
|
||||
transitive_headers=True,
|
||||
transitive_libs=True,
|
||||
)
|
||||
if self.options.with_openssl:
|
||||
self.requires(
|
||||
"openssl/4.0.1",
|
||||
transitive_headers=True,
|
||||
transitive_libs=True,
|
||||
)
|
||||
if self.options.with_sqlite:
|
||||
self.requires(
|
||||
"sqlite3/3.53.2",
|
||||
transitive_headers=True,
|
||||
transitive_libs=True,
|
||||
)
|
||||
if self.options.with_raylib:
|
||||
self.requires(
|
||||
"raylib/6.0",
|
||||
transitive_headers=True,
|
||||
transitive_libs=True,
|
||||
)
|
||||
if self.options.with_miniaudio:
|
||||
self.requires(
|
||||
"miniaudio/0.11.22",
|
||||
transitive_headers=True,
|
||||
transitive_libs=True,
|
||||
)
|
||||
|
||||
def generate(self):
|
||||
options = self.options
|
||||
@@ -113,6 +137,10 @@ class modulus_recipe(conan.ConanFile):
|
||||
toolchain.user_presets_path = False
|
||||
toolchain.variables["BUILD_SHARED_LIBS"] = bool(options.shared)
|
||||
toolchain.variables["BUILD_TESTING"] = bool(options.with_tests)
|
||||
toolchain.variables["MODULUS_WITH_OPENSSL"] = bool(options.with_openssl)
|
||||
toolchain.variables["MODULUS_WITH_SQLITE"] = bool(options.with_sqlite)
|
||||
toolchain.variables["MODULUS_WITH_RAYLIB"] = bool(options.with_raylib)
|
||||
toolchain.variables["MODULUS_WITH_MINIAUDIO"] = bool(options.with_miniaudio)
|
||||
toolchain.generate()
|
||||
|
||||
def build(self):
|
||||
@@ -149,23 +177,27 @@ class modulus_recipe(conan.ConanFile):
|
||||
components["boost_json"].set_property("cmake_target_name", "modulus::boost_json")
|
||||
components["boost_json"].requires = ["boost::json"]
|
||||
|
||||
components["openssl"].set_property("cmake_target_name", "modulus::openssl")
|
||||
components["openssl"].requires = ["openssl::ssl", "openssl::crypto"]
|
||||
if self.options.with_openssl:
|
||||
components["openssl"].set_property("cmake_target_name", "modulus::openssl")
|
||||
components["openssl"].requires = ["openssl::ssl", "openssl::crypto"]
|
||||
|
||||
components["sqlite"].set_property("cmake_target_name", "modulus::sqlite")
|
||||
components["sqlite"].requires = ["sqlite3::sqlite"]
|
||||
if self.options.with_sqlite:
|
||||
components["sqlite"].set_property("cmake_target_name", "modulus::sqlite")
|
||||
components["sqlite"].requires = ["sqlite3::sqlite"]
|
||||
|
||||
components["raylib"].set_property("cmake_target_name", "modulus::raylib")
|
||||
components["raylib"].requires = ["raylib::raylib"]
|
||||
if self.settings.os == "Linux":
|
||||
components["raylib"].system_libs = [
|
||||
"EGL",
|
||||
"GLESv2",
|
||||
"drm",
|
||||
"gbm",
|
||||
"atomic",
|
||||
"dl",
|
||||
]
|
||||
if self.options.with_raylib:
|
||||
components["raylib"].set_property("cmake_target_name", "modulus::raylib")
|
||||
components["raylib"].requires = ["raylib::raylib"]
|
||||
if self.settings.os == "Linux":
|
||||
components["raylib"].system_libs = [
|
||||
"EGL",
|
||||
"GLESv2",
|
||||
"drm",
|
||||
"gbm",
|
||||
"atomic",
|
||||
"dl",
|
||||
]
|
||||
|
||||
components["miniaudio"].set_property("cmake_target_name", "modulus::miniaudio")
|
||||
components["miniaudio"].requires = ["miniaudio::miniaudio"]
|
||||
if self.options.with_miniaudio:
|
||||
components["miniaudio"].set_property("cmake_target_name", "modulus::miniaudio")
|
||||
components["miniaudio"].requires = ["miniaudio::miniaudio"]
|
||||
|
||||
Reference in New Issue
Block a user