FindFFMPEG.cmake 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #国密加解密库
  2. message(STATUS "***** Find FFMEPG Library *****")
  3. #寻找头文件
  4. # find_path(FFMPEG_INCLUDE_DIR
  5. # NAMES libavformat/avformat.h
  6. # PATHS ${CMAKE_CURRENT_LIST_DIR}/include
  7. # NO_DEFAULT_PATH
  8. # )
  9. #查找库文件,需要判断操作系统,位数
  10. if(CMAKE_SYSTEM_NAME MATCHES "Windows")
  11. list(APPEND FFMPEG_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/include)
  12. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  13. unset(FFMPEG_LIBRARY)
  14. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avcodec.lib)
  15. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avdevice.lib)
  16. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avfilter.lib)
  17. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avformat.lib)
  18. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avutil.lib)
  19. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/swresample.lib)
  20. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/swscale.lib)
  21. endif()
  22. #添加Linux版本
  23. elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
  24. list(APPEND FFMPEG_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/include)
  25. unset(FFMPEG_LIBRARY)
  26. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavcodec.so)
  27. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavdevice.so)
  28. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavfilter.so)
  29. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavformat.so)
  30. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavutil.so)
  31. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libswresample.so)
  32. list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libswscale.so)
  33. endif()
  34. #设置查找到后的变量
  35. if(FFMPEG_INCLUDE_DIR AND FFMPEG_LIBRARY)
  36. set(FFMPEG_FOUND TRUE)
  37. if(CMAKE_SYSTEM_NAME MATCHES "Windows")
  38. set(FFMPEG_VERSION n5.1.6)
  39. elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
  40. set(FFMPEG_VERSION 4.4.5)
  41. endif()
  42. message(STATUS "include : FFMPEG_INCLUDE_DIR")
  43. message(STATUS "Library : FFMPEG_LIBRARY")
  44. else()
  45. set(FFMPEG_FOUND FALSE)
  46. endif()
  47. message(STATUS "---------------------------------")