diff --git a/CMakeLists.txt b/CMakeLists.txt index b65d361e..2bd4e0d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,10 +7,10 @@ include(GNUInstallDirs) file(READ "${CMAKE_SOURCE_DIR}/VERSION" VER_RAW) string(STRIP ${VER_RAW} VER) -project(Hyprland - DESCRIPTION "A Modern C++ Wayland Compositor" - VERSION ${VER} -) +project( + Hyprland + DESCRIPTION "A Modern C++ Wayland Compositor" + VERSION ${VER}) set(HYPRLAND_VERSION ${VER}) set(PREFIX ${CMAKE_INSTALL_PREFIX}) @@ -21,32 +21,30 @@ set(CMAKE_MESSAGE_LOG_LEVEL "STATUS") message(STATUS "Gathering git info") -# Get git info -# hash and branch -execute_process( - COMMAND ./scripts/generateVersion.sh - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) +# Get git info hash and branch +execute_process(COMMAND ./scripts/generateVersion.sh + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) # udis add_subdirectory("subprojects/udis86") if(CMAKE_BUILD_TYPE) - string(TOLOWER ${CMAKE_BUILD_TYPE} BUILDTYPE_LOWER) - if(BUILDTYPE_LOWER STREQUAL "release") - # Pass. - elseif(BUILDTYPE_LOWER STREQUAL "debug") - # Pass. - elseif(BUILDTYPE_LOWER STREQUAL "relwithdebinfo") - set(BUILDTYPE_LOWER "debugoptimized") - elseif(BUILDTYPE_LOWER STREQUAL "minsizerel") - set(BUILDTYPE_LOWER "minsize") - elseif(BUILDTYPE_LOWER STREQUAL "none") - set(BUILDTYPE_LOWER "plain") - else() - set(BUILDTYPE_LOWER "release") - endif() -else() + string(TOLOWER ${CMAKE_BUILD_TYPE} BUILDTYPE_LOWER) + if(BUILDTYPE_LOWER STREQUAL "release") + # Pass. + elseif(BUILDTYPE_LOWER STREQUAL "debug") + # Pass. + elseif(BUILDTYPE_LOWER STREQUAL "relwithdebinfo") + set(BUILDTYPE_LOWER "debugoptimized") + elseif(BUILDTYPE_LOWER STREQUAL "minsizerel") + set(BUILDTYPE_LOWER "minsize") + elseif(BUILDTYPE_LOWER STREQUAL "none") + set(BUILDTYPE_LOWER "plain") + else() set(BUILDTYPE_LOWER "release") + endif() +else() + set(BUILDTYPE_LOWER "release") endif() find_package(PkgConfig REQUIRED) @@ -58,22 +56,24 @@ message(STATUS "Found wayland-protocols at ${WAYLAND_PROTOCOLS_DIR}") pkg_get_variable(WAYLAND_SERVER_DIR wayland-server pkgdatadir) if(CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES DEBUG) - message(STATUS "Configuring Hyprland in Debug with CMake") - add_compile_definitions(HYPRLAND_DEBUG) + message(STATUS "Configuring Hyprland in Debug with CMake") + add_compile_definitions(HYPRLAND_DEBUG) else() - add_compile_options(-O3) - message(STATUS "Configuring Hyprland in Release with CMake") + add_compile_options(-O3) + message(STATUS "Configuring Hyprland in Release with CMake") endif() -include_directories( - . - "src/" - "subprojects/udis86/" - "protocols/") +include_directories(. "src/" "subprojects/udis86/" "protocols/") set(CMAKE_CXX_STANDARD 23) -add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-value - -Wno-missing-field-initializers -Wno-narrowing -Wno-pointer-arith - -fmacro-prefix-map=${CMAKE_SOURCE_DIR}/=) +add_compile_options( + -Wall + -Wextra + -Wno-unused-parameter + -Wno-unused-value + -Wno-missing-field-initializers + -Wno-narrowing + -Wno-pointer-arith + -fmacro-prefix-map=${CMAKE_SOURCE_DIR}/=) set(CMAKE_EXECUTABLE_ENABLE_EXPORTS TRUE) set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE) @@ -83,20 +83,39 @@ message(STATUS "Checking deps...") find_package(Threads REQUIRED) if(LEGACY_RENDERER) - set(GLES_VERSION "GLES2") + set(GLES_VERSION "GLES2") else() - set(GLES_VERSION "GLES3") + set(GLES_VERSION "GLES3") endif() find_package(OpenGL REQUIRED COMPONENTS ${GLES_VERSION}) -pkg_check_modules(deps REQUIRED IMPORTED_TARGET - aquamarine - xkbcommon uuid - wayland-server wayland-client wayland-cursor wayland-protocols - cairo pango pangocairo pixman-1 xcursor - libdrm libinput hwdata libseat libdisplay-info libliftoff libudev gbm - hyprlang>=0.3.2 hyprcursor>=0.1.7 hyprutils>=0.2.0 -) +pkg_check_modules( + deps + REQUIRED + IMPORTED_TARGET + aquamarine + xkbcommon + uuid + wayland-server + wayland-client + wayland-cursor + wayland-protocols + cairo + pango + pangocairo + pixman-1 + xcursor + libdrm + libinput + hwdata + libseat + libdisplay-info + libliftoff + libudev + gbm + hyprlang>=0.3.2 + hyprcursor>=0.1.7 + hyprutils>=0.2.0) find_package(hyprwayland-scanner 0.3.10 REQUIRED) @@ -104,8 +123,8 @@ file(GLOB_RECURSE SRCFILES "src/*.cpp") set(TRACY_CPP_FILES "") if(USE_TRACY) - set(TRACY_CPP_FILES "subprojects/tracy/public/TracyClient.cpp") - message(STATUS "Tracy enabled, TRACY_CPP_FILES: " ${TRACY_CPP_FILES}) + set(TRACY_CPP_FILES "subprojects/tracy/public/TracyClient.cpp") + message(STATUS "Tracy enabled, TRACY_CPP_FILES: " ${TRACY_CPP_FILES}) endif() add_executable(Hyprland ${SRCFILES} ${TRACY_CPP_FILES}) @@ -113,75 +132,88 @@ add_executable(Hyprland ${SRCFILES} ${TRACY_CPP_FILES}) set(USE_GPROF ON) if(CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES DEBUG) - message(STATUS "Setting debug flags") + message(STATUS "Setting debug flags") - if (WITH_ASAN) - message(STATUS "Enabling ASan") + if(WITH_ASAN) + message(STATUS "Enabling ASan") - target_link_libraries(Hyprland asan) - target_compile_options(Hyprland PUBLIC -fsanitize=address) + target_link_libraries(Hyprland asan) + target_compile_options(Hyprland PUBLIC -fsanitize=address) + endif() + + if(USE_TRACY) + message(STATUS "Tracy is turned on") + + option(TRACY_ENABLE "" ON) + option(TRACY_ON_DEMAND "" ON) + add_subdirectory(subprojects/tracy) + + target_link_libraries(Hyprland Tracy::TracyClient) + + if(USE_TRACY_GPU) + message(STATUS "Tracy GPU Profiling is turned on") + add_compile_definitions(USE_TRACY_GPU) endif() + endif() - if(USE_TRACY) - message(STATUS "Tracy is turned on") - - option( TRACY_ENABLE "" ON) - option( TRACY_ON_DEMAND "" ON) - add_subdirectory (subprojects/tracy) - - target_link_libraries(Hyprland Tracy::TracyClient) - - if(USE_TRACY_GPU) - message(STATUS "Tracy GPU Profiling is turned on") - add_compile_definitions(USE_TRACY_GPU) - endif() - endif() - - add_compile_options(-fno-pie -fno-builtin) - add_link_options(-no-pie -fno-builtin) - if(USE_GPROF) - add_compile_options(-pg) - add_link_options(-pg) - endif() + add_compile_options(-fno-pie -fno-builtin) + add_link_options(-no-pie -fno-builtin) + if(USE_GPROF) + add_compile_options(-pg) + add_link_options(-pg) + endif() endif() check_include_file("execinfo.h" EXECINFOH) if(EXECINFOH) - message(STATUS "Configuration supports execinfo") - add_compile_definitions(HAS_EXECINFO) + message(STATUS "Configuration supports execinfo") + add_compile_definitions(HAS_EXECINFO) endif() include(CheckLibraryExists) check_library_exists(execinfo backtrace "" HAVE_LIBEXECINFO) if(HAVE_LIBEXECINFO) - target_link_libraries(Hyprland execinfo) + target_link_libraries(Hyprland execinfo) endif() check_include_file("sys/timerfd.h" HAS_TIMERFD) pkg_check_modules(epoll IMPORTED_TARGET epoll-shim) if(NOT HAS_TIMERFD AND epoll_FOUND) - target_link_libraries(Hyprland PkgConfig::epoll) + target_link_libraries(Hyprland PkgConfig::epoll) endif() if(LEGACY_RENDERER) - message(STATUS "Using the legacy GLES2 renderer!") - add_compile_definitions(LEGACY_RENDERER) + message(STATUS "Using the legacy GLES2 renderer!") + add_compile_definitions(LEGACY_RENDERER) endif() if(NO_XWAYLAND) - message(STATUS "Using the NO_XWAYLAND flag, disabling XWayland!") - add_compile_definitions(NO_XWAYLAND) + message(STATUS "Using the NO_XWAYLAND flag, disabling XWayland!") + add_compile_definitions(NO_XWAYLAND) else() - message(STATUS "XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps...") - pkg_check_modules(xdeps REQUIRED IMPORTED_TARGET xcb xwayland xcb-util xcb-render xcb-xfixes xcb-icccm xcb-composite xcb-res xcb-ewmh xcb-errors) - target_link_libraries(Hyprland PkgConfig::xdeps) + message(STATUS "XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps...") + pkg_check_modules( + xdeps + REQUIRED + IMPORTED_TARGET + xcb + xwayland + xcb-util + xcb-render + xcb-xfixes + xcb-icccm + xcb-composite + xcb-res + xcb-ewmh + xcb-errors) + target_link_libraries(Hyprland PkgConfig::xdeps) endif() if(NO_SYSTEMD) - message(STATUS "SYSTEMD support is disabled...") + message(STATUS "SYSTEMD support is disabled...") else() - message(STATUS "SYSTEMD support is requested (NO_SYSTEMD not defined)...") - add_compile_definitions(USES_SYSTEMD) + message(STATUS "SYSTEMD support is requested (NO_SYSTEMD not defined)...") + add_compile_definitions(USES_SYSTEMD) endif() set(CPACK_PROJECT_NAME ${PROJECT_NAME}) @@ -190,7 +222,8 @@ include(CPack) message(STATUS "Setting precompiled headers") -target_precompile_headers(Hyprland PRIVATE $<$:src/pch/pch.hpp>) +target_precompile_headers(Hyprland PRIVATE + $<$:src/pch/pch.hpp>) message(STATUS "Setting link libraries") @@ -200,104 +233,115 @@ target_link_libraries(Hyprland rt PkgConfig::deps) add_custom_target(generate-protocol-headers) function(protocol protoPath protoName external) - if (external) - set(path ${CMAKE_SOURCE_DIR}/${protoPath}) - else() - set(path ${WAYLAND_PROTOCOLS_DIR}/${protoPath}) - endif() + if(external) + set(path ${CMAKE_SOURCE_DIR}/${protoPath}) + else() + set(path ${WAYLAND_PROTOCOLS_DIR}/${protoPath}) + endif() - add_custom_command( - OUTPUT ${CMAKE_SOURCE_DIR}/protocols/${protoName}-protocol.h - COMMAND ${WaylandScanner} server-header ${path} protocols/${protoName}-protocol.h - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - ) - add_custom_command( - OUTPUT ${CMAKE_SOURCE_DIR}/protocols/${protoName}-protocol.c - COMMAND ${WaylandScanner} private-code ${path} protocols/${protoName}-protocol.c - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - ) - target_sources(Hyprland PRIVATE ${CMAKE_SOURCE_DIR}/protocols/${protoName}-protocol.h ${CMAKE_SOURCE_DIR}/protocols/${protoName}-protocol.c) - target_sources(generate-protocol-headers PRIVATE ${CMAKE_SOURCE_DIR}/protocols/${protoName}-protocol.h) + add_custom_command( + OUTPUT ${CMAKE_SOURCE_DIR}/protocols/${protoName}-protocol.h + COMMAND ${WaylandScanner} server-header ${path} + protocols/${protoName}-protocol.h + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) + add_custom_command( + OUTPUT ${CMAKE_SOURCE_DIR}/protocols/${protoName}-protocol.c + COMMAND ${WaylandScanner} private-code ${path} + protocols/${protoName}-protocol.c + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) + target_sources( + Hyprland PRIVATE ${CMAKE_SOURCE_DIR}/protocols/${protoName}-protocol.h + ${CMAKE_SOURCE_DIR}/protocols/${protoName}-protocol.c) + target_sources(generate-protocol-headers + PRIVATE ${CMAKE_SOURCE_DIR}/protocols/${protoName}-protocol.h) endfunction() -function(protocolNew protoPath protoName external) - if (external) - set(path ${CMAKE_SOURCE_DIR}/${protoPath}) - else() - set(path ${WAYLAND_PROTOCOLS_DIR}/${protoPath}) - endif() - add_custom_command( - OUTPUT ${CMAKE_SOURCE_DIR}/protocols/${protoName}.cpp - ${CMAKE_SOURCE_DIR}/protocols/${protoName}.hpp - COMMAND hyprwayland-scanner ${path}/${protoName}.xml ${CMAKE_SOURCE_DIR}/protocols/ - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - ) - target_sources(Hyprland PRIVATE protocols/${protoName}.cpp protocols/${protoName}.hpp) - target_sources(generate-protocol-headers PRIVATE ${CMAKE_SOURCE_DIR}/protocols/${protoName}.hpp) +function(protocolnew protoPath protoName external) + if(external) + set(path ${CMAKE_SOURCE_DIR}/${protoPath}) + else() + set(path ${WAYLAND_PROTOCOLS_DIR}/${protoPath}) + endif() + add_custom_command( + OUTPUT ${CMAKE_SOURCE_DIR}/protocols/${protoName}.cpp + ${CMAKE_SOURCE_DIR}/protocols/${protoName}.hpp + COMMAND hyprwayland-scanner ${path}/${protoName}.xml + ${CMAKE_SOURCE_DIR}/protocols/ + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) + target_sources(Hyprland PRIVATE protocols/${protoName}.cpp + protocols/${protoName}.hpp) + target_sources(generate-protocol-headers + PRIVATE ${CMAKE_SOURCE_DIR}/protocols/${protoName}.hpp) endfunction() function(protocolWayland) - add_custom_command( - OUTPUT ${CMAKE_SOURCE_DIR}/protocols/wayland.cpp - ${CMAKE_SOURCE_DIR}/protocols/wayland.hpp - COMMAND hyprwayland-scanner --wayland-enums ${WAYLAND_SERVER_DIR}/wayland.xml ${CMAKE_SOURCE_DIR}/protocols/ - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - ) - target_sources(Hyprland PRIVATE protocols/wayland.cpp protocols/wayland.hpp) - target_sources(generate-protocol-headers PRIVATE ${CMAKE_SOURCE_DIR}/protocols/wayland.hpp) + add_custom_command( + OUTPUT ${CMAKE_SOURCE_DIR}/protocols/wayland.cpp + ${CMAKE_SOURCE_DIR}/protocols/wayland.hpp + COMMAND hyprwayland-scanner --wayland-enums + ${WAYLAND_SERVER_DIR}/wayland.xml ${CMAKE_SOURCE_DIR}/protocols/ + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) + target_sources(Hyprland PRIVATE protocols/wayland.cpp protocols/wayland.hpp) + target_sources(generate-protocol-headers + PRIVATE ${CMAKE_SOURCE_DIR}/protocols/wayland.hpp) endfunction() -target_link_libraries(Hyprland - OpenGL::EGL - OpenGL::GL - Threads::Threads - libudis86 - uuid -) +target_link_libraries(Hyprland OpenGL::EGL OpenGL::GL Threads::Threads + libudis86 uuid) -protocol("protocols/wlr-screencopy-unstable-v1.xml" "wlr-screencopy-unstable-v1" true) -protocol("subprojects/hyprland-protocols/protocols/hyprland-global-shortcuts-v1.xml" "hyprland-global-shortcuts-v1" true) -protocol("subprojects/hyprland-protocols/protocols/hyprland-toplevel-export-v1.xml" "hyprland-toplevel-export-v1" true) -protocol("unstable/text-input/text-input-unstable-v1.xml" "text-input-unstable-v1" false) +protocol("protocols/wlr-screencopy-unstable-v1.xml" + "wlr-screencopy-unstable-v1" true) +protocol( + "subprojects/hyprland-protocols/protocols/hyprland-global-shortcuts-v1.xml" + "hyprland-global-shortcuts-v1" true) +protocol( + "subprojects/hyprland-protocols/protocols/hyprland-toplevel-export-v1.xml" + "hyprland-toplevel-export-v1" true) +protocol("unstable/text-input/text-input-unstable-v1.xml" + "text-input-unstable-v1" false) -protocolNew("protocols" "wlr-gamma-control-unstable-v1" true) -protocolNew("protocols" "wlr-foreign-toplevel-management-unstable-v1" true) -protocolNew("protocols" "wlr-output-power-management-unstable-v1" true) -protocolNew("protocols" "virtual-keyboard-unstable-v1" true) -protocolNew("protocols" "wlr-virtual-pointer-unstable-v1" true) -protocolNew("protocols" "input-method-unstable-v2" true) -protocolNew("protocols" "wlr-output-management-unstable-v1" true) -protocolNew("protocols" "kde-server-decoration" true) -protocolNew("protocols" "wlr-data-control-unstable-v1" true) -protocolNew("subprojects/hyprland-protocols/protocols" "hyprland-focus-grab-v1" true) -protocolNew("protocols" "wlr-layer-shell-unstable-v1" true) -protocolNew("protocols" "wayland-drm" true) -protocolNew("staging/tearing-control" "tearing-control-v1" false) -protocolNew("staging/fractional-scale" "fractional-scale-v1" false) -protocolNew("unstable/xdg-output" "xdg-output-unstable-v1" false) -protocolNew("staging/cursor-shape" "cursor-shape-v1" false) -protocolNew("unstable/idle-inhibit" "idle-inhibit-unstable-v1" false) -protocolNew("unstable/relative-pointer" "relative-pointer-unstable-v1" false) -protocolNew("unstable/xdg-decoration" "xdg-decoration-unstable-v1" false) -protocolNew("staging/alpha-modifier" "alpha-modifier-v1" false) -protocolNew("staging/ext-foreign-toplevel-list" "ext-foreign-toplevel-list-v1" false) -protocolNew("unstable/pointer-gestures" "pointer-gestures-unstable-v1" false) -protocolNew("unstable/keyboard-shortcuts-inhibit" "keyboard-shortcuts-inhibit-unstable-v1" false) -protocolNew("unstable/text-input" "text-input-unstable-v3" false) -protocolNew("unstable/pointer-constraints" "pointer-constraints-unstable-v1" false) -protocolNew("staging/xdg-activation" "xdg-activation-v1" false) -protocolNew("staging/ext-idle-notify" "ext-idle-notify-v1" false) -protocolNew("staging/ext-session-lock" "ext-session-lock-v1" false) -protocolNew("stable/tablet" "tablet-v2" false) -protocolNew("stable/presentation-time" "presentation-time" false) -protocolNew("stable/xdg-shell" "xdg-shell" false) -protocolNew("unstable/primary-selection" "primary-selection-unstable-v1" false) -protocolNew("staging/xwayland-shell" "xwayland-shell-v1" false) -protocolNew("stable/viewporter" "viewporter" false) -protocolNew("stable/linux-dmabuf" "linux-dmabuf-v1" false) -protocolNew("staging/drm-lease" "drm-lease-v1" false) -protocolNew("staging/linux-drm-syncobj" "linux-drm-syncobj-v1" false) +protocolnew("protocols" "wlr-gamma-control-unstable-v1" true) +protocolnew("protocols" "wlr-foreign-toplevel-management-unstable-v1" true) +protocolnew("protocols" "wlr-output-power-management-unstable-v1" true) +protocolnew("protocols" "virtual-keyboard-unstable-v1" true) +protocolnew("protocols" "wlr-virtual-pointer-unstable-v1" true) +protocolnew("protocols" "input-method-unstable-v2" true) +protocolnew("protocols" "wlr-output-management-unstable-v1" true) +protocolnew("protocols" "kde-server-decoration" true) +protocolnew("protocols" "wlr-data-control-unstable-v1" true) +protocolnew("subprojects/hyprland-protocols/protocols" "hyprland-focus-grab-v1" + true) +protocolnew("protocols" "wlr-layer-shell-unstable-v1" true) +protocolnew("protocols" "wayland-drm" true) +protocolnew("staging/tearing-control" "tearing-control-v1" false) +protocolnew("staging/fractional-scale" "fractional-scale-v1" false) +protocolnew("unstable/xdg-output" "xdg-output-unstable-v1" false) +protocolnew("staging/cursor-shape" "cursor-shape-v1" false) +protocolnew("unstable/idle-inhibit" "idle-inhibit-unstable-v1" false) +protocolnew("unstable/relative-pointer" "relative-pointer-unstable-v1" false) +protocolnew("unstable/xdg-decoration" "xdg-decoration-unstable-v1" false) +protocolnew("staging/alpha-modifier" "alpha-modifier-v1" false) +protocolnew("staging/ext-foreign-toplevel-list" "ext-foreign-toplevel-list-v1" + false) +protocolnew("unstable/pointer-gestures" "pointer-gestures-unstable-v1" false) +protocolnew("unstable/keyboard-shortcuts-inhibit" + "keyboard-shortcuts-inhibit-unstable-v1" false) +protocolnew("unstable/text-input" "text-input-unstable-v3" false) +protocolnew("unstable/pointer-constraints" "pointer-constraints-unstable-v1" + false) +protocolnew("staging/xdg-activation" "xdg-activation-v1" false) +protocolnew("staging/ext-idle-notify" "ext-idle-notify-v1" false) +protocolnew("staging/ext-session-lock" "ext-session-lock-v1" false) +protocolnew("stable/tablet" "tablet-v2" false) +protocolnew("stable/presentation-time" "presentation-time" false) +protocolnew("stable/xdg-shell" "xdg-shell" false) +protocolnew("unstable/primary-selection" "primary-selection-unstable-v1" false) +protocolnew("staging/xwayland-shell" "xwayland-shell-v1" false) +protocolnew("stable/viewporter" "viewporter" false) +protocolnew("stable/linux-dmabuf" "linux-dmabuf-v1" false) +protocolnew("staging/drm-lease" "drm-lease-v1" false) +protocolnew("staging/linux-drm-syncobj" "linux-drm-syncobj-v1" false) -protocolWayland() +protocolwayland() # tools add_subdirectory(hyprctl) @@ -306,12 +350,12 @@ add_subdirectory(hyprpm) # binary and symlink install(TARGETS Hyprland) -install(CODE "execute_process( \ +install( + CODE "execute_process( \ COMMAND ${CMAKE_COMMAND} -E create_symlink \ ${CMAKE_INSTALL_FULL_BINDIR}/Hyprland \ ${CMAKE_INSTALL_FULL_BINDIR}/hyprland - )" -) + )") # session file install(FILES ${CMAKE_SOURCE_DIR}/example/hyprland.desktop @@ -319,8 +363,7 @@ install(FILES ${CMAKE_SOURCE_DIR}/example/hyprland.desktop # wallpapers file(GLOB_RECURSE WALLPAPERS "assets/wall*") -install(FILES ${WALLPAPERS} - DESTINATION ${CMAKE_INSTALL_DATADIR}/hyprland) +install(FILES ${WALLPAPERS} DESTINATION ${CMAKE_INSTALL_DATADIR}/hyprland) # default config install(FILES ${CMAKE_SOURCE_DIR}/example/hyprland.conf @@ -332,9 +375,7 @@ install(FILES ${CMAKE_SOURCE_DIR}/assets/hyprland-portals.conf # man pages file(GLOB_RECURSE MANPAGES "docs/*.1") -install(FILES ${MANPAGES} - DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) - +install(FILES ${MANPAGES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) # pkgconfig entry install(FILES ${CMAKE_BINARY_DIR}/hyprland.pc @@ -342,12 +383,16 @@ install(FILES ${CMAKE_BINARY_DIR}/hyprland.pc # protocol headers set(HEADERS_PROTO "${CMAKE_CURRENT_SOURCE_DIR}/protocols") -install(DIRECTORY ${HEADERS_PROTO} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hyprland - FILES_MATCHING PATTERN "*.h*") +install( + DIRECTORY ${HEADERS_PROTO} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hyprland + FILES_MATCHING + PATTERN "*.h*") # hyprland headers set(HEADERS_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src") -install(DIRECTORY ${HEADERS_SRC} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hyprland - FILES_MATCHING PATTERN "*.h*") +install( + DIRECTORY ${HEADERS_SRC} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hyprland + FILES_MATCHING + PATTERN "*.h*")