Commit Graph

96 Commits

Author SHA1 Message Date
Emil Velikov
bc282cf300 meson: remove use_system_vulkan/vulkan_datadir
Newer versions of the XML and headers don't play nice. In particular the
VK_LAYER_EXPORT macro was removed and the XML was reworked quite
significantly, so our generator no longer works.

I was able to port newer version of the generator scripts from Mesa
(where these were copied from originally), although these new scripts
don't work with the old XML.

Just drop the meson knobs and always use the subproject version. In
practical terms this is identical to what Mesa also does... So Debian
DFSG should not be _too_ upset.

Closes: https://github.com/flightlessmango/MangoHud/issues/927
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2023-04-02 22:17:12 +02:00
Emil Velikov
5c86369758 meson: explicitly annotate version.h as dependency
Currently we list the custom_target (aka vcs_tag() as part of the
sources. Although since it's not an explicit dependency meson/ninja are
free to compile the C/C++ files, before the file is generated.

Closes: https://github.com/flightlessmango/MangoHud/issues/862
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2023-03-13 21:56:18 +01:00
Emil Velikov
08c26d595f meson: do not pick system vulkan, when explicitly disabled
For this to actually work, we also need to set dep_vulkan for all users.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2023-03-12 14:08:42 +01:00
Emil Velikov
047bc2e7f7 tests: make it work aka hide HUDElements
Currently the test is pulling an external reference to HUDElements,
which is unresolved so the test fails to link.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2023-03-12 14:08:42 +01:00
Emil Velikov
eecd451068 meson: build with -Werror=missing-declarations
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2023-03-04 21:40:56 +02:00
Emil Velikov
581b6b3375 meson: move util_files next to its user
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2023-03-04 21:40:56 +02:00
Emil Velikov
cf314e6c9f meson: use xx.get_supported_arguments()
This construct allows meson to check the argument in parallel, but more
importantly it also knows about the "-Wno-" workaround and applies it as
needed.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2023-03-04 21:40:56 +02:00
Emil Velikov
e77fb741c6 meson: drop -Wno-format-truncation
No longer needed

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2023-03-04 21:40:56 +02:00
Emil Velikov
270beefdf3 meson: drop no_override_init_args
No longer needed

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2023-03-04 21:40:56 +02:00
Bill Li
8ea3f86dbf add missing include to test 2023-01-08 04:47:10 +01:00
FlightlessMango
ddbb4f5be1 intel: use json for parsing intel_gpu_top output 2022-11-29 06:18:37 +01:00
FlightlessMango
abb7cdcb6e test: amdgpu: fix renamed test 2022-10-27 03:46:54 +02:00
FlightlessMango
cb7d2a2447 amdgpu tests 2022-10-27 03:44:00 +02:00
FlightlessMango
ed6a427751 tests: cmocka subproject 2022-10-26 03:52:04 +02:00
Stephan Lachnit
b8b6d61b25 Build mangoapp and mangohudctl for any CPU architecture
On 32-bit-only machines, building these for the 32-bit architecture makes sense.

Signed-off-by: Simon McVittie <smcv@debian.org>
2022-10-11 14:41:47 +02:00
FlightlessMango
efdcc6d2f5 Bump to 0.6.8 2022-08-01 03:27:11 +02:00
jackun
e5d52c202e
Add meson install_tags, bump meson to 0.60 2022-07-14 17:36:49 +03:00
jackun
50720d2215
Install data files only if include_doc option is set 2022-07-14 15:32:05 +03:00
Stephan Lachnit
e1ffa0f858 meson.build: allow system nlohmann_json to satisfy dependency
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2022-07-13 20:53:57 +03:00
jackun
58e277a8b7
Disable werror and tests for spdlog 2022-05-12 15:28:41 +03:00
jackun
77bb7fd756
Disable werror for Dear ImGui
GCC 7.5:
../../subprojects/imgui-1.81/imgui.h:1642:80: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Wstrict-overflow]
     inline T&           operator[](int i)                   { IM_ASSERT(i >= 0 && i < Size); return Data[i]; }
2022-05-04 20:38:54 +03:00
FlightlessMango
663bbd05a6 Bump to 0.6.7 2022-05-04 15:11:51 +02:00
FlightlessMango
4341843117 nlohmann_json wrap 2022-03-15 22:56:36 +01:00
Emil Velikov
68ce8f81cc Remove libdrm_amdgpu metrics
There are two alternatives - hwmon entries and gpu_metrics sysfs file.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-12 10:28:18 +00:00
Emil Velikov
e3977ad648 meson: increase the warning_level to 2
The default is 1, which effectively omits -Wextra.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-06 14:16:06 +00:00
Emil Velikov
a5d5091f0e meson: build with -Wno-unused-parameter
Otherwise we get a ton of warnings about unused function parameters.
The existing -Qunused-arguments seems to be clang specific.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-06 14:16:06 +00:00
FlightlessMango
4d76ad5161 Fix some uglyness in meson build 2021-10-18 19:19:59 +02:00
FlightlessMango
67a4918439 Only check for glfw dep if mangoapp 2021-10-18 19:14:58 +02:00
FlightlessMango
e0fe8b6930 Fix issue with imgui options 2021-10-18 18:58:39 +02:00
FlightlessMango
d99d6c8bd4 Bump version to 0.6.6 2021-10-18 18:33:26 +02:00
FlightlessMango
cd215854ce Mangoapp: meson option 2021-10-18 17:50:58 +02:00
FlightlessMango
4e3a40c6ef mangoapp + gamescope shm 2021-10-18 17:50:58 +02:00
jackun
67e5d790d1
Build and link to spdlog as static lib
Speeds up compiling a bit
2021-08-11 02:13:31 +03:00
jackun
6dee0948a5
Require meson >=0.54 for default_library option. 2021-08-08 22:00:05 +03:00
jackun
a82e27d978
Use spdlog macros so logging can be completely disabled during compile-time 2021-07-27 16:16:39 +03:00
jackun
2f807a4c0d
Add spdlog wrap and logging 2021-07-16 04:06:09 +03:00
jackun
c093f9823e
Use libdrm_amdgpu for amdgpu sensor info, if available
Using plain `open` as `drmOpen` needs bus id check which needs interface 1.4 ioctl which gives EPERM cause only DRM_MASTER can call it :(

https://github.com/clbr/radeontop/issues/48#issuecomment-493792404
2021-07-13 19:54:24 +03:00
FlightlessMango
e42002c57b Bump version to 0.6.5 2021-07-08 08:23:59 +02:00
FlightlessMango
7bddec9397 bump to v0.6.4 2021-06-24 12:25:57 +02:00
jackun
5f54a9cfe6
Bump to v0.6.3 2021-06-11 23:10:52 +03:00
Kira Bruneau
d8a1ddf253
meson: Add vulkan_datadir option (#522)
This option enables using system Vulkan headers when it doesn't share
the same datadir as MangoHud. This is specifically an issue in NixOS
where packages are built into their own isolated directories in
/nix/store.

For example:
/nix/store/9g28nz6zh484144mzw670bx82y1ka49a-vulkan-headers-1.2.162.0/share/vulkan/registry/vk.xml

This is currently worked around in the Nix package, by symlinking the
vulkan-headers into MangoHud's install directory:

5debc57760/pkgs/tools/graphics/mangohud/default.nix (L66-L70)

Although, this hack causes the vulkan-headers to be included as a
runtime dependency when they're only needed at build time.

I tried to figure out a way to resolve the datadir automatically, but
found that just adding a new option is probably the best solution for
the following reasons:

- The vulkan.pc file used to resolve dep_vulkan doesn't contain any
information about the datadir.

- The share directory could be resolved relative to the vulkan include
directory and that would solve the specific issue for Nix, but the
datadir could be installed anywhere and that wouldn't be a general
solution.

- I couldn't find a way to resolve the data dir using the XDG Base
Directory Specification because meson doesn't provide a way to access
the necessary environment variables.

https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
2021-05-11 18:44:25 +03:00
flightlessmango
af57e0cb2d
Merge pull request #445 from stephanlachnit/p/build-source-rework
imgui wrap from WrapDB and build-source.sh rework
2021-02-04 19:45:15 +01:00
flightlessmango
206c55ef2e Bump version to v0.6.2 2021-02-03 16:16:56 +01:00
Stephan Lachnit
b0ee2f749c
imgui wrap from Wrap DB and build-source.sh rework
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2021-02-03 11:13:52 +01:00
jackun
53cca5e723
Merge remote-tracking branch 'origin/master' into develop 2021-02-03 10:37:01 +02:00
Aidan Harris
0a29c7369a
Explicitly test for the mako python module
Some distros (Gentoo) support multiple versions of python3 and mako may
not be built for all of the implementations. Testing for the module
early will make sure meson bails out if the module cannot be
found.
2020-12-27 20:58:55 +00:00
FlightlessMango
90ce1c5778 ImGui wrap 2020-12-18 16:14:05 +01:00
jackun
7b59095a79
Bump to v0.6.1 2020-11-29 16:30:07 +02:00
FlightlessMango
1c9e533a51 Bump meson build to 0.6.0 2020-11-29 03:08:40 +01:00
FlightlessMango
1263b8d954 Build with windows_deps 2020-09-06 07:50:31 +02:00