CMakeLists.txt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. cmake_minimum_required(VERSION 3.10)
  2. set(this_exe PlayerGL)
  3. #包含源文件
  4. file(GLOB LOCAL_SRC
  5. ${CMAKE_CURRENT_SOURCE_DIR}/*.qrc
  6. ${CMAKE_CURRENT_SOURCE_DIR}/*.rc
  7. ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
  8. ${CMAKE_CURRENT_SOURCE_DIR}/*.ui
  9. # ${CMAKE_CURRENT_SOURCE_DIR}/OpenGLWidgetAPI/*.cpp
  10. # ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayer/*.cpp
  11. # ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayerAPI/*.cpp
  12. ${CMAKE_SOURCE_DIR}/External/module/Logs/*.cpp
  13. ${CMAKE_SOURCE_DIR}/External/module/ThreadPool/*.cpp
  14. ${VideoPlayer_SOURCE_DIR}/*.cpp
  15. )
  16. # 生成可执行程序
  17. add_executable(${this_exe}
  18. # WIN32
  19. ${GLOBAL_SRC}
  20. ${LOCAL_SRC}
  21. )
  22. # set_target_properties(${this_exe} PROPERTIES
  23. # )
  24. #添加头文件
  25. target_include_directories(${this_exe} PRIVATE
  26. ${CMAKE_CURRENT_SOURCE_DIR}
  27. # ${CMAKE_CURRENT_SOURCE_DIR}/OpenGLWidgetAPI
  28. # ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayer
  29. # ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayerAPI
  30. ${CMAKE_SOURCE_DIR}/External/common
  31. ${CMAKE_SOURCE_DIR}/External/module
  32. ${CMAKE_SOURCE_DIR}/External/module/ThreadPool
  33. ${CMAKE_SOURCE_DIR}/External/module/RingQueue
  34. ${spdlog_INCLUDE_DIR}
  35. ${FFMPEG_INCLUDE_DIR}
  36. ${VideoPlayer_INCLUDE_DIR}
  37. )
  38. target_link_libraries(${this_exe} PRIVATE
  39. Qt${QT_VERSION_MAJOR}::Widgets
  40. Qt${QT_VERSION_MAJOR}::Core
  41. Qt${QT_VERSION_MAJOR}::Network
  42. # Qt${QT_VERSION_MAJOR}::Gui
  43. )
  44. target_link_libraries(${this_exe} PRIVATE
  45. ${FFMPEG_LIBRARY}
  46. ${spdlog_LIBRARY}
  47. )
  48. if(QT_VERSION_MAJOR EQUAL 5)
  49. target_link_libraries(${this_exe} PRIVATE
  50. Qt5::OpenGL
  51. )
  52. elseif(QT_VERSION_MAJOR EQUAL 6)
  53. target_link_libraries(${this_exe} PRIVATE
  54. Qt6::OpenGLWidgets
  55. )
  56. endif(QT_VERSION_MAJOR EQUAL 5)
  57. if(CMAKE_SYSTEM_NAME MATCHES "Windows")
  58. target_link_libraries(${this_exe} PRIVATE
  59. opengl32
  60. )
  61. elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
  62. target_link_libraries(${this_exe} PRIVATE
  63. GL
  64. )
  65. endif()
  66. # if(CMAKE_CXX_COMPILER_VERSION LESS 9.0)
  67. # target_link_libraries(${this_exe} PRIVATE
  68. # stdc++fs
  69. # )
  70. # endif()
  71. # target_link_libraries(${this_exe} PRIVATE
  72. # GL
  73. # GUL
  74. # )
  75. # message(STATUS "CURL_LIBRARY: ${CURL_LIBRARY}")
  76. # if(CMAKE_CXX_COMPILER_ID MATCHES MSVC)
  77. # target_link_libraries(${this_exe} PRIVATE
  78. # # debug spdlogd.lib
  79. # # optimized spdlog.lib
  80. # )
  81. # elseif(CMAKE_CXX_COMPILER_ID MATCHES GNU)
  82. # target_link_libraries(${this_exe} PRIVATE
  83. # # debug
  84. # # optimized ${SM_DLL}
  85. # )
  86. # endif()