summary refs log tree commit diff
diff options
context:
space:
mode:
authorVitaly Zaitsev <vitaly@easycoding.org>2023-02-16 15:26:02 +0100
committerVitaly Zaitsev <vitaly@easycoding.org>2023-02-16 15:26:02 +0100
commit1831819e67ec8077b9e9d3224da848016b2f7357 (patch)
treee0cb1379b29e136a77e2a12cd8bfae3fc9e70618
parentExplicitly set parent for scrollbars to prevent them from showing on some pla... (diff)
downloadnheko-1831819e67ec8077b9e9d3224da848016b2f7357.tar.xz
Added ability to build with packaged version of blurhash.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
-rw-r--r--CMakeLists.txt21
1 files changed, 15 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2aa6faeb..57b6b67a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -63,6 +63,7 @@ option(USE_BUNDLED_LIBEVENT "Use the bundled version of libevent." ${HUNTER_ENAB
 option(USE_BUNDLED_LIBCURL "Use the bundled version of libcurl." ${HUNTER_ENABLED})
 option(USE_BUNDLED_RE2 "Use the bundled version of re2." ${HUNTER_ENABLED})
 option(USE_BUNDLED_CPPHTTPLIB "Use the bundled version of cpp-httplib." ON)
+option(USE_BUNDLED_BLURHASH "Use the bundled version of blurhash." ON)
 
 include(CMakeDependentOption)
 set(VOIP_DEFAULT ON)
@@ -698,12 +699,7 @@ else()
 	endif()
 endif()
 
-target_include_directories(nheko PRIVATE src includes third_party/blurhash)
-set(THIRD_PARTY_SRC_FILES
-	third_party/blurhash/blurhash.cpp
-	third_party/blurhash/blurhash.hpp
-	)
-target_sources(nheko PRIVATE ${THIRD_PARTY_SRC_FILES})
+target_include_directories(nheko PRIVATE src includes)
 
 if (USE_BUNDLED_CPPHTTPLIB)
 	target_include_directories(nheko PRIVATE third_party/cpp-httplib-0.5.12)
@@ -713,6 +709,19 @@ else()
 	target_link_libraries(nheko PRIVATE httplib::httplib)
 endif()
 
+if (USE_BUNDLED_BLURHASH)
+	target_include_directories(nheko PRIVATE third_party/blurhash)
+	set(BLURHASH_SRC_FILES
+		third_party/blurhash/blurhash.cpp
+		third_party/blurhash/blurhash.hpp
+	)
+	target_sources(nheko PRIVATE ${BLURHASH_SRC_FILES})
+else()
+	find_package(PkgConfig REQUIRED)
+	pkg_check_modules(blurhash REQUIRED IMPORTED_TARGET blurhash)
+	target_link_libraries(nheko PRIVATE PkgConfig::blurhash)
+endif()
+
 # Fixup bundled keychain include dirs
 if (USE_BUNDLED_QTKEYCHAIN)
 	target_include_directories(nheko PRIVATE ${qt5keychain_SOURCE_DIR} ${qt5keychain_BINARY_DIR})