CMakeLists.txt 2.9 KB

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