#国密加解密库 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) #查找库文件,需要判断操作系统,位数 if(CMAKE_SYSTEM_NAME MATCHES "Windows") list(APPEND FFMPEG_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/include) if(CMAKE_CXX_COMPILER_ID MATCHES GNU) if(CMAKE_SIZEOF_VOID_P EQUAL 8) 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") 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") 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) if(CMAKE_SYSTEM_NAME MATCHES "Windows") set(FFMPEG_VERSION n5.1.6) elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") set(FFMPEG_VERSION 4.4.5) endif() message(STATUS "include : FFMPEG_INCLUDE_DIR") message(STATUS "Library : FFMPEG_LIBRARY") else() set(FFMPEG_FOUND FALSE) endif() message(STATUS "---------------------------------")