diff --git a/CMakeLists.txt b/CMakeLists.txt index 1aa8914..64e3c51 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,12 +10,8 @@ if(CMAKE_EXPORT_COMPILE_COMMANDS) ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}) endif() -IF(NOT DEFINED ENV{HYPRLAND_HEADERS}) - message(FATAL_ERROR "$HYPRLAND_HEADERS is unset") -ENDIF() - find_package(PkgConfig REQUIRED) -pkg_check_modules(DEPS REQUIRED pixman-1 libdrm) +pkg_check_modules(DEPS REQUIRED hyprland pixman-1 libdrm) add_library(hy3 SHARED src/main.cpp @@ -23,7 +19,6 @@ add_library(hy3 SHARED src/SelectionHook.cpp ) -target_include_directories(hy3 PRIVATE - ${DEPS_INCLUDE_DIRS} - $ENV{HYPRLAND_HEADERS} -) +target_include_directories(hy3 PRIVATE ${DEPS_INCLUDE_DIRS}) + +install(TARGETS hy3 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/flake.lock b/flake.lock index eaf318d..d4b4b80 100644 --- a/flake.lock +++ b/flake.lock @@ -1,12 +1,15 @@ { "nodes": { "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", "owner": "numtide", "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", "type": "github" }, "original": { @@ -23,11 +26,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1680645538, - "narHash": "sha256-H9gAx2U3XKVoI2WjwbOXULL4TYj9y7ctxBB4up0v9tI=", + "lastModified": 1682603803, + "narHash": "sha256-NY9nVAdB7UyInu2vPx/DIUVNZ83t4RdP16QY9DTIn4s=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "a80ba54bbc6a423ab0e79730442e09aea832d9d6", + "rev": "f23455e592bca14e0abd9249de467cc71cd2850e", "type": "github" }, "original": { @@ -44,11 +47,11 @@ ] }, "locked": { - "lastModified": 1671839510, - "narHash": "sha256-+PY1qqJfmZzzROgcIY4I7AkCwpnC+qBIYk2eFoA9RWc=", + "lastModified": 1681065697, + "narHash": "sha256-QPzwwlGKX95tl6ZEshboZbEwwAXww6lNLdVYd6T9Mrc=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "b8f55e02a328c47ed373133c52483bbfa20a1b75", + "rev": "4d29e48433270a2af06b8bc711ca1fe5109746cd", "type": "github" }, "original": { @@ -59,11 +62,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1680487167, - "narHash": "sha256-9FNIqrxDZgSliGGN2XJJSvcDYmQbgOANaZA4UWnTdg4=", + "lastModified": 1682453498, + "narHash": "sha256-WoWiAd7KZt5Eh6n+qojcivaVpnXKqBsVgpixpV2L9CE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "53dad94e874c9586e71decf82d972dfb640ef044", + "rev": "c8018361fa1d1650ee8d4b96294783cf564e8a7f", "type": "github" }, "original": { @@ -83,15 +86,30 @@ ] } }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "wlroots": { "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1680629978, - "narHash": "sha256-2iVx5zqU2CpMgmtVadsHSkhkAsoxAWKQp6RQqt2OgQY=", + "lastModified": 1682436395, + "narHash": "sha256-GGEjkQO9m7YLYIXIXM76HWdhjg4Ye+oafOtyaFAYKI4=", "owner": "wlroots", "repo": "wlroots", - "rev": "835208db98a29431fa687c9506f4b43fe645ff65", + "rev": "6830bfc17fd94709e2cdd4da0af989f102a26e59", "type": "gitlab" }, "original": { @@ -113,11 +131,11 @@ ] }, "locked": { - "lastModified": 1673116118, - "narHash": "sha256-eR0yDSkR2XYMesfdRWJs25kAdXET2mbNNHu5t+KUcKA=", + "lastModified": 1682439384, + "narHash": "sha256-zHDa8LCZs05TZHQSIZ3ucwyMPglBGHcqTBzfkLjYXTM=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "d479c846531fd0e1d2357c9588b8310a2b859ef2", + "rev": "c0e233955568fbea4e859336f6d3d14d51294d7c", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 376bb8a..2bff143 100644 --- a/flake.nix +++ b/flake.nix @@ -8,8 +8,8 @@ outputs = { nixpkgs, hyprland, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; - hyprpkgs = hyprland.packages.${system}; - in { + hyprland_pkg = hyprland.packages.${system}.hyprland; + in rec { packages.default = pkgs.gcc12Stdenv.mkDerivation { pname = "hy3"; version = "0.1"; @@ -17,35 +17,21 @@ src = ./.; nativeBuildInputs = with pkgs; [ + hyprland_pkg.dev cmake pkg-config - ]; - - #HYPRLAND_HEADERS = hyprpkgs.hyprland.src; - TODO + ] ++ hyprland_pkg.buildInputs; }; devShells.default = pkgs.mkShell.override { stdenv = pkgs.gcc12Stdenv; } { name = "hy3-shell"; - nativeBuildInputs = with pkgs; [ - cmake - pkg-config + nativeBuildInputs = with pkgs; [ clang-tools_15 bear ]; - buildInputs = with pkgs; [ - hyprpkgs.wlroots-hyprland - libdrm - pixman - ]; - - inputsFrom = [ - hyprpkgs.hyprland - hyprpkgs.wlroots-hyprland - ]; - - #HYPRLAND_HEADERS = hyprpkgs.hyprland.src; - TODO + inputsFrom = [ packages.default ]; }; }); } diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp index b5051d2..eb7cdb8 100644 --- a/src/Hy3Layout.cpp +++ b/src/Hy3Layout.cpp @@ -2,7 +2,7 @@ #include "Hy3Layout.hpp" #include "SelectionHook.hpp" -#include +#include Hy3GroupData::Hy3GroupData(Hy3GroupLayout layout): layout(layout) {} diff --git a/src/Hy3Layout.hpp b/src/Hy3Layout.hpp index fdeef7f..6e9dc3c 100644 --- a/src/Hy3Layout.hpp +++ b/src/Hy3Layout.hpp @@ -1,7 +1,7 @@ #pragma once #include -#include +#include class Hy3Layout; struct Hy3Node; diff --git a/src/SelectionHook.cpp b/src/SelectionHook.cpp index c1b93b8..19e131f 100644 --- a/src/SelectionHook.cpp +++ b/src/SelectionHook.cpp @@ -1,7 +1,6 @@ #include "globals.hpp" -#include "src/Window.hpp" -#include -#include +#include +#include inline CFunctionHook* g_LastSelectionHook = nullptr; diff --git a/src/globals.hpp b/src/globals.hpp index 6d16586..c955ee3 100644 --- a/src/globals.hpp +++ b/src/globals.hpp @@ -1,4 +1,4 @@ -#include +#include #include "Hy3Layout.hpp" inline HANDLE PHANDLE = nullptr; diff --git a/src/main.cpp b/src/main.cpp index 2126376..18cfb2b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include "globals.hpp"