#国密加解密库 message(STATUS "***** Find FFMEPG Library *****") #寻找头文件 # find_path(FFMPEG_INCLUDE_DIR # NAMES libavformat/avformat.h # PATHS ${CMAKE_CURRENT_LIST_DIR}/include # NO_DEFAULT_PATH # ) unset(FFMPEG_INCLUDE_DIR) unset(FFMPEG_LIBRARY) unset(VERSION) #查找库文件,需要判断操作系统,位数 if(CMAKE_SYSTEM_NAME MATCHES "Windows") if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(VERSION n5.1.6) list(APPEND FFMPEG_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/include) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libavcodec.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libavdevice.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libavfilter.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libavformat.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libavutil.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libswresample.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libswscale.dll.a) elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) # message(STATUS "Not support 32bit GNU Compiler") set(VERSION n4.4) list(APPEND FFMPEG_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n4.4-win32/include) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n4.4-win32/lib/libavcodec.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n4.4-win32/lib/libavdevice.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n4.4-win32/lib/libavfilter.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n4.4-win32/lib/libavformat.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n4.4-win32/lib/libavutil.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n4.4-win32/lib/libswresample.dll.a) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n4.4-win32/lib/libswscale.dll.a) endif() elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avcodec.lib) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avdevice.lib) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avfilter.lib) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avformat.lib) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avutil.lib) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/swresample.lib) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/swscale.lib) endif() #添加Linux版本 elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") set(VERSION 4.4.5) list(APPEND FFMPEG_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/include) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavcodec.so) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavdevice.so) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavfilter.so) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavformat.so) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavutil.so) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libswresample.so) list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libswscale.so) endif() #设置查找到后的变量 if(FFMPEG_INCLUDE_DIR AND FFMPEG_LIBRARY) set(FFMPEG_FOUND TRUE) set(FFMPEG_VERSION ${VERSION}) message(STATUS "include : FFMPEG_INCLUDE_DIR") message(STATUS "Library : FFMPEG_LIBRARY") else() set(FFMPEG_FOUND FALSE) endif() message(STATUS "---------------------------------")