Upstream-status: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1506 Upstream-status: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/2073 diff --git a/CMakeLists.txt b/CMakeLists.txt index e802357f..6d2dccfb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -696,29 +696,50 @@ add_subdirectory(3rdparty/SortFilterProx set(SFPM_OBJECTS $) # md4c -set(BUILD_MD2HTML_EXECUTABLE OFF CACHE BOOL "Don't build md2html executable" FORCE) -set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE) -add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL) -list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src) -list(APPEND CLIENT_INCLUDE_DIRS ${MD4C_SOURCE_DIR}/src) -list(APPEND CLIENT_LIBS md4c-html) +find_package(md4c) +if(md4c_FOUND) + message(STATUS "Using system-provided md4c-html") + list(APPEND CLIENT_LIBS md4c::md4c-html) +else() + message("Using bundled md4c-html library") + set(BUILD_MD2HTML_EXECUTABLE OFF CACHE BOOL "Don't build md2html executable" FORCE) + set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE) + add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL) + list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src) + list(APPEND CLIENT_INCLUDE_DIRS ${MD4C_SOURCE_DIR}/src) + list(APPEND CLIENT_LIBS md4c-html) +endif() # tidy-html5 -set(BUILD_SHARED_LIB OFF CACHE BOOL "Don't build shared tidy library" FORCE) -set(SUPPORT_CONSOLE_APP OFF CACHE BOOL "Don't build tidy console app" FORCE) -add_subdirectory(3rdparty/tidy-html5 EXCLUDE_FROM_ALL) -list(APPEND CLIENT_LINK_DIRS ${tidy_BINARY_DIR}/Release) -list(APPEND CLIENT_INCLUDE_DIRS ${tidy_SOURCE_DIR}/include) -list(APPEND CLIENT_LIBS tidy-static) +pkg_check_modules(tidy IMPORTED_TARGET tidy) +if(tidy_FOUND) + message(STATUS "Using system-provided tidy") + list(APPEND CLIENT_LIBS PkgConfig::tidy) +else() + message("Using bundled tidy library") + set(BUILD_SHARED_LIB OFF CACHE BOOL "Don't build shared tidy library" FORCE) + set(SUPPORT_CONSOLE_APP OFF CACHE BOOL "Don't build tidy console app" FORCE) + add_subdirectory(3rdparty/tidy-html5 EXCLUDE_FROM_ALL) + list(APPEND CLIENT_LINK_DIRS ${tidy_BINARY_DIR}/Release) + list(APPEND CLIENT_INCLUDE_DIRS ${tidy_SOURCE_DIR}/include) + list(APPEND CLIENT_LIBS tidy-static) +endif() # ZXing-cpp configuration -set(BUILD_EXAMPLES OFF CACHE BOOL "") -set(BUILD_BLACKBOX_TESTS OFF CACHE BOOL "") -add_subdirectory(3rdparty/zxing-cpp EXCLUDE_FROM_ALL) +pkg_check_modules(zxing IMPORTED_TARGET zxing) +if(zxing_FOUND) + message(STATUS "Using system-provided ZXing-cpp") + list(APPEND CLIENT_INCLUDE_DIRS ${zxing_INCLUDE_DIRS}) + list(APPEND CLIENT_LIBS PkgConfig::zxing) +else() + set(BUILD_EXAMPLES OFF CACHE BOOL "") + set(BUILD_BLACKBOX_TESTS OFF CACHE BOOL "") + add_subdirectory(3rdparty/zxing-cpp EXCLUDE_FROM_ALL) # Add ZXing-cpp to includes and libraries -list(APPEND CLIENT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zxing-cpp/core/src) -list(APPEND CLIENT_LIBS ZXing) + list(APPEND CLIENT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zxing-cpp/core/src) + list(APPEND CLIENT_LIBS ZXing) +endif() # common executable sources qt_add_executable( base-commit: a4300308dc8d03d59f620bb5fed753df5cf31ed9 -- 2.41.0