CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. set(MODULE_NAME "libmediaplayer")
  2. set(MODULE_PREFIX "LIB_MEDIAPLAYER_FUNC")
  3. if(RVC_DEBUG_MODE)
  4. set(SPBASE_LIB spbased)
  5. else()
  6. set(SPBASE_LIB spbase)
  7. endif(RVC_DEBUG_MODE)
  8. set(${MODULE_PREFIX}_SRCS
  9. libmediaplayer.h
  10. libmediaplayer.cpp
  11. player.h
  12. player.cpp
  13. audio.h
  14. audio.cpp
  15. demux.h
  16. demux.cpp
  17. frame.h
  18. frame.cpp
  19. packet.h
  20. packet.cpp
  21. video.h
  22. video.cpp
  23. )
  24. add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
  25. if(WIN32)
  26. conan_cmake_run(REQUIRES ffmpeg/4.1@LR04.02_ThirdParty/testing
  27. BASIC_SETUP CMAKE_TARGETS
  28. BUILD missing)
  29. else(WIN32)
  30. conan_cmake_run(REQUIRES ffmpeg/4.1@LR04.02_ThirdParty/testing
  31. BASIC_SETUP CMAKE_TARGETS
  32. BUILD missing)
  33. endif(WIN32)
  34. if(WIN32)
  35. conan_cmake_run(REQUIRES SDL2/2.0.9@LR04.02_ThirdParty/testing
  36. BASIC_SETUP CMAKE_TARGETS
  37. BUILD missing)
  38. else(WIN32)
  39. conan_cmake_run(REQUIRES SDL2/2.0.9@LR04.02_ThirdParty/testing
  40. BASIC_SETUP CMAKE_TARGETS
  41. BUILD missing)
  42. endif(WIN32)
  43. target_include_directories(${MODULE_NAME} PRIVATE
  44. ${RVC_COMMON_INCLUDE_DIR}
  45. ${CONAN_INCLUDE_DIRS_FFMPEG}
  46. ${CONAN_INCLUDE_DIRS_SDL2}
  47. ${CONAN_RVCFRAMEWORK_ROOT}/include
  48. )
  49. target_link_directories(${MODULE_NAME} PRIVATE
  50. ${CONAN_LIB_DIRS_FFMPEG}
  51. ${CONAN_LIB_DIRS_SDL2}
  52. ${CONAN_LIB_DIRS_RVCFRAMEWORK}
  53. )
  54. target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS} PRIVATE
  55. ${CONAN_LIBS_FFMPEG}
  56. ${CONAN_LIBS_SDL2}
  57. ${SPBASE_LIB}
  58. )
  59. target_compile_definitions(${MODULE_NAME} PUBLIC "LIBMEDIAPLAYER_EXPORTS")
  60. if(MSVC)
  61. install(TARGETS ${MODULE_NAME}
  62. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  63. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  64. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  65. )
  66. else()
  67. install(TARGETS ${MODULE_NAME}
  68. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  69. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  70. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  71. COMPONENT libraries)
  72. endif(MSVC)