CMakeLists.txt 3.5 KB

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