-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
39 lines (32 loc) · 1.07 KB
/
Copy pathCMakeLists.txt
File metadata and controls
39 lines (32 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
cmake_minimum_required(VERSION 3.27)
project(scrolloverview
DESCRIPTION "scrolloverview plugin for Hyprland"
VERSION 0.1
)
set(CMAKE_CXX_STANDARD 23)
file(GLOB_RECURSE SRC "*.cpp")
add_library(scrolloverview SHARED ${SRC})
set(VERSION_HEADER_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
set(VERSION_HEADER "${VERSION_HEADER_DIR}/PluginVersion.hpp")
add_custom_target(scrolloverview-version ALL
COMMAND "${CMAKE_COMMAND}" -E make_directory "${VERSION_HEADER_DIR}"
COMMAND sh "${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate-plugin-version.sh" "${VERSION_HEADER}" "${CMAKE_CURRENT_SOURCE_DIR}"
BYPRODUCTS "${VERSION_HEADER}"
VERBATIM
)
add_dependencies(scrolloverview scrolloverview-version)
target_include_directories(scrolloverview PRIVATE "${VERSION_HEADER_DIR}")
find_package(PkgConfig REQUIRED)
pkg_check_modules(deps REQUIRED IMPORTED_TARGET
hyprland
libdrm
libinput
libudev
lua5.4
pangocairo
pixman-1
wayland-server
xkbcommon
)
target_link_libraries(scrolloverview PRIVATE rt PkgConfig::deps)
install(TARGETS scrolloverview)