aboutsummaryrefslogtreecommitdiff
blob: 549aecfc1311705db4f75299081bf5c776dcadfa (plain)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
From aa7875942f5a0b7fdd187916b898b0b63c9a886c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gon=C3=A7alo=20Negrier=20Duarte?=
 <gonegrier.duarte@gmail.com>
Date: Thu, 9 May 2024 21:52:21 +0100
Subject: [PATCH] meson: verify if system lib are present before fallback to
 submodules
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* removed use_system_spdlog feature
* System vulkan-headers cant be use since mangohud don't use latest SDK
* The code is commented out for future use

Signed-off-by: Gonçalo Negrier Duarte <gonegrier.duarte@gmail.com>
---
 meson.build       | 46 +++++++++++++++++++++++++---------------------
 meson_options.txt |  1 -
 2 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/meson.build b/meson.build
index 86b5411568..00555c7f97 100644
--- a/meson.build
+++ b/meson.build
@@ -166,9 +166,18 @@ else
   dep_rt = null_dep
 endif
 
-vkh_sp = subproject('vulkan-headers')
-vk_api_xml = vkh_sp.get_variable('vulkan_api_xml')
-dep_vulkan = vkh_sp.get_variable('vulkan_headers_dep')
+# Commented code can be used if mangohud start using latest SDK Vulkan-Headers
+# Allowing user to build mangohud using system Vulkan-Headers
+#if not dependency('VulkanHeaders').found()
+  vkh_sp = subproject('vulkan-headers')
+  vk_api_xml = vkh_sp.get_variable('vulkan_api_xml')
+  dep_vulkan = vkh_sp.get_variable('vulkan_headers_dep')
+#else
+#  dep_vulkan = dependency('VulkanHeaders', required: true)
+#  vk_api_xml = files('/usr/share/vulkan/registry/vk.xml')
+#endif
+
+
 
 vk_enum_to_str = custom_target(
   'vk_enum_to_str',
@@ -213,31 +222,25 @@ if get_option('mangoapp')
     'glfw=enabled',
   ]
 endif
-
-dearimgui_sp = subproject('imgui', default_options: imgui_options)
-dearimgui_dep = dearimgui_sp.get_variable('imgui_dep')
+dearimgui_dep = dependency('imgui', fallback: ['imgui', 'dearimgui_dep'], required: true, default_options: imgui_options)
 
 if is_unixy
-implot_sp = subproject('implot', default_options: ['default_library=static'])
-implot_dep = implot_sp.get_variable('implot_dep')
+implot_dep = dependency('implot', fallback: ['implot', 'implot_deb'], required: true, default_options: ['default_library=static'])
 else
 implot_dep = null_dep
 implot_lib = static_library('nulllib', [])
 endif
 
-if not cpp.find_library('spdlog', required: false).found()
-  spdlog_sp = subproject('spdlog', default_options: [
-    'default_library=static',
-    'compile_library=true',
-    'werror=false',
-    'tests=disabled',
-    'external_fmt=disabled',
-    'std_format=disabled'
-  ])
-  spdlog_dep = spdlog_sp.get_variable('spdlog_dep')
-else
-  spdlog_dep = dependency('spdlog', fallback: ['spdlog', 'spdlog_dep'], required: true)
-endif
+spdlog_options = [
+  'default_library=static',
+  'compile_library=true',
+  'werror=false',
+  'tests=disabled',
+  'external_fmt=disabled',
+  'std_format=disabled'
+]
+
+spdlog_dep = dependency('spdlog', fallback: ['spdlog', 'spdlog_dep'], required: true, default_options: spdlog_options)
 
 if ['windows', 'mingw'].contains(host_machine.system())
   minhook_sp = subproject('minhook')
@@ -277,6 +280,7 @@ if get_option('tests').enabled()
       dep_vulkan,
       cmocka_dep,
       spdlog_dep,
+      implot_dep,
       dearimgui_dep
     ],
     include_directories: inc_common)
diff --git a/meson_options.txt b/meson_options.txt
index b6f127e635..d5c0a567b3 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,4 @@
 option('glibcxx_asserts', type : 'boolean', value : false)
-option('use_system_spdlog', type : 'feature', value : 'disabled', description: 'Use system spdlog library')
 option('append_libdir_mangohud', type : 'boolean', value : true, description: 'Append "mangohud" to libdir path or not.')
 option('include_doc', type : 'boolean', value : true, description: 'Include the example config, man pages, appstream files etc.')
 option('with_nvml', type : 'combo', value : 'enabled', choices: ['enabled', 'system', 'disabled'], description: 'Enable NVML support')