CMakeLists.txt 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. set(MODULE_NAME "libaudions")
  2. set(MODULE_PREFIX "IAUDIONSINTERFACE_FUNC")
  3. if(RVC_DEBUG_MODE)
  4. set(SPBASE_LIB spbased)
  5. set(RVCCOMM_LIB RVCCommD)
  6. else()
  7. set(SPBASE_LIB spbase)
  8. set(RVCCOMM_LIB RVCComm)
  9. endif(RVC_DEBUG_MODE)
  10. set(${MODULE_PREFIX}_SRCS
  11. iaudionsinterface.h
  12. iaudionsinterface.cpp
  13. libaudions.h
  14. libaudions.cpp
  15. webrtc_ns/src/analog_agc.c
  16. webrtc_ns/src/complex_bit_reverse.c
  17. webrtc_ns/src/complex_fft.c
  18. webrtc_ns/src/copy_set_operations.c
  19. webrtc_ns/src/cross_correlation.c
  20. webrtc_ns/src/digital_agc.c
  21. webrtc_ns/src/division_operations.c
  22. webrtc_ns/src/dot_product_with_scale.c
  23. webrtc_ns/src/downsample_fast.c
  24. webrtc_ns/src/energy.c
  25. webrtc_ns/src/fft4g.c
  26. webrtc_ns/src/get_scaling_square.c
  27. webrtc_ns/src/min_max_operations.c
  28. webrtc_ns/src/noise_suppression.c
  29. webrtc_ns/src/noise_suppression_x.c
  30. webrtc_ns/src/ns_core.c
  31. webrtc_ns/src/nsx_core.c
  32. webrtc_ns/src/nsx_core_c.c
  33. webrtc_ns/src/nsx_core_neon_offsets.c
  34. webrtc_ns/src/real_fft.c
  35. webrtc_ns/src/resample.c
  36. webrtc_ns/src/resample_48khz.c
  37. webrtc_ns/src/resample_by_2.c
  38. webrtc_ns/src/resample_by_2_internal.c
  39. webrtc_ns/src/resample_by_2_mips.c
  40. webrtc_ns/src/resample_fractional.c
  41. webrtc_ns/src/ring_buffer.c
  42. webrtc_ns/src/spl_init.c
  43. webrtc_ns/src/spl_sqrt.c
  44. webrtc_ns/src/spl_sqrt_floor.c
  45. webrtc_ns/src/splitting_filter.c
  46. webrtc_ns/src/vector_scaling_operations.c
  47. )
  48. add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
  49. target_include_directories(${MODULE_NAME} PRIVATE
  50. "${CONAN_RVCFRAMEWORK_ROOT}/include"
  51. ${RVC_COMMON_INCLUDE_DIR}
  52. webrtc_ns/include
  53. )
  54. target_link_directories(${MODULE_NAME} PRIVATE
  55. ${CONAN_LIB_DIRS_RVCFRAMEWORK}
  56. )
  57. set(${MODULE_PREFIX}_LIBS PRIVATE
  58. ${SPBASE_LIB}
  59. ${TOOLKIT_LIB}
  60. ${RVCCOMM_LIB}
  61. )
  62. target_compile_definitions(${MODULE_NAME} PUBLIC "IAUDIONSINTERFACE_API")
  63. target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS})
  64. if(MSVC)
  65. install(TARGETS ${MODULE_NAME}
  66. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  67. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  68. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  69. )
  70. else()
  71. install(TARGETS ${MODULE_NAME}
  72. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  73. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  74. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  75. COMPONENT libraries)
  76. endif(MSVC)
  77. # 设置要依赖拷贝的第三方库
  78. if(MSVC)
  79. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} PARENT_SCOPE)
  80. else()
  81. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_LIB_DIRS} PARENT_SCOPE)
  82. ENDIF(MSVC)