-
-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathconanfile.py
59 lines (49 loc) · 1.96 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
from conan import ConanFile
class MikageConan(ConanFile):
name = "mikage"
settings = "os", "compiler", "build_type", "arch"
generators = ["CMakeDeps", "CMakeToolchain"]
requires = [
#"boost/1.79.0",
"boost/1.84.0",
"spdlog/1.10.0",
"cryptopp/8.5.0",
"sdl/2.30.7", # 2.0.18 fixed swapped X/Y buttons on Switch Pro Controller
"range-v3/0.12.0",
"catch2/2.13.7",
"glslang/1.3.268.0",
"spirv-tools/1.3.268.0",
"tracy/0.11.1",
"xxhash/0.8.0",
"fmt/8.1.1",
]
options = {
"enable_profiler": [True, False]
}
default_options = {
"enable_profiler": False
}
def configure(self):
# TODO: Works around conan-center-index issue 7118
self.options["sdl"].nas = False
self.options["sdl"].alsa = False
self.options["sdl"].shared = True
self.options["pulseaudio"].shared = True
self.options["pulseaudio"].with_alsa = False
#self.options["sdl"].nas = True
self.options["tracy"].enable = self.options.enable_profiler
self.options["tracy"].fibers = True
if self.settings.os == "Android":
# With zlib, libxml2 pulls in pkgconf, which Conan can't build for Android
self.options["libxml2"].zlib = False
def requirements(self):
# Pistache does not build on clang
if self.settings.os == "Linux" and self.settings.compiler != "clang":
self.requires("pistache/cci.20201127")
if self.settings.os == "Linux":
self.requires("libunwind/1.8.0")
if self.settings.os == "Macos":
self.requires("vulkan-loader/1.3.268.0", force=True)
self.requires("spirv-cross/1.3.268.0", force=True) # for moltenvk
self.requires("moltenvk/1.2.2", force=True)
self.requires("vulkan-headers/1.3.268.0", force=True) # must be a direct dependency to avoid homebrew headers from being pulled in