CMakeLists.txt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. cmake_minimum_required(VERSION 3.5)
  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}/VideoPlayer/*.cpp
  10. # ${CMAKE_CURRENT_SOURCE_DIR}/demo/*.cpp
  11. ${CMAKE_CURRENT_SOURCE_DIR}/Player/*.cpp
  12. ${CMAKE_SOURCE_DIR}/External/module/Logs/*.cpp
  13. ${CMAKE_SOURCE_DIR}/External/module/ThreadPool/*.cpp
  14. ${CMAKE_SOURCE_DIR}/External/module/VideoPlayer/*.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}/Player
  28. # ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayer
  29. # ${CMAKE_CURRENT_SOURCE_DIR}/demo
  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. ${CMAKE_SOURCE_DIR}/External/module/VideoPlayer
  35. ${CURL_INCLUDE_DIR}
  36. ${FFMPEG_INCLUDE_DIR}
  37. ${spdlog_INCLUDE_DIR}
  38. )
  39. target_link_libraries(${this_exe} PRIVATE
  40. Qt5::Widgets
  41. Qt5::Core
  42. Qt5::Network
  43. # Qt5::Multimedia
  44. # Qt5::Xml
  45. # Qt5::Sql
  46. )
  47. target_link_libraries(${this_exe} PRIVATE
  48. # fmt::fmt
  49. # spdlog::spdlog
  50. ${CURL_LIBRARY}
  51. ${FFMPEG_LIBRARY}
  52. ${spdlog_LIBRARY}
  53. )
  54. find_package(OpenGL REQUIRED)
  55. target_link_libraries(${this_exe} PRIVATE ${OPENGL_LIBRARIES})
  56. if(CMAKE_CXX_COMPILER_VERSION LESS 9.0)
  57. target_link_libraries(${this_exe} PRIVATE
  58. stdc++fs
  59. )
  60. endif()
  61. # target_link_libraries(${this_exe} PRIVATE
  62. # GL
  63. # GUL
  64. # )
  65. # message(STATUS "CURL_LIBRARY: ${CURL_LIBRARY}")
  66. # if(CMAKE_CXX_COMPILER_ID MATCHES MSVC)
  67. # target_link_libraries(${this_exe} PRIVATE
  68. # # debug spdlogd.lib
  69. # # optimized spdlog.lib
  70. # )
  71. # elseif(CMAKE_CXX_COMPILER_ID MATCHES GNU)
  72. # target_link_libraries(${this_exe} PRIVATE
  73. # # debug
  74. # # optimized ${SM_DLL}
  75. # )
  76. # endif()