CMakeLists.txt 4.0 KB

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