CMakeLists.txt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. set(MODULE_NAME "libbizchan")
  2. set(MODULE_PREFIX "LIB_BIZCHAN_FUNC")
  3. set(${MODULE_PREFIX}_SRCS
  4. bizchan.cpp
  5. jpeg2k.c
  6. quicklz.c
  7. quicklz.h
  8. jpeg2k.h
  9. bizchan.h
  10. )
  11. add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
  12. # 依赖openjpeg
  13. conan_cmake_run(REQUIRES openjpeg/2.0.0@LR04.02_ThirdParty/testing
  14. BASIC_SETUP CMAKE_TARGETS
  15. BUILD missing)
  16. # 依赖libscreencodec、acmstrdec、acmstrenc
  17. target_include_directories(${MODULE_NAME} PRIVATE
  18. "${CONAN_RVCFRAMEWORK_ROOT}/include"
  19. ${RVC_COMMON_INCLUDE_DIR}
  20. ${CONAN_INCLUDE_DIRS_OPENJPEG}
  21. ${OTHER_LIB_BASE_DIR}/libscreencodec
  22. ${OTHER_LIB_BASE_DIR}/acmstrdec
  23. ${OTHER_LIB_BASE_DIR}/acmstrenc
  24. ${MODULE_BASE_DIR}/mod_assistantchannel
  25. )
  26. if(ARCH_AARCH64)
  27. target_include_directories(${MODULE_NAME} PRIVATE ${CONAN_INCLUDE_DIRS_OPENJPEG}/openjpeg-2.0)
  28. endif(ARCH_AARCH64)
  29. target_compile_definitions(${MODULE_NAME} PUBLIC "LIBBIZCHAN_EXPORTS")
  30. # 添加需要依赖的其他共享库(包括系统库)
  31. target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_RVCFRAMEWORK} ${CONAN_LIB_DIRS_LIBKYSM} ${CONAN_LIB_DIRS_OPENJPEG})
  32. if(WIN32)
  33. set(${MODULE_PREFIX}_LIBS PRIVATE
  34. ${CONAN_LIBS_RVCFRAMEWORK}
  35. ${CONAN_LIBS_LIBKYSM}
  36. acmstrdec
  37. acmstrenc
  38. libscreencodec
  39. ${CONAN_PKG_LIBS_OPENJPEG}
  40. CONAN_PKG::OpenSSL
  41. ws2_32
  42. )
  43. else()
  44. set(${MODULE_PREFIX}_LIBS PRIVATE
  45. ${CONAN_LIBS_RVCFRAMEWORK}
  46. ${CONAN_LIBS_LIBKYSM}
  47. acmstrdec
  48. acmstrenc
  49. libscreencodec
  50. ${CONAN_PKG_LIBS_OPENJPEG}
  51. CONAN_PKG::OpenSSL
  52. )
  53. endif(WIN32)
  54. target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS})
  55. if(MSVC)
  56. install(TARGETS ${MODULE_NAME}
  57. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  58. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  59. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  60. )
  61. else()
  62. install(TARGETS ${MODULE_NAME}
  63. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  64. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  65. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  66. COMPONENT libraries)
  67. endif(MSVC)
  68. # 设置要依赖拷贝的第三方库
  69. if(MSVC)
  70. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} PARENT_SCOPE)
  71. else()
  72. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_LIB_DIRS} PARENT_SCOPE)
  73. ENDIF(MSVC)