Files
omarchy-pkgs/pkgbuilds/omarchy-hyprland-titlebars/CMakeLists.txt
T
Ryan HughesandClaude Opus 5.5 a57d0fdb7f Add omarchy-hyprland-titlebars
The native Hyprland plugin behind Omarchy's floating workspaces: themed
titlebars and edge snapping, built from a hyprbars fork. It is rebuilt
with every Hyprland change, since a plugin only loads into the exact
build it was compiled against.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 02:23:16 -04:00

35 lines
1.1 KiB
CMake

cmake_minimum_required(VERSION 3.27)
project(omarchy-hyprland-titlebars
DESCRIPTION "Titlebars and edge snapping for Omarchy's floating workspace mode"
VERSION 0.1.0
LANGUAGES CXX
)
set(CMAKE_CXX_STANDARD 23)
set(SRC main.cpp barDeco.cpp BarPassElement.cpp edgeSnap.cpp)
# Built as titlebars.so (no lib prefix). Omarchy loads it from the fixed path
# /usr/lib/omarchy-hyprland-titlebars/titlebars.so. The Hyprland-facing plugin
# name stays "hyprbars" so the hl.plugin.hyprbars Lua namespace is unchanged.
add_library(titlebars SHARED ${SRC})
set_target_properties(titlebars PROPERTIES PREFIX "")
# Hyprland exposes inline globals through its headers, so whole-library hidden
# visibility breaks the host API. Our own types/globals have unique OmarchyFloating names.
target_compile_options(titlebars PRIVATE -fno-gnu-unique)
find_package(PkgConfig REQUIRED)
pkg_check_modules(deps REQUIRED IMPORTED_TARGET
hyprland
libdrm
libinput
libudev
pixman-1
wayland-server
xkbcommon
)
target_link_libraries(titlebars PRIVATE rt PkgConfig::deps)
install(TARGETS titlebars LIBRARY DESTINATION lib/omarchy-hyprland-titlebars)