FindVideoPlayer.cmake 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #使用OpenGL绘制图片
  2. message(STATUS "***** Find VideoPlayer Library *****")
  3. #寻找头文件,需要判断gcc编译器版本
  4. unset(VideoPlayer_INCLUDE_DIR CACHE)
  5. unset(VideoPlayer_SOURCES CACHE)
  6. set(VideoPlayer_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/src)
  7. # set(VideoPlayer_SOURCES ${CMAKE_CURRENT_LIST_DIR}/src/*.cpp)
  8. list(APPEND VideoPlayer_SOURCES
  9. ${CMAKE_CURRENT_LIST_DIR}/src/VideoPlayerAPI.cpp
  10. )
  11. unset(libDebug CACHE)
  12. unset(libRelease CACHE)
  13. unset(VideoPlayer_LIBRARY CACHE)
  14. #查找库文件,需要判断操作系统,位数
  15. if(CMAKE_SYSTEM_NAME MATCHES "Windows")
  16. #GCC编译器
  17. if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
  18. #64位
  19. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  20. #判断Qt版本,是Qt5.15还是5.12
  21. if(QT_VERSION_MAJOR EQUAL 5 AND QT_VERSION_MINOR EQUAL 15)
  22. set(libDebug ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.15.16/libOpenGLWidgetd.dll)
  23. set(libRelease ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.15.16/libOpenGLWidget.dll)
  24. elseif(QT_VERSION_MAJOR EQUAL 5 AND QT_VERSION_MINOR EQUAL 12)
  25. set(libDebug ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.12.12/libOpenGLWidgetd.dll)
  26. set(libRelease ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.12.12/libOpenGLWidget.dll)
  27. endif()
  28. #32位
  29. elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
  30. #判断Qt版本,是Qt5.15还是5.12
  31. if(QT_VERSION_MAJOR EQUAL 5 AND QT_VERSION_MINOR EQUAL 15)
  32. message(STATUS "32位仅支持Qt5.12.12版本")
  33. elseif(QT_VERSION_MAJOR EQUAL 5 AND QT_VERSION_MINOR EQUAL 12)
  34. set(libDebug ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.12.12_32/libOpenGLWidgetd.dll)
  35. set(libRelease ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.12.12_32/libOpenGLWidget.dll)
  36. endif()
  37. endif()
  38. #MSVC编译器
  39. elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
  40. message(STATUS "暂不支持MSVC编译器")
  41. endif()
  42. #添加Linux版本
  43. elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
  44. set(libDebug ${CMAKE_CURRENT_LIST_DIR}/Libs/linux/libOpenGLWidgetd.so)
  45. set(libRelease ${CMAKE_CURRENT_LIST_DIR}/Libs/linux/libOpenGLWidget.so)
  46. #MacOS版本
  47. elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
  48. #MacOS版本
  49. message(STATUS "暂不支持MacOS版本")
  50. endif()
  51. if(CMAKE_BUILD_TYPE MATCHES "Debug")
  52. list(APPEND VideoPlayer_LIBRARY ${libDebug})
  53. else()
  54. list(APPEND VideoPlayer_LIBRARY ${libRelease})
  55. endif()
  56. if(VideoPlayer_INCLUDE_DIR AND VideoPlayer_SOURCES AND VideoPlayer_LIBRARY)
  57. set(VideoPlayer_FOUND TRUE)
  58. set(VideoPlayer_VERSION 1.0.0.0)
  59. message(STATUS "include : VideoPlayer_INCLUDE_DIR")
  60. message(STATUS "source : VideoPlayer_SOURCES")
  61. else()
  62. set(VideoPlayer_FOUND FALSE)
  63. endif()
  64. message(STATUS "VideoPlayer FOUND: ${VideoPlayer_FOUND}")
  65. message(STATUS "VideoPlayer Version: ${VideoPlayer_VERSION}")
  66. message(STATUS "--------------------------------------------------")