diff --git a/CMakeLists.txt b/CMakeLists.txt index e2939d1dd..23828dbac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,6 +130,20 @@ set(GLES_VERSION "GLES3") find_package(OpenGL REQUIRED COMPONENTS ${GLES_VERSION}) find_package(glslang CONFIG REQUIRED) +find_package(glaze 7...<8 QUIET) +if(NOT glaze_FOUND) + set(GLAZE_VERSION v7.2.0) + message(STATUS "glaze dependency not found, retrieving ${GLAZE_VERSION} with FetchContent") + include(FetchContent) + FetchContent_Declare( + glaze + GIT_REPOSITORY https://github.com/stephenberry/glaze.git + GIT_TAG ${GLAZE_VERSION} + GIT_SHALLOW TRUE + EXCLUDE_FROM_ALL) + FetchContent_MakeAvailable(glaze) +endif() + set(AQUAMARINE_MINIMUM_VERSION 0.9.3) set(HYPRLANG_MINIMUM_VERSION 0.6.7) set(HYPRCURSOR_MINIMUM_VERSION 0.1.7) @@ -294,6 +308,7 @@ target_link_libraries(Hyprland hyprland_lib) target_include_directories(hyprland_lib PUBLIC ${deps_INCLUDE_DIRS} ${LUA_INCLUDE_DIRS}) target_include_directories(Hyprland PUBLIC ${deps_INCLUDE_DIRS} ${LUA_INCLUDE_DIRS}) +target_link_libraries(hyprland_lib PRIVATE glaze::glaze) set(USE_GPROF OFF) diff --git a/hyprpm/CMakeLists.txt b/hyprpm/CMakeLists.txt index d438e3e88..13204ada2 100644 --- a/hyprpm/CMakeLists.txt +++ b/hyprpm/CMakeLists.txt @@ -11,8 +11,10 @@ set(CMAKE_CXX_STANDARD 23) pkg_check_modules(hyprpm_deps REQUIRED IMPORTED_TARGET tomlplusplus hyprutils>=0.7.0) -find_package(glaze 7...<8 QUIET) -if (NOT glaze_FOUND) +if (NOT TARGET glaze::glaze) + find_package(glaze 7...<8 QUIET) +endif() +if (NOT glaze_FOUND AND NOT TARGET glaze::glaze) set(GLAZE_VERSION v7.2.0) message(STATUS "hyprpm: glaze dependency not found, retrieving ${GLAZE_VERSION} with FetchContent") include(FetchContent) diff --git a/start/CMakeLists.txt b/start/CMakeLists.txt index d0c40ceb7..7b21bddc6 100644 --- a/start/CMakeLists.txt +++ b/start/CMakeLists.txt @@ -11,8 +11,10 @@ find_package(PkgConfig REQUIRED) pkg_check_modules(starthyprland_deps REQUIRED IMPORTED_TARGET hyprutils>=0.10.3) -find_package(glaze 7...<8 QUIET) -if (NOT glaze_FOUND) +if (NOT TARGET glaze::glaze) + find_package(glaze 7...<8 QUIET) +endif() +if (NOT glaze_FOUND AND NOT TARGET glaze::glaze) set(GLAZE_VERSION v7.2.0) message(STATUS "start: glaze dependency not found, retrieving ${GLAZE_VERSION} with FetchContent") include(FetchContent)