68 lines
1.9 KiB
CMake
68 lines
1.9 KiB
CMake
cmake_minimum_required(VERSION 3.27)
|
|
|
|
project(FFmpegPlayer)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(Projects_ROOT E:/Projects)
|
|
set(Libraries_ROOT ${Projects_ROOT}/Libraries)
|
|
|
|
set(BOOST_ROOT ${Libraries_ROOT}/boost_1_84_0_msvc2022_64bit)
|
|
set(Boost_INCLUDE_DIR ${BOOST_ROOT}/include/boost-1_84)
|
|
option(Boost_USE_STATIC_LIBS OFF)
|
|
add_compile_definitions(
|
|
BOOST_USE_WINAPI_VERSION=BOOST_WINAPI_VERSION_WIN10
|
|
)
|
|
|
|
find_package(Boost REQUIRED COMPONENTS json)
|
|
|
|
set(OpenSSL_ROOT D:/Qt/Tools/OpenSSLv3/Win_x64)
|
|
set(OPENSSL_INCLUDE_DIR ${OpenSSL_ROOT}/include)
|
|
set(OpenSSL_LIBRARY_DIRS ${OpenSSL_ROOT}/lib)
|
|
set(OpenSSL_LIBRARIES libssl libcrypto)
|
|
|
|
|
|
set(FFMPEG_ROOT ${Libraries_ROOT}/ffmpeg-6.1-full_build-shared)
|
|
set(FFMPEG_INCLUDE_DIR ${FFMPEG_ROOT}/include)
|
|
set(FFMPEG_LIBRARY_DIRS ${FFMPEG_ROOT}/lib)
|
|
set(FFMPEG_LIBRARIES avcodec avformat avutil)
|
|
|
|
find_package(Qt6 REQUIRED COMPONENTS Widgets)
|
|
qt_standard_project_setup()
|
|
|
|
|
|
set(LibDataChannel_DIR E:/Projects/Libraries/libdatachannel-0.19.5_msvc2022_64bit_debug/lib/cmake/LibDataChannel)
|
|
find_package(LibDataChannel)
|
|
|
|
add_subdirectory(E:/Projects/Kylin/Universal Universal)
|
|
add_subdirectory(E:/Projects/Kylin/HttpProxy HttpProxy)
|
|
find_package(Boost REQUIRED COMPONENTS json)
|
|
|
|
add_executable(FFmpegPlayer main.cpp
|
|
Demuxer.h Demuxer.cpp
|
|
AudioDecoder.h AudioDecoder.cpp
|
|
VideoDecoder.h VideoDecoder.cpp
|
|
WebRTCPublisher.h WebRTCPublisher.cpp
|
|
Helpers.h Helpers.cpp
|
|
)
|
|
|
|
target_include_directories(FFmpegPlayer
|
|
PRIVATE ${FFMPEG_INCLUDE_DIR}
|
|
)
|
|
|
|
target_link_directories(FFmpegPlayer
|
|
PRIVATE ${FFMPEG_LIBRARY_DIRS}
|
|
PRIVATE ${OpenSSL_LIBRARY_DIRS}
|
|
)
|
|
|
|
target_link_libraries(FFmpegPlayer
|
|
PRIVATE Qt6::Widgets
|
|
PRIVATE Universal
|
|
PRIVATE HttpProxy
|
|
PRIVATE ${FFMPEG_LIBRARIES}
|
|
PRIVATE ${OpenSSL_LIBRARIES}
|
|
PRIVATE LibDataChannel::LibDataChannel
|
|
PRIVATE Boost::json
|
|
)
|