| | |
| | | set(CMAKE_BUILD_TYPE "Release") |
| | | endif() |
| | | |
| | | set(CMAKE_CXX_FLAGS "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic ${CMAKE_CXX_FLAGS}") |
| | | set(CMAKE_C_FLAGS "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic ${CMAKE_C_FLAGS}") |
| | | option(GB28181 "help string describing GB28181" ON) |
| | | option(ARM "help string describing ARM" OFF) |
| | | |
| | | if (GB28181) |
| | | set(EXTRA_FLAGS -DGB28181) |
| | | else() |
| | | set(EXTRA_FLAGS) |
| | | endif() |
| | | |
| | | set(CMAKE_CXX_FLAGS "-DLIB_CFFMPEG ${EXTRA_FLAGS} -fPIC -Wl,-Bsymbolic ${CMAKE_CXX_FLAGS}") |
| | | set(CMAKE_C_FLAGS "-DLIB_CFFMPEG ${EXTRA_FLAGS} -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}") |
| | |
| | | ${CMAKE_SOURCE_DIR}/csrc/thirdparty/whereami |
| | | ${CMAKE_SOURCE_DIR}/csrc/thirdparty/ffmpeg/include |
| | | ${CMAKE_SOURCE_DIR}/csrc/thirdparty/gb28181/include |
| | | ${CMAKE_SOURCE_DIR}/csrc/gpu-conv |
| | | ) |
| | | |
| | | if (GB28181) |
| | | link_directories(${CMAKE_SOURCE_DIR}/csrc/thirdparty/gb28181/lib) |
| | | set(LIBGB rtspclient StreamParse) |
| | | else() |
| | | set(LIBGB) |
| | | endif() |
| | | |
| | | set(CMAKE_LIBRARY_PATH ${CMAKE_SOURCE_DIR}/csrc/thirdparty/ffmpeg/lib ${CMAKE_LIBRARY_PATH}) |
| | | if (ARM) |
| | | set(FFMPEG_PATH ${CMAKE_SOURCE_DIR}/csrc/thirdparty/arm-ffmpeg/lib) |
| | | else() |
| | | set(FFMPEG_PATH ${CMAKE_SOURCE_DIR}/csrc/thirdparty/ffmpeg/lib) |
| | | endif() |
| | | |
| | | set(CMAKE_LIBRARY_PATH ${FFMPEG_PATH} ${CMAKE_LIBRARY_PATH}) |
| | | find_library(avutil NAMES libavutil.a ) |
| | | find_library(avformat NAMES libavformat.a ) |
| | | find_library(avcodec NAMES libavcodec.a ) |
| | |
| | | find_library(swscale NAMES libswscale.a) |
| | | find_library(265 NAMES libx265.a) |
| | | find_library(264 NAMES libx264.a) |
| | | |
| | | if(ARM) |
| | | find_library(aom NAMES libaom.a) |
| | | find_library(avdevice NAMES libavdevice.a) |
| | | find_library(ogg NAMES libogg.a) |
| | | find_library(fdkaac NAMES libfdk-aac.a) |
| | | find_library(postproc NAMES libpostproc.a) |
| | | find_library(swresample NAMES libswresample.a) |
| | | find_library(theora NAMES libtheora.a) |
| | | find_library(theoradec NAMES libtheoradec.a) |
| | | find_library(theoraenc NAMES libtheoraenc.a) |
| | | find_library(vidstab NAMES libvidstab.a) |
| | | find_library(vorbis NAMES libvorbis.a) |
| | | find_library(vorbisenc NAMES libvorbisenc.a) |
| | | find_library(vorbisfile NAMES libvorbisfile.a) |
| | | find_library(vpx NAMES libvpx.a) |
| | | find_library(xvidcore NAMES libxvidcore.a) |
| | | find_library(mp3 NAMES libmp3lame.a) |
| | | endif() |
| | | |
| | | set(LINK_LIB |
| | | ${avformat} |
| | |
| | | ${265} |
| | | ${264} |
| | | ) |
| | | if(ARM) |
| | | list(APPEND LINK_LIB |
| | | ${aom} |
| | | ${avdevice} |
| | | ${ogg} |
| | | ${fdkaac} |
| | | ${mp3} |
| | | ${postproc} |
| | | ${swresample} |
| | | ${theora} |
| | | ${theoradec} |
| | | ${theoraenc} |
| | | ${vidstab} |
| | | ${vorbis} |
| | | ${vorbisenc} |
| | | ${vorbisfile} |
| | | ${vpx} |
| | | ${xvidcore} |
| | | ) |
| | | endif() |
| | | |
| | | 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} pthread dl rtspclient StreamParse) |
| | | target_link_libraries(${BIN} ${LINK_LIB} ${LIBGB} pthread dl) |