From b7a596df9809ef35e29869794f809a9cf09afdd8 Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 19 Jan 2022 16:03:58 +0300 Subject: [PATCH] libvpx: Add external_vpx target. --- external/CMakeLists.txt | 1 + external/ffmpeg/CMakeLists.txt | 2 +- external/vpx/CMakeLists.txt | 48 ++++++++++++++++++++++++++++++++++ external/webrtc/CMakeLists.txt | 3 ++- 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 external/vpx/CMakeLists.txt diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 28eebaf..4abcf3c 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -65,6 +65,7 @@ if (LINUX AND NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION) endif() add_checked_subdirectory(ton) add_checked_subdirectory(variant) +add_checked_subdirectory(vpx) add_checked_subdirectory(webrtc) if (LINUX AND NOT DESKTOP_APP_DISABLE_X11_INTEGRATION) add_checked_subdirectory(xcb) diff --git a/external/ffmpeg/CMakeLists.txt b/external/ffmpeg/CMakeLists.txt index 09e912f..4f30d99 100644 --- a/external/ffmpeg/CMakeLists.txt +++ b/external/ffmpeg/CMakeLists.txt @@ -39,8 +39,8 @@ else() ${ffmpeg_lib_loc}/libswresample/libswresample.a ${ffmpeg_lib_loc}/libswscale/libswscale.a ${ffmpeg_lib_loc}/libavutil/libavutil.a - desktop-app::external_opus $ + $ ) if (LINUX) target_link_static_libraries(external_ffmpeg diff --git a/external/vpx/CMakeLists.txt b/external/vpx/CMakeLists.txt new file mode 100644 index 0000000..5a5d924 --- /dev/null +++ b/external/vpx/CMakeLists.txt @@ -0,0 +1,48 @@ +# This file is part of Desktop App Toolkit, +# a set of libraries for developing nice desktop applications. +# +# For license and copyright information please follow this link: +# https://github.com/desktop-app/legal/blob/master/LEGAL + +if (DESKTOP_APP_USE_PACKAGED) + add_library(external_vpx INTERFACE IMPORTED GLOBAL) + add_library(desktop-app::external_vpx ALIAS external_vpx) + + find_package(PkgConfig REQUIRED) + pkg_check_modules(LIBVPX IMPORTED_TARGET vpx>=1.10.0) + + target_link_libraries(external_vpx INTERFACE PkgConfig::LIBVPX) + return() +endif() + +add_library(external_vpx STATIC IMPORTED GLOBAL) +add_library(desktop-app::external_vpx ALIAS external_vpx) + +if (WIN32) + target_include_directories(external_vpx SYSTEM + INTERFACE + ${libs_loc}/local/include + ) + set(vpx_lib_loc ${libs_loc}/local/lib/Win32) + set_target_properties(external_vpx PROPERTIES + IMPORTED_LOCATION "${vpx_lib_loc}/vpxmt.lib" + IMPORTED_LOCATION_DEBUG "${vpx_lib_loc}/vpxmt.lib" + ) +elseif (APPLE) + target_include_directories(external_vpx SYSTEM + INTERFACE + ${libs_loc}/local/include + ) + set_target_properties(external_vpx PROPERTIES + IMPORTED_LOCATION ${libs_loc}/local/lib/libvpx.a + ) +else() + target_include_directories(external_vpx SYSTEM + INTERFACE + /usr/local/include + ) + find_library(VPX_LIBRARY libvpx.a REQUIRED) + set_target_properties(external_vpx PROPERTIES + IMPORTED_LOCATION "${VPX_LIBRARY}" + ) +endif() diff --git a/external/webrtc/CMakeLists.txt b/external/webrtc/CMakeLists.txt index 343416d..d7442bc 100644 --- a/external/webrtc/CMakeLists.txt +++ b/external/webrtc/CMakeLists.txt @@ -89,7 +89,8 @@ INTERFACE ${webrtc_libs_list} desktop-app::external_openssl desktop-app::external_jpeg - desktop-app::external_opus + $ + $ ) if (WIN32)