Commit Graph

61 Commits

Author SHA1 Message Date
Jan Beich
609c7ab6b5
Unbreak CMake build on FreeBSD (#2209)
* cmake: unbreak on non-GNU after 474ada9267

CMake Error at CMakeLists.txt:121 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "Hyprland".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * CMakeLists.txt:107 (target_link_libraries)

Fixes https://github.com/hyprwm/Hyprland/issues/1780

* cmake: always link with dependencies via imported targets

On BSD systems base compiler by default only looks for headers and
libraries from base system. For dependencies from packages extra flags
are necessary.

ld: error: unable to find library -lxcb
ld: error: unable to find library -lpixman-1
ld: error: unable to find library -lOpenGL
ld: error: unable to find library -lGLESv2

* make: use same make in recursive calls

On BSDs `make` is BSD make while `gmake` is GNU make

* make: work around GNU vs. BSD sed -i incompatibility

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254091

* make: replace GNU make extension with POSIX sh

`$(shell ...)` in GNU make is similar to `${:!..!}` in BSD make

* make: fall back when nproc isn't available

Only FreeBSD added nproc for compatibility with Linux.

* make: unbreak hyprctl on Clang-based systems

/bin/sh: g++: not found
error: invalid value 'c++23' in '-std=c++23'

* make: create lib/ before copying libwlroots.so there

$ make install PREFIX=/tmp/test
[...]
cp: directory /tmp/test/lib does not exist

* make: pass cp(1) flags before arguments

cp: -f is not a directory

* make: replace install -Dt with mkdir

install: illegal option -- t

* make: replace cp --parents with cpio -dump

cp: illegal option -- -

* make: limit pkg-config workaround to Linux when run as root

/usr/share/pkgconfig doesn't exist on BSDs or may not be writable.
2023-05-02 14:38:36 +01:00
vaxerski
11e87986a2 makefile: put pkg-config file in the default dir 2023-05-01 01:13:57 +01:00
Vaxry
dbf0b92de7
Plugin header overhaul 2: fixes (Electric boogaloo) (#2201)
* Add wlroots headers to makefile + fix pluginenv with new headers

* Add wlroots to pc
2023-05-01 01:04:25 +01:00
vaxerski
5c3684d0cc pluginenv: configure cmake to build protocols 2023-04-29 17:41:44 +01:00
vaxerski
f23455e592 makefile: use -f in copies to avoid errors on running hl 2023-04-27 14:56:43 +01:00
Ching Pei Yang
38bdbdb0f5
Plugin header overhaul (#2087)
* meson: install headers

* Meson/CMake: add pkg-config file for headers

* makefile: install headers and pkgconfig

* CMake: move protocols to cmake

Co-authored-by: Ching Pei Yang <badnam3o.0@gmail.com>

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-04-27 00:59:16 +03:00
Vaxry
046ad79d11
GlobalShortcuts protocol impl (#1886)
Implements the `hyprland-global-shortcuts-v1` protocol

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-09 13:48:20 +01:00
stephan-cr
e4b6af41e5
Refactor CMake and Make file (#1766)
* Refactor CMake and Make file

- modernize CMake a bit
- "unscreamify" CMake commands
- replace undocumented CMake option -H by -S in Makefile
- remove unnecessary "cd" in Makefile

* Fix include path to wlroots generated header files
2023-03-14 21:50:30 +00:00
Vaxry
5dc1a5fec6
input: text-input-v1 support (#1778)
support zwp_text_input_v1

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-03-14 12:57:50 +00:00
Froggo
3b41169395
Use ${PREFIX} rather than /usr directly in Makefile, and force the build to attempt compilation even if the user does not have ${PREFIX}/lib write permissions (#1688)
* Force the make process to use ${PREFIX} rather than /usr directly, and make the build attempt to continue even if the user does not have write permissions in ${PREFIX}/lib (for libwlroots)

* Prevent insufficient permissions error with make install

---------

Co-authored-by: Froggo8311 <Froggo8311@localhost>
2023-03-03 22:15:15 +00:00
vaxerski
5da96132b9 fix make install 2023-02-27 14:36:59 +00:00
vaxerski
15d108fbc1 fix make install 2023-02-27 14:08:29 +00:00
Vaxry
8b81f41e52
Plugin System (#1590)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +00:00
Vaxry
60b880d931
wp-fractional-scaling-v1 impl (#1373)
* Initial fractional scaling impl

* apply UV after geom calcs

* fix scaling -> scale

* meson: add fractional scale proto

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-01-20 19:44:30 +01:00
vaxerski
eb9d063229 Added make configdebug 2022-12-22 01:25:04 +00:00
NotAShelf
9702b8ce75
do not overwrite existing hyprland.desktop (#1228)
* copy desktop file only if does not exist

- Should no longer overwrite modified desktop files for pre-packaged versions of Hyprland.

* re-add cleaninstall with deprecation notice

Co-authored-by: NotAShelf <NotAShelf@users.noreply.github.com>
2022-12-15 12:39:55 +00:00
Vaxry
111d209bff
Added toplevel handle sharing Rev2 (#1203)
* Added toplevel handle sharing

* nix: fix build

* update hyprland-protocols

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-12 14:56:42 +00:00
Vaxry
66fb083003
Implement window sharing with the hl toplevel export proto (#1179)
* implement window sharing

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-05 17:05:15 +00:00
vaxerski
724e411ffc avoid header clashes in make all 2022-11-17 18:27:50 +00:00
vaxerski
23cd1b8c66 update wlroots dep 2022-11-13 11:04:28 +00:00
vaxerski
bee06f3507 add more wlroots flags for faster compile 2022-11-05 18:05:15 +00:00
vaxerski
f50c786640 Added direct scanout 2022-11-05 12:50:47 +00:00
Felix Dick
6e7143e0f5 Replace $(nproc) with $(shell nproc). 2022-10-10 17:13:56 +02:00
NotAShelf
a4f7bd4bc2
fix typo
what is this, clash of clans?
2022-08-24 18:53:30 +03:00
NotAShelf
3fd903ee74
remove unintended whitespace 2022-08-24 18:51:57 +03:00
NotAShelf
83ef951c21
add clean install for those who build from source 2022-08-24 18:47:35 +03:00
Vaxry
4c6d9b7d5a
Merge pull request #555 from viperML/update-man
docs: build man pages to repo
2022-08-22 15:16:32 +02:00
vaxerski
8b39a1cf9b always use /usr/share/ for wayland-sessions 2022-08-22 14:46:53 +02:00
Fernando Ayats
463bc7ab13 doc: install mapages 2022-08-21 17:28:56 +02:00
Fernando Ayats
aaba11b7a2 gha: build man pages 2022-08-21 10:33:45 +02:00
vaxerski
100d29d34d use nproc in makefile 2022-08-01 22:48:43 +02:00
vaxerski
f96b611651 support wlr-output-power-management 2022-07-30 22:41:24 +02:00
vaxerski
e102f9ec8c remove make man 2022-07-27 23:12:18 +02:00
Blake Lee
970bcc467c
remove version 2022-07-22 15:32:56 -04:00
Blake Lee
a312f8e0ac
replace rst2man with pandoc 2022-07-18 18:56:46 -04:00
Blake Lee
310a839700
docs: add man pages 2022-07-15 20:04:17 -04:00
vaxerski
c0377457df don't poison wlr in make install 2022-07-15 11:39:11 +02:00
vaxerski
7ff427c229 remove wlroots so in make uninstall 2022-07-05 19:46:05 +02:00
vaxerski
7d20d5c8c3 fix make clear wlroots 2022-06-29 23:06:45 +02:00
vaxerski
bbc3b5e19b added make fixwlr 2022-06-29 13:30:28 +02:00
vaxerski
07013b835d remove so and pc 2022-06-27 11:42:52 +02:00
vaxerski
7dad15035a forgot wlroots.pc 2022-06-27 11:40:23 +02:00
vaxerski
54e8e78612 save wlroots and restore 2022-06-25 12:13:24 +02:00
vaxerski
0ec903808b don't use sudo in make config 2022-06-22 15:52:36 +02:00
Florian "sp1rit"​
fd0112425f
Added meson buildfiles
this makes for a far better experience in combination with wlroots,
since that whole makefile mess is not required.
Additionaly, handling of wayland protocol sources is also slightly
better, but could be improved with mesons inbuilt wayland module.

To build Hyprland using meson:
    meson _build -Ddefault_library=static
    ninja -C _build
    ninja -C _build install
2022-06-16 23:30:28 +02:00
vaxerski
da80eb8e57 Added the tablet manager and tablet v2 protocol 2022-06-08 14:29:49 +02:00
vaxerski
48a3b1c514 fix oopsie 2022-05-31 11:02:54 +02:00
vaxerski
2e7586e841 fix up config and includes 2022-05-31 10:43:41 +02:00
Tanish2002
7c6fc3c6ad add xwayland disabling support to flake.nix 2022-05-08 23:48:13 +05:30
Tanish2002
2342b6a10f remove patch and move default.nix 2022-05-08 22:53:49 +05:30