CMakeLists.txt 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  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(NOT MSVC)
  127. if(DEBUGMODE_ON)
  128. set(LIBPROFILER_STATIC_LINK ON)
  129. find_package(PROFILER REQUIRED)
  130. if(LIBPROFILER_FOUND)
  131. include_directories(${Boost_INCLUDE_DIRS})
  132. MESSAGE( STATUS "LIBPROFILER_INCLUDE_DIRS = ${LIBPROFILER_INCLUDE_DIRS}")
  133. MESSAGE( STATUS "LIBPROFILER_LIBRARY_DIRS = ${LIBPROFILER_LIBRARY_DIRS}")
  134. MESSAGE( STATUS "LIBPROFILER_LIBRARY = ${LIBPROFILER_LIBRARY}")
  135. add_compile_definitions(OPEN_PERF)
  136. endif()
  137. endif()
  138. endif()
  139. if(LINKINFO_ON)
  140. add_compile_definitions(OPEN_LINKINFO)
  141. endif()
  142. if(DEBUGMODE_ON)
  143. set(CMAKE_CXX_FLAGS "${CMAK_CXX_FLAGS} -g3 -rdynamic -lprofiler")
  144. endif()
  145. if(NOT MSVC)
  146. set(CMAKE_CXX_FLAGS "${CMAK_CXX_FLAGS} -Wno-narrowing")
  147. endif(NOT MSVC)
  148. target_include_directories(${MODULE_NAME} PRIVATE
  149. ${CMAKE_CURRENT_SOURCE_DIR}
  150. ${RVC_FRAMEWORK_INCLUDES_DIR}
  151. ${CONAN_INCLUDE_DIRS_OPENSSL}
  152. ${CONAN_INCLUDE_DIRS_CEFCONTROL}
  153. ${ThirdPartyHeadRoot}/websocketpp
  154. #${ThirdPartyHeadRoot}/cefcontrol
  155. ${ThirdPartyHeadRoot}/tinyxml2
  156. ${ThirdPartyHeadRoot}/CJson
  157. ${ThirdPartyHeadRoot}/modp_b64
  158. ${ThirdPartyHeadRoot}/requests/include
  159. ${ThirdPartyHeadRoot}/rpcServer
  160. ${ThirdPartyHeadRoot}/msgpack
  161. ${MODULE_BASE_DIR}/mod_upload
  162. ${MODULE_BASE_DIR}/mod_healthmanager
  163. ${CONAN_INCLUDE_DIRS_SDL2}
  164. )
  165. # 添加实体需要依赖的其他共享库(包括系统库):连接器包含的包
  166. target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_BOOST} ${CONAN_LIB_DIRS_OPENSSL} ${CONAN_LIB_DIRS_CEFCONTROL} ${LIBPROFILER_LIBRARY_DIRS} ${CONAN_LIB_DIRS_SDL2})
  167. if(MSVC)
  168. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} ${CONAN_PKG_LIBS_OPENSSL} ${CONAN_PKG_LIBS_CEFCONTROL})
  169. else()
  170. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} ${CONAN_PKG_LIBS_OPENSSL} ${CONAN_LIBS_SDL2})
  171. endif(MSVC)
  172. target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} ${Boost_LIBRARIES} libpublicFun ${LIBPROFILER_LIBRARY} )
  173. deploy_module(${MODULE_PREFIX} ${MODULE_NAME})
  174. # 设置要依赖拷贝的第三方库
  175. # set(MODULE_CONAN_DEP_LIBS ${MODULE_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} ${CONAN_LIB_DIRS} PARENT_SCOPE)