summaryrefslogtreecommitdiff
path: root/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* meson: dropMihai Fufezan2025-11-171-151/+0
|
* cmake,meson: fix inclusion of GPG info in Git commit info (#12302)Lucas Ritzdorf2025-11-151-2/+2
| | | | | | | | | | | | | | | | | | This manifested for me as a failure to build plugins with `hyprpm`, but the root cause was GPG data getting incorporated into `src/version.h`, like so: ```c #define GIT_COMMIT_MESSAGE "gpg: Signature made Sun 09 Nov 2025 03:31:36 PM PST gpg: using EDDSA key E26A4A2AB9676F54149F8EAA665806380871D640 gpg: Can't check signature: No public key version: bump to 0.52.1" ``` This affected both `GIT_COMMIT_MESSAGE` and `GIT_COMMIT_DATE`, since those are generated via `git show` (which can generate that extra GPG info if the user's personal Git config sets `log.showSignature`). See: https://github.com/hyprwm/Hyprland/discussions/12282
* meson: fix version.h install locationMihai Fufezan2025-11-071-1/+1
|
* meson: disable lto (#12129)Tom Englund2025-10-251-0/+1
| | | seems to accidently got enabled again in 019589e
* build: replace generateVersion.sh (#12110)nnra2025-10-231-31/+54
| | | | | | | | | | | * Implemented the CMake version of generateVersion.sh * Made version.h.in compatible with the new build system and included version.h in helpers/MiscFunctions.cpp * Deleted the scripts/generateVersion.sh as it's no longer needed * Updated meson.build to match the new workflow * Added an empty line between includes and namespaces that I accidentally removed
* meson: disable lto explicitlyMihai Fufezan2025-10-131-0/+1
|
* renderer: asynchronously load background tex (#11749)Vaxry2025-09-181-1/+1
| | | | | | | Bumps required hyprgraphics to 0.1.6 --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* meson: set minimum versionMihai Fufezan2025-09-111-0/+1
|
* syncobj: use rendernode for timelines (#11087)Tom Englund2025-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * syncobj: use rendernode for timelines use rendernode for timelines instead of the drmfd, some devices dont support to use the drmfd for this. * opengl: use rendernode if available use rendernode if available for CHyprOpenglImpl * MesaDRM: use the m_drmRenderNodeFD if it exist try use the rendernode we got from AQ if it exist. * linuxdmabuf: use rendernode if available use the rendernode if available already from AQ * syncobj: prefer rendernode over displaynode prefer the rendernode over the displaynode, and log a error if attempting to use the protocol without explicit sync support on any of the nodes. * syncobj: check support on both nodes always check support on both nodes always so it can be used later for preferring rendernode if possible in syncobj protocol. * syncobj: remove old var in non linux if else case remove old m_bDrmSyncobjTimelineSupported from non linux if else case that will fail to compile on non linux. the nodes sets support by default to false, and if non linux it wont check for support and set it to true. * build: bump aq requirement bump to 0.9.3 where rendernode support got added. * flake.lock: update * renderer: glfinish on software renderer software renderers apparently bug out on implicit sync, use glfinish as with nvidia case on implicit paths. * flake.lock: update --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* build: bump hu dep to 0.8.2Vaxry2025-07-301-1/+1
|
* renderer: Added a pointer position uniform to the screen shader. (#10821)FrancisTheCat2025-07-081-1/+1
|
* Renderer: Implement new render scheduling (#10936)Vaxry2025-07-081-1/+1
| | | | | | | | | Implements a new render scheduling method, where we triple buffer when necessary. Enabled by default, improves FPS on underpowered devices. --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* core: drop the legacy renderer (#10408)Tom Englund2025-05-151-4/+0
| | | | | | | | | | | * core: drop the legacy renderer the legacy renderer is broken and barely used, drop it. * Nix: drop support for legacyRenderer --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* build: require hyprgraphics>=0.1.3 (#10350)Florian "sp1rit2025-05-091-1/+1
| | | 49974d5 introduced use of types, which were only added in 0.1.3
* hyprpm: move to system directories for storing plugins (#10211)Vaxry2025-05-011-1/+1
|
* helpers: Add an async dialog box impl (#9919)Vaxry2025-04-061-1/+1
| | | Adds an async dialog box, way safer than our previous local solution for ANR
* renderer/opengl: Extract shaders from source (#9600)UjinT342025-03-291-1/+3
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* managers: Use primary backend for cursor swapchain (#9645)Lee Bousfield2025-03-171-1/+1
|
* Meson: include frags in globberMihai Fufezan2025-03-161-1/+1
|
* protocols: Support content-type-v1 proto (#9226)UjinT342025-02-021-0/+4
|
* deps: add libinotify-kqueue on BSDs after 8dd2cd41fb4c (#9197)Jan Beich2025-01-271-0/+1
| | | | | src/config/ConfigWatcher.cpp:2:10: fatal error: 'sys/inotify.h' file not found 2 | #include <sys/inotify.h> | ^~~~~~~~~~~~~~~
* CMake, Meson: add option controlling hyprpm buildingMihai Fufezan2025-01-181-1/+4
|
* nix/meson: add re2 dependency (#8738)Austin Horstman2024-12-161-0/+2
| | | | | * nix/default: add re2 dependency * meson: add re2
* core: move colorspace handling to oklab (#8635)Vaxry2024-12-031-0/+2
| | | | | | | | | | | * Meson: add hyprgraphics * Nix: add hyprgraphics * CI/setup_base: get hyprgraphics-git --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* version: add link versions for other utils (#8619)Vaxry2024-12-021-0/+6
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* pointer: add drm dumb buffers for cursors (#8399)Vaxry2024-11-141-1/+1
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* meson: autodetect systemdMihai Fufezan2024-11-111-2/+6
|
* Systemd fixesPavel Solovev2024-11-021-1/+2
| | | | Fix installation path, install the service only if the systemd option is enabled
* Build with hyprland-session.service (#8251)izmyname2024-10-261-0/+3
| | | Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* internal: improve version query and define HYPRLAND_VERSION (#8034)Toni500github2024-10-111-0/+1
|
* protocols: Add support for hyprland-ctm-control-v1 (#8023)Vaxry2024-10-081-1/+1
| | | | | | | | | | | * initial ctm support * flake.lock: update * Meson: bump required versions and add ctm proto --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* Meson: add tracy dependencyMihai Fufezan2024-09-271-0/+6
|
* Meson: try to find udis86 through pkgconfig, fallback to subprojectMihai Fufezan2024-09-271-4/+0
| | | | | | Only the fork provides a .pc file, so there's no risk of linking the wrong lib version. If pkg-config can't find it (most cases), fall back to using the subproject through the wrap file.
* Meson: pass AQUAMARINE_VERSION argumentMihai Fufezan2024-09-191-0/+3
|
* Meson: formatMihai Fufezan2024-09-111-9/+17
|
* cursormgr: add a new setting to sync gsettings (#7253)Tom Englund2024-08-091-0/+2
| | | | | | cursor:sync_gsettings_theme is set to default true and if enabled it will now sync xcursor theme loading with gsettings if it can, meaning CSD clients will now also change to the appropiate theme upon start and hyprctl setcursor THEME SIZE .
* core: Move to C++26 and use native_handle to CLOEXEC the debug fd (#7219)Vaxry2024-08-081-1/+1
| | | | | | | Requires GCC >= 14 / Clang >= 18 --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* CMake, Meson: install config and wallpapers to DATADIR/hyprMihai Fufezan2024-08-041-0/+2
| | | | OpenGL: get wallpapers dir from DATAROOTDIR
* CMake, Meson, Nix: replace props.json with VERSIONMihai Fufezan2024-07-211-1/+1
|
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-9/+2
| | | | | | | | | | | | | | Moves Hyprland from wlroots to aquamarine for the backend. --------- Signed-off-by: Vaxry <vaxry@vaxry.net> Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Jan Beich <jbeich@FreeBSD.org> Co-authored-by: vaxerski <vaxerski@users.noreply.github.com> Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com> Co-authored-by: Tom Englund <tomenglund26@gmail.com> Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com> Co-authored-by: diniamo <diniamo53@gmail.com>
* meson: add more xcb-* dependencies after addd3e7f1aebJan Beich2024-05-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ld: error: undefined symbol: xcb_icccm_get_wm_hints_from_reply >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::readProp(CSharedPointer<CXWaylandSurface>, unsigned int, xcb_get_property_reply_t*)) ld: error: undefined symbol: xcb_icccm_get_wm_size_hints_from_reply >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::readProp(CSharedPointer<CXWaylandSurface>, unsigned int, xcb_get_property_reply_t*)) ld: error: undefined symbol: xcb_errors_get_name_for_major_code >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::handleError(xcb_value_error_t*)) ld: error: undefined symbol: xcb_errors_get_name_for_minor_code >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::handleError(xcb_value_error_t*)) ld: error: undefined symbol: xcb_errors_get_name_for_error >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::handleError(xcb_value_error_t*)) ld: error: undefined symbol: xcb_xfixes_id >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources()) >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources()) ld: error: undefined symbol: xcb_composite_id >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources()) ld: error: undefined symbol: xcb_res_id >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources()) >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources()) ld: error: undefined symbol: xcb_xfixes_query_version >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources()) ld: error: undefined symbol: xcb_xfixes_query_version_reply >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources()) ld: error: undefined symbol: xcb_res_query_version >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources()) ld: error: undefined symbol: xcb_res_query_version_reply >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources()) ld: error: undefined symbol: xcb_render_query_pict_formats >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::getRenderFormat()) ld: error: undefined symbol: xcb_render_query_pict_formats_reply >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::getRenderFormat()) ld: error: undefined symbol: xcb_render_query_pict_formats_formats_iterator >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::getRenderFormat()) ld: error: undefined symbol: xcb_render_pictforminfo_next >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::getRenderFormat()) ld: error: undefined symbol: xcb_errors_context_new >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::CXWM()) ld: error: undefined symbol: xcb_composite_redirect_subwindows >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::CXWM()) ld: error: undefined symbol: xcb_xfixes_select_selection_input >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::initSelection()) ld: error: undefined symbol: xcb_render_create_picture >>> referenced by XWM.cpp >>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::setCursor(unsigned char*, unsigned int, Vector2D const&, Vector2D const&)) ld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
* build: update meson, cmake setupgiskard2024-05-211-15/+6
| | | | | | | | | | - meson . fix run_command() check warning . drop lines for compatability, as it's already using c++23 - cmake . generate `compile_commands.json` by default . position independent build: __FILE__
* Meson: fix CflagsMihai Fufezan2024-05-121-1/+1
|
* core: remove libsystemd dependency (#5660)Yaroslav2024-04-201-6/+1
| | | | | | | | | | | | | | | | * remove libsystemd dependency as per Lennart Poettering's advice: https://github.com/systemd/systemd/issues/32028#issuecomment-2031366922 * fix naming for systemd helper functions * rename vars according to code style * Nix: update meson patch --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* build: Unbreak build on FreeBSD by adjusting dependencies (#5595)Jan Beich2024-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * deps: add epoll-shim for some BSDs after 863c7b6072d6 ld: error: undefined symbol: timerfd_create >>> referenced by EventLoopManager.cpp >>> src/Hyprland.p/managers_eventLoop_EventLoopManager.cpp.o:(CEventLoopManager::CEventLoopManager()) ld: error: undefined symbol: timerfd_settime >>> referenced by EventLoopManager.cpp >>> src/Hyprland.p/managers_eventLoop_EventLoopManager.cpp.o:(CEventLoopManager::nudgeTimers()) See also https://github.com/freebsd/freebsd-src/commit/af93fea71038 https://github.com/netbsd/src/commit/75f1bc6655cf * deps: drop unused xcb-image after 45945a3e7d44 $ pkg install <hyprland dependencies> $ pkg install meson jq `pkg rquery %dn wlroots` hwdata $ gmake all [...] -- Checking for modules 'xcb;xwayland;xcb-util;xcb-render;xcb-image;xcb-xfixes;xcb-icccm;xcb-composite;xcb-res;xcb-ewmh' -- Package 'xcb-image' not found CMake Error at /usr/local/share/cmake/Modules/FindPkgConfig.cmake:619 (message): The following required packages were not found: - xcb-image Call Stack (most recent call first): /usr/local/share/cmake/Modules/FindPkgConfig.cmake:841 (_pkg_check_modules_internal) CMakeLists.txt:177 (pkg_check_modules) See also https://github.com/swaywm/wlroots/commit/ae7c3f3d1c56
* Nix & Meson: switch to wlroots-hyprlandMihai Fufezan2024-04-121-1/+1
|
* hyprpm: Add hyprpm, a Hyprland Plugin Manager (#4072)Vaxry2023-12-071-0/+1
|
* meson: generate version.h before install_headers (#3612)memchr2023-10-191-2/+2
| | | | Otherwise, meson install would not install version.h as a header in a clean build.
* build: guard execinfo.h via build systems (#3547)Vaxry2023-10-111-0/+4
| | | | | | | | | | | | | * guard execinfo via cmake * libexecinfo -> execinfo macro name * meson: add execinfo check * move check in cmake up --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
* internal: better versioning (#3543)Vaxry2023-10-101-10/+2
| | | | | | | | | | | * better versioning * meson: better versioning * nix: better versioning --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>