92 lines
2.6 KiB
CMake
92 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(${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.0_1/lib)
|
|
#link_directories(/Users/dongl/tools/ffmpeg/ffmpeg_build/lib)
|
|
|
|
add_subdirectory(src/client)
|
|
add_subdirectory(src/server)
|
|
add_subdirectory(src/test)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|