Parent directory

CMakeLists.txt

1460 bytes
 1cmake_minimum_required(VERSION 3.19)
 2project(Hy3 VERSION "0.1")
 3set(CMAKE_CXX_STANDARD 23)
 4add_compile_definitions(WLR_USE_UNSTABLE)
 5add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-value -Wno-missing-field-initializers -Wno-narrowing -Wno-pointer-arith)
 6
 7# nix workaround
 8if(CMAKE_EXPORT_COMPILE_COMMANDS)
 9  set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES
10      ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES})
11endif()
12
13find_package(PkgConfig REQUIRED)
14pkg_check_modules(DEPS REQUIRED hyprland pixman-1 libdrm pango pangocairo libinput wayland-client xkbcommon)
15
16add_library(hy3 SHARED
17	src/main.cpp
18	src/dispatchers.cpp
19	src/Hy3Layout.cpp
20	src/Hy3Node.cpp
21	src/TabGroup.cpp
22	src/shaders.cpp
23	src/render.cpp
24)
25
26configure_file(src/tab.vert ${CMAKE_CURRENT_BINARY_DIR}/src/tab.vert COPYONLY)
27file(READ ${CMAKE_CURRENT_BINARY_DIR}/src/tab.vert SHADER_TAB_VERT)
28
29configure_file(src/tab.frag ${CMAKE_CURRENT_BINARY_DIR}/src/tab.frag COPYONLY)
30file(READ ${CMAKE_CURRENT_BINARY_DIR}/src/tab.frag SHADER_TAB_FRAG)
31
32configure_file(src/shader_content.hpp.in src/shader_content.hpp @ONLY)
33target_include_directories(hy3 PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
34
35option(HY3_NO_VERSION_CHECK "Disable hyprland version check" FALSE)
36
37if (HY3_NO_VERSION_CHECK)
38	target_compile_definitions(hy3 PRIVATE -DHY3_NO_VERSION_CHECK=TRUE)
39endif()
40
41target_include_directories(hy3 PRIVATE ${DEPS_INCLUDE_DIRS})
42
43install(TARGETS hy3 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})