12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #国密加解密库
- 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 "---------------------------------")
|