WebRTC_demo_ffmpeg/CMakeLists.txt
2024-02-21 23:09:39 +08:00

93 lines
2.6 KiB
CMake

cmake_minimum_required(VERSION 3.26)
project(video_call)
set(CMAKE_CXX_STANDARD 17)
add_compile_options(-std=c++17)
# 预编译宏
add_definitions(-DWEBRTC_POSIX -DWEBRTC_MAC)
# -DWEBRTC_LINUX
# 系统库文件
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
pkg_check_modules(JSONCPP REQUIRED jsoncpp)
pkg_check_modules(FFMPEG REQUIRED IMPORTED_TARGET
libavcodec
libswresample
libavdevice
libavfilter
libavformat
libavutil
libpostproc
libswscale
)
#find_package(GTK3 REQUIRED)
#find_package(JSONCPP REQUIRED)
# macos sdk
find_library(COCOA_LIBRARY Cocoa)
find_library(CORE_AUDIO_LIBRARY CoreAudio)
find_library(CORE_VIDEO_LIBRARY CoreVideo)
find_library(AUDIO_TOOLBOX_LIBRARY AudioToolbox)
find_library(AUDIO_TOOLBOX_UNIT AudioUnit)
find_library(CORE_MEDIA_LIBRARY CoreMedia)
find_library(AVFOUNDATION_LIBRARY AVFoundation)
# 系统库文件
include_directories(/opt/homebrew/include)
include_directories(/opt/homebrew/include/cairo)
include_directories(/opt/homebrew/include/gdk-pixbuf-2.0)
include_directories(/opt/homebrew/include/gtk-3.0)
include_directories(/opt/homebrew/include/gtk)
include_directories(/opt/homebrew/include/pango-1.0)
include_directories(/opt/homebrew/include/glib-2.0)
include_directories(/opt/homebrew/include/glib-2.0/glib)
include_directories(/opt/homebrew/include/atk-1.0)
#include_directories(/opt/homebrew/Cellar/ffmpeg/6.1.1_3/include)
#include_directories(${JSONCPP_INCLUDE_DIRS})
include_directories(${GTK3_INCLUDE_DIRS})
# 项目内
include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${CMAKE_SOURCE_DIR}/include/absl)
include_directories(${CMAKE_SOURCE_DIR}/include/webrtc_cxx_sdk)
#include_directories(${CMAKE_SOURCE_DIR}/include/webrtc_cxx_sdk/third_party/ffmpeg)
#include_directories(/Users/dongl/tools/ffmpeg/ffmpeg_build/include)
include_directories(${CMAKE_SOURCE_DIR}/include/webrtc_cxx_sdk/third_party/harfbuzz-ng/src/src)
include_directories(${CMAKE_SOURCE_DIR}/include/webrtc_cxx_sdk/third_party/libyuv/include)
# 打印路径
message( ${GTK3_LIBRARY_DIRS})
message( ${JSONCPP_LIBRARY_DIRS})
message( ${COCOA_LIBRARY})
message( ${CORE_AUDIO_LIBRARY})
message( ${AUDIO_TOOLBOX_LIBRARY})
message( ${AUDIO_TOOLBOX_UNIT})
message( ${CORE_MEDIA_LIBRARY})
message( ${AVFOUNDATION_LIBRARY})
# 链接库
link_directories(${CMAKE_SOURCE_DIR}/lib/arm_macos)
link_directories(/opt/homebrew/lib)
#link_directories(/opt/homebrew/Cellar/ffmpeg/6.1.1_3/lib)
#link_directories(/Users/dongl/tools/ffmpeg/ffmpeg_build/lib)
add_subdirectory(src/client)
add_subdirectory(src/server)
add_subdirectory(src/test)