CMakeLists.txt 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. #实体命名
  2. define_module("chromium")
  3. file(GLOB REQUESTS_CPP_SRCS ${ThirdPartyHeadRoot}/requests/requests/*.cpp)
  4. file(GLOB PORTCHECK_SRCS portCheck/*)
  5. file(GLOB GUITASK_SRCS guitask/*)
  6. MESSAGE( STATUS "REQUESTS_CPP_SRCS = ${REQUESTS_CPP_SRCS}")
  7. #整个实体加载的文件
  8. set(${MODULE_PREFIX}_SRCS
  9. baseEx.cpp
  10. baseEx.h
  11. BufferOperation.h
  12. Chromium_client_g.h
  13. Chromium_def_g.h
  14. Chromium_msg_g.h
  15. Chromium_server_g.h
  16. ChromiumFSM.cpp
  17. ChromiumFSM.h
  18. CMessage.cpp
  19. CMessage.h
  20. CMethodInterface.h
  21. CMethodParam.h
  22. CModTools.cpp
  23. CModTools.h
  24. CSocketClient.cpp
  25. CSocketClient.h
  26. CStructureInterpreter.cpp
  27. CStructureInterpreter.h
  28. CTransStruct.h
  29. CWebsocketServer.cpp
  30. CWebsocketServer.h
  31. CWSCodec.cpp
  32. CWSCodec.h
  33. EntitySessionManager.cpp
  34. EntitySessionManager.h
  35. ISocketCallback.h
  36. Job.h
  37. MessageType.h
  38. mod_chromium.cpp
  39. mod_chromium.h
  40. processControl.cpp
  41. processControl.h
  42. ${PORTCHECK_SRCS}
  43. ${GUITASK_SRCS}
  44. ${ThirdPartyHeadRoot}/CJson/cJSON.c
  45. ${ThirdPartyHeadRoot}/modp_b64/modp_b64.cc
  46. ${ThirdPartyHeadRoot}/tinyxml2/tinyxml2.cpp
  47. ${REQUESTS_CPP_SRCS}
  48. ${OTHER_LIB_BASE_DIR}/libpublicFun/publicFunExport.h
  49. )
  50. #设置版本
  51. set(MOD_VERSION_STRING "1.0.0-dev1")
  52. add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING})
  53. #附加包含的目录
  54. #need cefclient
  55. conan_cmake_run(REQUIRES cefclient/4.0@LR04.02_ThirdParty/testing
  56. BASIC_SETUP CMAKE_TARGETS
  57. BUILD missing)
  58. set (TEST_CHROMIMU_DIR ${CONAN_CEFCLIENT_ROOT}/bin PARENT_SCOPE)
  59. #need boost
  60. conan_cmake_run(REQUIRES boost/1.69.0@LR04.02_ThirdParty/testing
  61. BASIC_SETUP CMAKE_TARGETS
  62. BUILD missing)
  63. MESSAGE( STATUS "BOOST_ROOT = ${CONAN_BOOST_ROOT}")
  64. set(BOOST_ROOT ${CONAN_BOOST_ROOT})
  65. set(Boost_DEBUG ON)
  66. set(Boost_USE_STATIC_LIBS ON)
  67. if (MSVC)
  68. else()
  69. set(Boost_NO_SYSTEM_PATHS ON)
  70. set(Boost_USE_MULTITHREADED ON)
  71. set(Boost_USE_STATIC_RUNTIME ON)
  72. add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
  73. endif()
  74. find_package(Boost COMPONENTS atomic chrono date_time filesystem regex system thread REQUIRED)
  75. if(Boost_FOUND)
  76. include_directories(${Boost_INCLUDE_DIRS})
  77. MESSAGE( STATUS "Boost_INCLUDE_DIRS = ${Boost_INCLUDE_DIRS}")
  78. MESSAGE( STATUS "Boost_LIBRARIES = ${Boost_LIBRARIES}")
  79. MESSAGE( STATUS "Boost_LIB_VERSION = ${Boost_LIB_VERSION}")
  80. endif()
  81. #boost end
  82. target_include_directories(${MODULE_NAME} PRIVATE
  83. ${CMAKE_CURRENT_SOURCE_DIR}
  84. ${RVC_FRAMEWORK_INCLUDES_DIR}
  85. ${CONAN_INCLUDE_DIRS_OPENSSL}
  86. ${ThirdPartyHeadRoot}/websocketpp
  87. ${ThirdPartyHeadRoot}/tinyxml2
  88. ${ThirdPartyHeadRoot}/CJson
  89. ${ThirdPartyHeadRoot}/modp_b64
  90. ${ThirdPartyHeadRoot}/requests/include
  91. ${CONAN_RVCFRAMEWORK_ROOT}/include
  92. ${ThirdPartyHeadRoot}/rpcServer
  93. ${ThirdPartyHeadRoot}/msgpack
  94. )
  95. # 添加实体需要依赖的其他共享库(包括系统库):连接器包含的包
  96. target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_BOOST} ${CONAN_LIB_DIRS_OPENSSL})
  97. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} ${CONAN_PKG_LIBS_OPENSSL} )
  98. target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} ${Boost_LIBRARIES} libpublicFun)
  99. deploy_module(${MODULE_PREFIX} ${MODULE_NAME})
  100. # 设置要依赖拷贝的第三方库
  101. # set(MODULE_CONAN_DEP_LIBS ${MODULE_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} ${CONAN_LIB_DIRS} PARENT_SCOPE)