cmake_minimum_required(VERSION 3.3)
|
|
set(BIN cffmpeg)
|
|
project(${BIN})
|
|
# set(CMAKE_C_VISIBILITY_PRESET hidden)
|
# set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
|
set(CMAKE_CXX_FLAGS "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic ${CMAKE_CXX_FLAGS}")
|
set(CMAKE_C_FLAGS "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic ${CMAKE_C_FLAGS}")
|
|
set(CMAKE_CXX_FLAGS_DEBUG "-w -g -O0 -std=c++11 ${CMAKE_CXX_FLAGS}")
|
set(CMAKE_C_FLAGS_DEBUG "-w -g -O0 ${CMAKE_C_FLAGS}")
|
|
set(CMAKE_CXX_FLAGS_RELEASE "-w -g -O2 -std=c++11 ${CMAKE_CXX_FLAGS}")
|
set(CMAKE_C_FLAGS_RELEASE "-w -g -O2 ${CMAKE_C_FLAGS}")
|
|
include_directories(
|
${CMAKE_SOURCE_DIR}
|
${CMAKE_SOURCE_DIR}/csrc/thirdparty
|
${CMAKE_SOURCE_DIR}/csrc/thirdparty/whereami
|
${CMAKE_SOURCE_DIR}/csrc/thirdparty/ffmpeg/include
|
${CMAKE_SOURCE_DIR}/csrc/thirdparty/gb28181/include
|
)
|
|
link_directories(/usr/local/cuda/lib64 ${CMAKE_SOURCE_DIR}/csrc/thirdparty/gb28181/lib)
|
|
set(CMAKE_LIBRARY_PATH ${CMAKE_SOURCE_DIR}/csrc/thirdparty/ffmpeg/lib ${CMAKE_LIBRARY_PATH})
|
find_library(avutil NAMES libavutil.a )
|
find_library(avformat NAMES libavformat.a )
|
find_library(avcodec NAMES libavcodec.a )
|
find_library(avfilter NAMES libavfilter.a)
|
find_library(swscale NAMES libswscale.a)
|
find_library(265 NAMES libx265.a)
|
find_library(264 NAMES libx264.a)
|
|
set(LINK_LIB
|
${avformat}
|
${avcodec}
|
${avfilter}
|
${swscale}
|
${avutil}
|
${265}
|
${264}
|
)
|
|
file(GLOB_RECURSE FFMPEG_LIST ${CMAKE_SOURCE_DIR}/csrc/*.cpp)
|
list(APPEND FFMPEG_LIST ${CMAKE_SOURCE_DIR}/csrc/thirdparty/whereami/whereami.c)
|
|
add_library(${BIN} SHARED ${FFMPEG_LIST})
|
|
target_link_libraries(${BIN} ${LINK_LIB} numa nppig nppicc nppc -lz pthread dl rtspclient StreamParse)
|