Skip to content

Commit

Permalink
feat(osx): CMakeLists check if build SRT using pkt-config
Browse files Browse the repository at this point in the history
  • Loading branch information
befovy committed Jan 9, 2020
1 parent e0208d6 commit a95deb9
Showing 1 changed file with 24 additions and 19 deletions.
43 changes: 24 additions & 19 deletions desktop/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ add_definitions(-DIJK_DESKTOP_UNI)
set(IJK_DESKTOP_UNI ON)

set(FIJKPLAYER_SOURCE
${CMAKE_CURRENT_LIST_DIR}/sources/ijkplayer_desktop.h
${CMAKE_CURRENT_LIST_DIR}/sources/ijkplayer_desktop.c
${CMAKE_CURRENT_LIST_DIR}/sources/ijkplayer_desktop.h
${CMAKE_CURRENT_LIST_DIR}/sources/ijkplayer_desktop.c
)

add_library(IjkPlayer SHARED ${FIJKPLAYER_SOURCE})
Expand All @@ -106,33 +106,38 @@ if (WIN32)
target_compile_options(IjkPlayer PRIVATE /W3 /we4013)
endif ()

add_library(srt STATIC IMPORTED)
set_target_properties(srt PROPERTIES IMPORTED_LOCATION ${IJK_FFMPAG_BUILD_DIR}/lib/libsrt.a)
find_package(PkgConfig REQUIRED)

add_library(avcodec STATIC IMPORTED)
set_target_properties(avcodec PROPERTIES IMPORTED_LOCATION ${IJK_FFMPAG_BUILD_DIR}/lib/libavcodec.a)

add_library(avformat STATIC IMPORTED)
set_target_properties(avformat PROPERTIES IMPORTED_LOCATION ${IJK_FFMPAG_BUILD_DIR}/lib/libavformat.a)

add_library(avutil STATIC IMPORTED)
set_target_properties(avutil PROPERTIES IMPORTED_LOCATION ${IJK_FFMPAG_BUILD_DIR}/lib/libavutil.a)

add_library(swresample STATIC IMPORTED)
set_target_properties(swresample PROPERTIES IMPORTED_LOCATION ${IJK_FFMPAG_BUILD_DIR}/lib/libswresample.a)

add_library(swscale STATIC IMPORTED)
set_target_properties(swscale PROPERTIES IMPORTED_LOCATION ${IJK_FFMPAG_BUILD_DIR}/lib/libswscale.a)
if (APPLE)
# set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:${IJKROOT_PATH}/osx/contrib/build")
# set(ENV{PKG_CONFIG_PATH} "${IJKROOT_PATH}/osx/contrib/build")
set(CMAKE_PREFIX_PATH ${IJKROOT_PATH}/osx/contrib/build)
pkg_check_modules(OPENSSL_STATIC openssl)
pkg_check_modules(SRT_STATIC REQUIRED srt)
pkg_check_modules(FFMPEG_STATIC REQUIRED libavcodec libavformat libavutil libswresample libswscale)
endif ()

if (WIN32)
add_library(pthread STATIC IMPORTED)
set_target_properties(pthread PROPERTIES IMPORTED_LOCATION ${IJK_DESKTOP_PTHREAD_BUILD_DIR}/pthreadVC2.lib)
target_link_libraries(IjkPlayer pthread)
endif ()

message(STATUS "ffmpeg libs:${FFMPEG_STATIC_LIBRARIES}")

target_link_libraries(IjkPlayer avcodec avformat avutil swresample swscale srt)
target_link_libraries(IjkPlayer ${FFMPEG_STATIC_LIBRARIES})
target_link_directories(IjkPlayer PUBLIC ${FFMPEG_STATIC_LIBRARY_DIRS})
target_link_libraries(IjkPlayer portaudio_static)
if (SRT_FOUND)
message(STATUS "SRT ${SRT_STATIC_LIBRARIES}")
target_link_libraries(IjkPlayer ${SRT_STATIC_LIBRARIES})
target_link_directories(IjkPlayer PUBLIC ${SRT_STATIC_LIBRARY_DIRS})
endif()

if(APPLE AND SRT_STATIC_FOUND)
set_target_properties(IjkPlayer PROPERTIES LINK_FLAGS "-Wl,-no_compact_unwind")
endif()

target_compile_definitions(IjkPlayer PRIVATE -DBUILDING_IJK=1)

if (WIN32)
Expand Down

0 comments on commit a95deb9

Please sign in to comment.