|
|
|
@ -23,6 +23,23 @@ HunterGate( |
|
|
|
|
LOCAL |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
macro(hunter_add_package_safe) |
|
|
|
|
set(pkg_temp_backup_libdir "$ENV{PKG_CONFIG_LIBDIR}") |
|
|
|
|
set(pkg_temp_backup_path "$ENV{PKG_CONFIG_PATH}") |
|
|
|
|
hunter_add_package(${ARGV}) |
|
|
|
|
if("${pkg_temp_backup_path}" STREQUAL "") |
|
|
|
|
unset(ENV{PKG_CONFIG_PATH}) |
|
|
|
|
else() |
|
|
|
|
set(ENV{PKG_CONFIG_PATH} "${pkg_temp_backup_path}") |
|
|
|
|
endif() |
|
|
|
|
if("${pkg_temp_backup_libdir}" STREQUAL "") |
|
|
|
|
unset(ENV{PKG_CONFIG_LIBDIR}) |
|
|
|
|
else() |
|
|
|
|
set(ENV{PKG_CONFIG_LIBDIR} "${pkg_temp_backup_libdir}") |
|
|
|
|
endif() |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
endmacro() |
|
|
|
|
|
|
|
|
|
option(USE_BUNDLED_SPDLOG "Use the bundled version of spdlog." ${HUNTER_ENABLED}) |
|
|
|
|
option(USE_BUNDLED_OLM "Use the bundled version of libolm." ${HUNTER_ENABLED}) |
|
|
|
|
option(USE_BUNDLED_GTEST "Use the bundled version of Google Test." ${HUNTER_ENABLED}) |
|
|
|
@ -120,10 +137,16 @@ endif() |
|
|
|
|
# |
|
|
|
|
## Need to repeat all libevent deps?!? |
|
|
|
|
if (USE_BUNDLED_LIBEVENT) |
|
|
|
|
hunter_add_package(Libevent) |
|
|
|
|
hunter_add_package_safe(Libevent) |
|
|
|
|
find_package(Libevent CONFIG REQUIRED) |
|
|
|
|
else() |
|
|
|
|
find_package(PkgConfig REQUIRED) |
|
|
|
|
if (HUNTER_ENABLED) |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_LIBDIR}") |
|
|
|
|
set(ENV{PKG_CONFIG_LIBDIR} "${pkg_temp_backup}") |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
endif() |
|
|
|
|
pkg_check_modules(libevent_core REQUIRED IMPORTED_TARGET libevent_core) |
|
|
|
|
if (WIN32) |
|
|
|
|
pkg_check_modules(libevent_windows REQUIRED IMPORTED_TARGET libevent_windows) |
|
|
|
@ -135,16 +158,22 @@ endif() |
|
|
|
|
|
|
|
|
|
# curl |
|
|
|
|
if (USE_BUNDLED_LIBCURL) |
|
|
|
|
hunter_add_package(CURL) |
|
|
|
|
hunter_add_package_safe(CURL) |
|
|
|
|
find_package(CURL CONFIG REQUIRED) |
|
|
|
|
else() |
|
|
|
|
find_package(PkgConfig REQUIRED) |
|
|
|
|
if (HUNTER_ENABLED) |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_LIBDIR}") |
|
|
|
|
set(ENV{PKG_CONFIG_LIBDIR} "${pkg_temp_backup}") |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
endif() |
|
|
|
|
pkg_check_modules(libcurl REQUIRED IMPORTED_TARGET libcurl) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
# spdlog |
|
|
|
|
if(USE_BUNDLED_SPDLOG) |
|
|
|
|
hunter_add_package(spdlog) |
|
|
|
|
hunter_add_package_safe(spdlog) |
|
|
|
|
endif() |
|
|
|
|
find_package(spdlog 1.0.0 CONFIG REQUIRED) |
|
|
|
|
|
|
|
|
@ -153,7 +182,7 @@ find_package(spdlog 1.0.0 CONFIG REQUIRED) |
|
|
|
|
# |
|
|
|
|
#include(LMDB) |
|
|
|
|
if(USE_BUNDLED_LMDB) |
|
|
|
|
hunter_add_package(lmdb) |
|
|
|
|
hunter_add_package_safe(lmdb) |
|
|
|
|
find_package(liblmdb CONFIG REQUIRED) |
|
|
|
|
|
|
|
|
|
target_include_directories(liblmdb::lmdb INTERFACE |
|
|
|
@ -170,6 +199,12 @@ find_package(Qt5QuickCompiler) |
|
|
|
|
find_package(Qt5DBus) |
|
|
|
|
|
|
|
|
|
if (USE_BUNDLED_QTKEYCHAIN) |
|
|
|
|
if (HUNTER_ENABLED) |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_LIBDIR}") |
|
|
|
|
set(ENV{PKG_CONFIG_LIBDIR} "${pkg_temp_backup}") |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
endif() |
|
|
|
|
include(FetchContent) |
|
|
|
|
FetchContent_Declare( |
|
|
|
|
qt5keychain |
|
|
|
@ -380,7 +415,7 @@ include(FeatureSummary) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(USE_BUNDLED_OPENSSL) |
|
|
|
|
hunter_add_package(OpenSSL) |
|
|
|
|
hunter_add_package_safe(OpenSSL) |
|
|
|
|
endif() |
|
|
|
|
find_package(OpenSSL 1.1.0 REQUIRED) |
|
|
|
|
if(USE_BUNDLED_MTXCLIENT) |
|
|
|
@ -414,7 +449,7 @@ else() |
|
|
|
|
) |
|
|
|
|
endif() |
|
|
|
|
if(USE_BUNDLED_SPDLOG) |
|
|
|
|
hunter_add_package(spdlog) |
|
|
|
|
hunter_add_package_safe(spdlog) |
|
|
|
|
endif() |
|
|
|
|
find_package(spdlog 1.0.0 CONFIG REQUIRED) |
|
|
|
|
|
|
|
|
@ -437,7 +472,7 @@ else() |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(USE_BUNDLED_JSON) |
|
|
|
|
hunter_add_package(nlohmann_json) |
|
|
|
|
hunter_add_package_safe(nlohmann_json) |
|
|
|
|
endif() |
|
|
|
|
find_package(nlohmann_json 3.2.0) |
|
|
|
|
set_package_properties(nlohmann_json PROPERTIES |
|
|
|
@ -474,8 +509,15 @@ else() |
|
|
|
|
add_library(lmdbxx::lmdbxx ALIAS lmdbxx) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if (HUNTER_ENABLED) |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_LIBDIR}") |
|
|
|
|
set(ENV{PKG_CONFIG_LIBDIR} "${pkg_temp_backup}") |
|
|
|
|
unset(ENV{PKG_CONFIG_LIBDIR}) |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
endif() |
|
|
|
|
include(FindPkgConfig) |
|
|
|
|
pkg_check_modules(GSTREAMER IMPORTED_TARGET gstreamer-sdp-1.0>=1.18 gstreamer-webrtc-1.0>=1.18) |
|
|
|
|
pkg_check_modules(GSTREAMER NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH IMPORTED_TARGET gstreamer-sdp-1.0>=1.18 gstreamer-webrtc-1.0>=1.18) |
|
|
|
|
if (TARGET PkgConfig::GSTREAMER) |
|
|
|
|
add_feature_info(voip ON "GStreamer found. Call support is enabled automatically.") |
|
|
|
|
pkg_check_modules(XCB IMPORTED_TARGET xcb xcb-ewmh) |
|
|
|
@ -700,6 +742,12 @@ elseif(coeurl_DIR) |
|
|
|
|
target_link_libraries(nheko PUBLIC coeurl::coeurl) |
|
|
|
|
else() |
|
|
|
|
find_package(PkgConfig REQUIRED) |
|
|
|
|
if (HUNTER_ENABLED) |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_LIBDIR}") |
|
|
|
|
set(ENV{PKG_CONFIG_LIBDIR} "${pkg_temp_backup}") |
|
|
|
|
message("pkg_conf_path: '$ENV{PKG_CONFIG_PATH}', pkg_conf_libdir: '$ENV{PKG_CONFIG_LIBDIR}'") |
|
|
|
|
endif() |
|
|
|
|
pkg_check_modules(coeurl REQUIRED IMPORTED_TARGET coeurl) |
|
|
|
|
target_link_libraries(nheko PUBLIC PkgConfig::coeurl) |
|
|
|
|
endif() |
|
|
|
|