mirror of
https://github.com/worldforge/ember
synced 2026-08-13 16:23:06 -04:00
60 lines
2.3 KiB
Python
60 lines
2.3 KiB
Python
from conan import ConanFile
|
|
from conan.tools.cmake import cmake_layout, CMakeDeps, CMakeToolchain
|
|
from conan.tools.microsoft import is_msvc
|
|
|
|
|
|
class EmberConan(ConanFile):
|
|
package_type = "application"
|
|
settings = "os", "arch", "compiler", "build_type"
|
|
url = "https://github.com/worldforge/ember"
|
|
homepage = "https://www.worldforge.org"
|
|
name = "Ember - Worldforge client"
|
|
license = "GPL-3.0-or-later"
|
|
author = "Erik Ogenvik <erik@ogenvik.org>"
|
|
description = "A client for the Worldforge MMORPG project."
|
|
|
|
default_options = {
|
|
# Skipped because we had issues building xz_utils, which is used by libunwind
|
|
'sdl/*:libunwind': False,
|
|
# We got build errors with X11 on OpenSuSE, so disable for now. Unclear what the X11 support entails.
|
|
'pulseaudio/*:with_x11': False,
|
|
# Unclear why the pulseaudio client lib needs openssl...
|
|
'pulseaudio/*:with_openssl': False,
|
|
# We're getting compilation errors on Ubuntu 22.04 with "mpg123" so we'll disable that. Might want to enable
|
|
# again when we enable better sound support.
|
|
'libsndfile/*:with_mpeg': False
|
|
}
|
|
|
|
def requirements(self):
|
|
self.requires("cegui/0.8.7@worldforge")
|
|
self.requires("ogre/13.4.2@worldforge")
|
|
self.requires("sdl/2.28.2")
|
|
self.requires("bullet3/2.89")
|
|
|
|
self.requires("atlas/0.7.0@worldforge")
|
|
self.requires("eris/1.4.0@worldforge")
|
|
self.requires("mercator/0.4.0@worldforge")
|
|
self.requires("varconf/1.0.3@worldforge")
|
|
self.requires("squall/0.1.0@worldforge")
|
|
self.requires("libsigcpp/3.0.7")
|
|
self.requires("lua/5.3.6")
|
|
if not is_msvc(self):
|
|
self.requires("libxdg-basedir/1.2.3@worldforge")
|
|
self.requires("libxml2/2.10.4", override=True)
|
|
self.requires("zlib/1.2.13", override=True)
|
|
|
|
self.test_requires("cppunit/1.15.1")
|
|
|
|
def generate(self):
|
|
deps = CMakeDeps(self)
|
|
# OGRE provides its own CMake files which we should use
|
|
deps.set_property("ogre", "cmake_find_mode", "none")
|
|
deps.generate()
|
|
|
|
tc = CMakeToolchain(self)
|
|
# We need to do some stuff differently if Conan is in use, so we'll tell the CMake system this.
|
|
tc.variables["CONAN_FOUND"] = "TRUE"
|
|
tc.generate()
|
|
|
|
def layout(self):
|
|
cmake_layout(self)
|