CMakeLists.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. exLog/skyeyeLog.h
  12. exLog/skyeyeLog.cpp
  13. portCheck.cpp
  14. ${CMAKE_SOURCE_DIR}/ThirdParty/Include/uuid4/uuid4.cpp
  15. )
  16. MESSAGE( STATUS "BOOST_ROOT = ${CONAN_BOOST_ROOT}")
  17. set(BOOST_ROOT ${CONAN_BOOST_ROOT})
  18. set(Boost_DEBUG ON)
  19. set(Boost_USE_STATIC_LIBS ON)
  20. if (MSVC)
  21. else()
  22. set(Boost_NO_SYSTEM_PATHS ON)
  23. set(Boost_USE_MULTITHREADED ON)
  24. set(Boost_USE_STATIC_RUNTIME ON)
  25. #add_definitions(-DBOOST_STACKTRACE_LINK)
  26. #add_definitions(-DBOOST_STACKTRACE_USE_ADDR2LINE)
  27. add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
  28. endif()
  29. find_package(Boost COMPONENTS log REQUIRED)
  30. if(Boost_FOUND)
  31. include_directories(${Boost_INCLUDE_DIRS})
  32. MESSAGE( STATUS "Boost_INCLUDE_DIRS = ${Boost_INCLUDE_DIRS}")
  33. MESSAGE( STATUS "Boost_LIBRARIES = ${Boost_LIBRARIES}")
  34. MESSAGE( STATUS "Boost_LIB_VERSION = ${Boost_LIB_VERSION}")
  35. endif()
  36. add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
  37. #set(CMAKE_CXX_FLAGS "${CMAK_CXX_FLAGS} -g3")
  38. # 依赖libscreencodec、acmstrdec、acmstrenc
  39. target_include_directories(${MODULE_NAME} PRIVATE
  40. ${RVC_COMMON_INCLUDE_DIR}
  41. ${RVC_WINPR_INCLUDE_DIR}
  42. ${THIRD_PARTY_BASE_DIR}/Include/CJson
  43. ${OTHER_LIB_BASE_DIR}/libRestfulFunc
  44. ${CONAN_INCLUDE_DIRS_JSONCPP}
  45. ${CMAKE_SOURCE_DIR}/ThirdParty/Include/uuid4
  46. )
  47. target_compile_definitions(${MODULE_NAME} PUBLIC "LIBPUBLIC_EXPORTS")
  48. add_definitions(-DPUBLIC_EXPORTS)
  49. target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_BOOST} ${CONAN_LIB_DIRS_JSONCPP})
  50. # 添加需要依赖的其他共享库(包括系统库)
  51. target_link_libraries(${MODULE_NAME} CONAN_PKG::OpenSSL ${Boost_LIBRARIES} RestfulFunc ${CONAN_PKG_LIBS_JSONCPP})
  52. deploy_others(${MODULE_PREFIX} ${MODULE_NAME})
  53. if(BUILD_TESTING)
  54. add_subdirectory(test)
  55. endif(BUILD_TESTING)