This repository has been archived by the owner on Dec 3, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 51
/
conanfile.py
60 lines (51 loc) · 2.32 KB
/
conanfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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 <[email protected]>"
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)