CMakeLists.txt 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. set(MODULE_NAME "libpublicFun")
  2. set(MODULE_PREFIX "LIB_PUBLIC_FUNC")
  3. set(${MODULE_PREFIX}_SRCS
  4. publicExport.h
  5. publicFunExport.cpp
  6. publicFunExport.h
  7. portCheck.cpp
  8. ${ThirdPartyHeadRoot}/CJson/cJSON.c
  9. exLog/log.h
  10. exLog/log.cpp
  11. portCheck.cpp
  12. )
  13. MESSAGE( STATUS "BOOST_ROOT = ${CONAN_BOOST_ROOT}")
  14. set(BOOST_ROOT ${CONAN_BOOST_ROOT})
  15. set(Boost_DEBUG ON)
  16. set(Boost_USE_STATIC_LIBS ON)
  17. if (MSVC)
  18. else()
  19. set(Boost_NO_SYSTEM_PATHS ON)
  20. set(Boost_USE_MULTITHREADED ON)
  21. set(Boost_USE_STATIC_RUNTIME ON)
  22. #add_definitions(-DBOOST_STACKTRACE_LINK)
  23. #add_definitions(-DBOOST_STACKTRACE_USE_ADDR2LINE)
  24. add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
  25. endif()
  26. find_package(Boost COMPONENTS log REQUIRED)
  27. if(Boost_FOUND)
  28. include_directories(${Boost_INCLUDE_DIRS})
  29. MESSAGE( STATUS "Boost_INCLUDE_DIRS = ${Boost_INCLUDE_DIRS}")
  30. MESSAGE( STATUS "Boost_LIBRARIES = ${Boost_LIBRARIES}")
  31. MESSAGE( STATUS "Boost_LIB_VERSION = ${Boost_LIB_VERSION}")
  32. endif()
  33. add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
  34. # 依赖libscreencodec、acmstrdec、acmstrenc
  35. target_include_directories(${MODULE_NAME} PRIVATE
  36. ${RVC_COMMON_INCLUDE_DIR}
  37. ${THIRD_PARTY_BASE_DIR}/Include/CJson
  38. )
  39. target_compile_definitions(${MODULE_NAME} PUBLIC "LIBPUBLIC_EXPORTS")
  40. target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_BOOST})
  41. # 添加需要依赖的其他共享库(包括系统库)
  42. target_link_libraries(${MODULE_NAME} CONAN_PKG::OpenSSL ${Boost_LIBRARIES})
  43. if(MSVC)
  44. install(TARGETS ${MODULE_NAME}
  45. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  46. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  47. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  48. )
  49. else(MSVC)
  50. install(TARGETS ${MODULE_NAME}
  51. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  52. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  53. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  54. COMPONENT libraries)
  55. endif(MSVC)
  56. if(BUILD_TESTING)
  57. add_subdirectory(test)
  58. endif(BUILD_TESTING)
  59. set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "other/")