#实体命名 define_module("chromium") set(DEBUGMODE_ON OFF) set(LINKINFO_ON ON) file(GLOB REQUESTS_CPP_SRCS ${ThirdPartyHeadRoot}/requests/requests/*.cpp) file(GLOB GUITASK_SRCS guitask/*) MESSAGE( STATUS "REQUESTS_CPP_SRCS = ${REQUESTS_CPP_SRCS}") #整个实体加载的文件 if(MSVC) set(${MODULE_PREFIX}_SRCS baseEx.cpp baseEx.h BufferOperation.h Chromium_client_g.h Chromium_def_g.h Chromium_msg_g.h Chromium_server_g.h CMessage.cpp CMessage.h CMethodInterface.h CMethodParam.h CModTools.cpp CModTools.h CSocketClient.cpp CSocketClient.h CStructureInterpreter.cpp CStructureInterpreter.h CTransStruct.h CWebsocketServer.cpp CWebsocketServer.h CWSCodec.cpp CWSCodec.h EntitySessionManager.cpp EntitySessionManager.h ISocketCallback.h Job.h MessageType.h MessageType.cpp mod_chromium.cpp mod_chromium.h processControl.cpp processControl.h uuid4.h uuid4.cpp SystemRun.cpp ${GUITASK_SRCS} ${ThirdPartyHeadRoot}/CJson/cJSON.c ${ThirdPartyHeadRoot}/modp_b64/modp_b64.cc ${ThirdPartyHeadRoot}/tinyxml2/tinyxml2.cpp ${OTHER_LIB_BASE_DIR}/libpublicFun/publicFunExport.h ${OTHER_LIB_BASE_DIR}/libpublicFun/exLog/log.h ) else() set(${MODULE_PREFIX}_SRCS baseEx.cpp baseEx.h BufferOperation.h Chromium_client_g.h Chromium_def_g.h Chromium_msg_g.h Chromium_server_g.h CMessage.cpp CMessage.h CMethodInterface.h CMethodParam.h CModTools.cpp CModTools.h CSocketClient.cpp CSocketClient.h CStructureInterpreter.cpp CStructureInterpreter.h CTransStruct.h CWebsocketServer.cpp CWebsocketServer.h CWSCodec.cpp CWSCodec.h EntitySessionManager.cpp EntitySessionManager.h ISocketCallback.h Job.h MessageType.h MessageType.cpp mod_chromium.cpp mod_chromium.h processControl.cpp processControl.h uuid4.h uuid4.cpp SystemRun.cpp ${GUITASK_SRCS} ${ThirdPartyHeadRoot}/CJson/cJSON.c ${ThirdPartyHeadRoot}/modp_b64/modp_b64.cc ${ThirdPartyHeadRoot}/tinyxml2/tinyxml2.cpp ${REQUESTS_CPP_SRCS} ${OTHER_LIB_BASE_DIR}/libpublicFun/publicFunExport.h ${OTHER_LIB_BASE_DIR}/libpublicFun/exLog/log.h ) endif(MSVC) #设置版本 set(MOD_VERSION_STRING "1.0.0-dev1") add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING}) #附加包含的目录 set(TEST_CHROMIMU_DIR ${CONAN_CEFCLIENT_MUTABLE_ROOT}/bin PARENT_SCOPE) MESSAGE( STATUS "BOOST_ROOT = ${CONAN_BOOST_ROOT}") set(BOOST_ROOT ${CONAN_BOOST_ROOT}) set(Boost_DEBUG ON) set(Boost_USE_STATIC_LIBS ON) if (MSVC) else() set(Boost_NO_SYSTEM_PATHS ON) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME ON) #add_definitions(-DBOOST_STACKTRACE_LINK) #add_definitions(-DBOOST_STACKTRACE_USE_ADDR2LINE) add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY) endif() find_package(Boost COMPONENTS atomic chrono date_time filesystem regex system thread REQUIRED) if(Boost_FOUND) include_directories(${Boost_INCLUDE_DIRS}) MESSAGE( STATUS "Boost_INCLUDE_DIRS = ${Boost_INCLUDE_DIRS}") MESSAGE( STATUS "Boost_LIBRARIES = ${Boost_LIBRARIES}") MESSAGE( STATUS "Boost_LIB_VERSION = ${Boost_LIB_VERSION}") endif() #boost end #list( APPEND CMAKE_MODULE_PATH /usr/share/cmake-3.13/Modules) if(DEBUGMODE_ON) set(LIBPROFILER_STATIC_LINK ON) find_package(PROFILER REQUIRED) if(LIBPROFILER_FOUND) include_directories(${Boost_INCLUDE_DIRS}) MESSAGE( STATUS "LIBPROFILER_INCLUDE_DIRS = ${LIBPROFILER_INCLUDE_DIRS}") MESSAGE( STATUS "LIBPROFILER_LIBRARY_DIRS = ${LIBPROFILER_LIBRARY_DIRS}") MESSAGE( STATUS "LIBPROFILER_LIBRARY = ${LIBPROFILER_LIBRARY}") add_compile_definitions(OPEN_PERF) endif() endif() if(LINKINFO_ON) add_compile_definitions(OPEN_LINKINFO) endif() if(DEBUGMODE_ON) set(CMAKE_CXX_FLAGS "${CMAK_CXX_FLAGS} -g3 -rdynamic -lprofiler") endif() set(CMAK_CXX_FLAGS "${CMAK_CXX_FLAGS} -Wno-narrowing") target_include_directories(${MODULE_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${RVC_FRAMEWORK_INCLUDES_DIR} ${CONAN_INCLUDE_DIRS_OPENSSL} ${CONAN_INCLUDE_DIRS_CEFCONTROL} ${ThirdPartyHeadRoot}/websocketpp #${ThirdPartyHeadRoot}/cefcontrol ${ThirdPartyHeadRoot}/tinyxml2 ${ThirdPartyHeadRoot}/CJson ${ThirdPartyHeadRoot}/modp_b64 ${ThirdPartyHeadRoot}/requests/include ${CONAN_RVCFRAMEWORK_ROOT}/include ${ThirdPartyHeadRoot}/rpcServer ${ThirdPartyHeadRoot}/msgpack ${MODULE_BASE_DIR}/mod_upload ${MODULE_BASE_DIR}/mod_healthmanager ) # 添加实体需要依赖的其他共享库(包括系统库):连接器包含的包 target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_BOOST} ${CONAN_LIB_DIRS_OPENSSL} ${CONAN_LIB_DIRS_CEFCONTROL} ${LIBPROFILER_LIBRARY_DIRS}) if(MSVC) set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} ${CONAN_PKG_LIBS_OPENSSL} ${CONAN_PKG_LIBS_CEFCONTROL}) else() set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} ${CONAN_PKG_LIBS_OPENSSL}) endif(MSVC) target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} ${Boost_LIBRARIES} libpublicFun ${LIBPROFILER_LIBRARY} ) deploy_module(${MODULE_PREFIX} ${MODULE_NAME}) # 设置要依赖拷贝的第三方库 # set(MODULE_CONAN_DEP_LIBS ${MODULE_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} ${CONAN_LIB_DIRS} PARENT_SCOPE)