CMakeLists.txt 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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 GUITASK_SRCS guitask/*)
  7. MESSAGE( STATUS "REQUESTS_CPP_SRCS = ${REQUESTS_CPP_SRCS}")
  8. #整个实体加载的文件
  9. if(MSVC)
  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. 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. MessageType.cpp
  39. mod_chromium.cpp
  40. mod_chromium.h
  41. processControl.cpp
  42. processControl.h
  43. uuid4.h
  44. uuid4.cpp
  45. SystemRun.cpp
  46. ${GUITASK_SRCS}
  47. ${ThirdPartyHeadRoot}/CJson/cJSON.c
  48. ${ThirdPartyHeadRoot}/modp_b64/modp_b64.cc
  49. ${ThirdPartyHeadRoot}/tinyxml2/tinyxml2.cpp
  50. ${OTHER_LIB_BASE_DIR}/libpublicFun/publicFunExport.h
  51. ${OTHER_LIB_BASE_DIR}/libpublicFun/exLog/log.h
  52. )
  53. else()
  54. set(${MODULE_PREFIX}_SRCS
  55. baseEx.cpp
  56. baseEx.h
  57. BufferOperation.h
  58. Chromium_client_g.h
  59. Chromium_def_g.h
  60. Chromium_msg_g.h
  61. Chromium_server_g.h
  62. CMessage.cpp
  63. CMessage.h
  64. CMethodInterface.h
  65. CMethodParam.h
  66. CModTools.cpp
  67. CModTools.h
  68. CSocketClient.cpp
  69. CSocketClient.h
  70. CStructureInterpreter.cpp
  71. CStructureInterpreter.h
  72. CTransStruct.h
  73. CWebsocketServer.cpp
  74. CWebsocketServer.h
  75. CWSCodec.cpp
  76. CWSCodec.h
  77. EntitySessionManager.cpp
  78. EntitySessionManager.h
  79. ISocketCallback.h
  80. Job.h
  81. MessageType.h
  82. MessageType.cpp
  83. mod_chromium.cpp
  84. mod_chromium.h
  85. processControl.cpp
  86. processControl.h
  87. uuid4.h
  88. uuid4.cpp
  89. SystemRun.cpp
  90. ${GUITASK_SRCS}
  91. ${ThirdPartyHeadRoot}/CJson/cJSON.c
  92. ${ThirdPartyHeadRoot}/modp_b64/modp_b64.cc
  93. ${ThirdPartyHeadRoot}/tinyxml2/tinyxml2.cpp
  94. ${REQUESTS_CPP_SRCS}
  95. ${OTHER_LIB_BASE_DIR}/libpublicFun/publicFunExport.h
  96. ${OTHER_LIB_BASE_DIR}/libpublicFun/exLog/log.h
  97. )
  98. endif(MSVC)
  99. #设置版本
  100. set(MOD_VERSION_STRING "1.0.0-dev1")
  101. add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING})
  102. #附加包含的目录
  103. set(TEST_CHROMIMU_DIR ${CONAN_CEFCLIENT_MUTABLE_ROOT}/bin PARENT_SCOPE)
  104. MESSAGE( STATUS "BOOST_ROOT = ${CONAN_BOOST_ROOT}")
  105. set(BOOST_ROOT ${CONAN_BOOST_ROOT})
  106. set(Boost_DEBUG ON)
  107. set(Boost_USE_STATIC_LIBS ON)
  108. if (MSVC)
  109. else()
  110. set(Boost_NO_SYSTEM_PATHS ON)
  111. set(Boost_USE_MULTITHREADED ON)
  112. set(Boost_USE_STATIC_RUNTIME ON)
  113. #add_definitions(-DBOOST_STACKTRACE_LINK)
  114. #add_definitions(-DBOOST_STACKTRACE_USE_ADDR2LINE)
  115. add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
  116. endif()
  117. find_package(Boost COMPONENTS atomic chrono date_time filesystem regex system thread REQUIRED)
  118. if(Boost_FOUND)
  119. include_directories(${Boost_INCLUDE_DIRS})
  120. MESSAGE( STATUS "Boost_INCLUDE_DIRS = ${Boost_INCLUDE_DIRS}")
  121. MESSAGE( STATUS "Boost_LIBRARIES = ${Boost_LIBRARIES}")
  122. MESSAGE( STATUS "Boost_LIB_VERSION = ${Boost_LIB_VERSION}")
  123. endif()
  124. #boost end
  125. #list( APPEND CMAKE_MODULE_PATH /usr/share/cmake-3.13/Modules)
  126. if(DEBUGMODE_ON)
  127. set(LIBPROFILER_STATIC_LINK ON)
  128. find_package(PROFILER REQUIRED)
  129. if(LIBPROFILER_FOUND)
  130. include_directories(${Boost_INCLUDE_DIRS})
  131. MESSAGE( STATUS "LIBPROFILER_INCLUDE_DIRS = ${LIBPROFILER_INCLUDE_DIRS}")
  132. MESSAGE( STATUS "LIBPROFILER_LIBRARY_DIRS = ${LIBPROFILER_LIBRARY_DIRS}")
  133. MESSAGE( STATUS "LIBPROFILER_LIBRARY = ${LIBPROFILER_LIBRARY}")
  134. add_compile_definitions(OPEN_PERF)
  135. endif()
  136. endif()
  137. if(LINKINFO_ON)
  138. add_compile_definitions(OPEN_LINKINFO)
  139. endif()
  140. if(DEBUGMODE_ON)
  141. set(CMAKE_CXX_FLAGS "${CMAK_CXX_FLAGS} -g3 -rdynamic -lprofiler")
  142. endif()
  143. set(CMAK_CXX_FLAGS "${CMAK_CXX_FLAGS} -Wno-narrowing")
  144. target_include_directories(${MODULE_NAME} PRIVATE
  145. ${CMAKE_CURRENT_SOURCE_DIR}
  146. ${RVC_FRAMEWORK_INCLUDES_DIR}
  147. ${CONAN_INCLUDE_DIRS_OPENSSL}
  148. ${CONAN_INCLUDE_DIRS_CEFCONTROL}
  149. ${ThirdPartyHeadRoot}/websocketpp
  150. #${ThirdPartyHeadRoot}/cefcontrol
  151. ${ThirdPartyHeadRoot}/tinyxml2
  152. ${ThirdPartyHeadRoot}/CJson
  153. ${ThirdPartyHeadRoot}/modp_b64
  154. ${ThirdPartyHeadRoot}/requests/include
  155. ${CONAN_RVCFRAMEWORK_ROOT}/include
  156. ${ThirdPartyHeadRoot}/rpcServer
  157. ${ThirdPartyHeadRoot}/msgpack
  158. ${MODULE_BASE_DIR}/mod_upload
  159. ${MODULE_BASE_DIR}/mod_healthmanager
  160. )
  161. # 添加实体需要依赖的其他共享库(包括系统库):连接器包含的包
  162. target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_BOOST} ${CONAN_LIB_DIRS_OPENSSL} ${CONAN_LIB_DIRS_CEFCONTROL} ${LIBPROFILER_LIBRARY_DIRS})
  163. if(MSVC)
  164. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} ${CONAN_PKG_LIBS_OPENSSL} ${CONAN_PKG_LIBS_CEFCONTROL})
  165. else()
  166. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} ${CONAN_PKG_LIBS_OPENSSL})
  167. endif(MSVC)
  168. target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} ${Boost_LIBRARIES} libpublicFun ${LIBPROFILER_LIBRARY} )
  169. deploy_module(${MODULE_PREFIX} ${MODULE_NAME})
  170. # 设置要依赖拷贝的第三方库
  171. # set(MODULE_CONAN_DEP_LIBS ${MODULE_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} ${CONAN_LIB_DIRS} PARENT_SCOPE)