123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- macro(define_module _module_name)
- set(MODULE_NAME "mod_${_module_name}")
- set(ENTITY_NAME "${_module_name}")
- string(TOUPPER "${MODULE_NAME}" MODULE_PREFIX)
- endmacro(define_module)
- set(REPLACE_HTTPCLIENT_WITH_CPPRESTSDK TRUE)
- if(RVC_DEBUG_MODE)
- set(RVCCOMM_LIB RVCCommD)
- set(SPBASE_LIB spbased)
- set(TOOLKIT_LIB libtoolkitd)
- else()
- set(RVCCOMM_LIB RVCComm)
- set(SPBASE_LIB spbase)
- set(TOOLKIT_LIB libtoolkit)
- endif(RVC_DEBUG_MODE)
- set(WINPR_LIB winpr2)
- set(MODULE_BASE_LIBS ${SPBASE_LIB} ${TOOLKIT_LIB})
- set(MODULE_BASE_ALL_LIBS ${MODULE_BASE_LIBS} ${RVCCOMM_LIB})
- if(NOT MSVC)
- list(APPEND MODULE_BASE_LIBS ${WINPR_LIB})
- endif(NOT MSVC)
- set(BUILD_MOUDLE_TEST OFF)
- if(BUILD_TESTING)
- set(BUILD_MOUDLE_TEST ON)
- endif(BUILD_TESTING)
- if(SIMULATE_ON)
- rvc_set_library_output_dir("${RVC_INSTALL_PREFIX}${RVC_MODULE_PATH}")
- endif(SIMULATE_ON)
- macro(add_module_libraries _module_prefix _module_name _module_version)
-
- string(STRIP ${_module_version} RAW_VERSION_STRING)
- set(VERSION_REGEX "^.?([0-9]+)\\.([0-9]+)\\.([0-9]+)-?(.*)")
- string(REGEX REPLACE "${VERSION_REGEX}" "\\1" MOD_VERSION_MAJOR "${RAW_VERSION_STRING}")
- string(REGEX REPLACE "${VERSION_REGEX}" "\\2" MOD_VERSION_MINOR "${RAW_VERSION_STRING}")
- string(REGEX REPLACE "${VERSION_REGEX}" "\\3" MOD_VERSION_REVISION "${RAW_VERSION_STRING}")
- string(REGEX REPLACE "${VERSION_REGEX}" "\\4" MOD_VERSION_SUFFIX "${RAW_VERSION_STRING}")
- set(MOD_VERSION "${MOD_VERSION_MAJOR}.${MOD_VERSION_MINOR}.${MOD_VERSION_REVISION}")
- set(MOD_API_VERSION "${MOD_VERSION_MAJOR}")
- if (MOD_VERSION_SUFFIX)
- set(MOD_VERSION_FULL "${MOD_VERSION}-${MOD_VERSION_SUFFIX}")
- else()
- set(MOD_VERSION_FULL "${MOD_VERSION}")
- endif()
- message(STATUS "${_module_name} version: ${MOD_VERSION_FULL}")
- if(WIN32)
- set (RC_VERSION_MAJOR ${RVC_VERSION_MAJOR})
- set (RC_VERSION_MINOR ${MOD_VERSION_MAJOR})
- set (RC_VERSION_BUILD ${MOD_VERSION_MINOR})
- set (RC_VERSION_PATCH ${MOD_VERSION_REVISION})
- set(RC_VERSION_DESCRIPTION "${CMAKE_SHARED_LIBRARY_PREFIX}${_module_name}_${MOD_VERSION_FULL}${CMAKE_SHARED_LIBRARY_SUFFIX}")
- configure_file(
- ${CMAKE_SOURCE_DIR}/Version.rc.in
- ${CMAKE_CURRENT_BINARY_DIR}/version.rc
- @ONLY)
- set(${_module_prefix}_SRCS ${${_module_prefix}_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/version.rc)
- else()
- add_definitions(
- -DRVC_VERSION_STR="${RVC_VERSION}"
- )
- endif(WIN32)
- set(${_module_name}_TEST_SRCS)
- if(BUILD_MOUDLE_TEST)
- file(GLOB ${_module_name}_TEST_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "test/*.cpp")
- message(STATUS "add test files: ${${_module_name}_TEST_SRCS}")
- endif(BUILD_MOUDLE_TEST)
- add_library(${_module_name} SHARED ${${_module_prefix}_SRCS} ${${_module_name}_TEST_SRCS})
- if(SIMULATE_ON)
- set_target_properties( ${_module_name} PROPERTIES LIBRARY_OUTPUT_PATH "${RVC_INSTALL_PREFIX}${RVC_MODULE_PATH}")
- set_target_properties( ${_module_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${RVC_INSTALL_PREFIX}${RVC_MODULE_PATH}")
- set_target_properties( ${_module_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG "${RVC_INSTALL_PREFIX}${RVC_MODULE_PATH}")
- set_target_properties( ${_module_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE "${RVC_INSTALL_PREFIX}${RVC_MODULE_PATH}")
- # etc for the other available configuration types (MinSizeRel, RelWithDebInfo)
- endif()
- target_compile_definitions(${_module_name} PUBLIC "${_module_prefix}_EXPORTS")
- target_include_directories(${_module_name} PRIVATE
- ${ModuleCommonHeadPath}
- ${THIRD_PARTY_BASE_DIR}/Include/CJson
- ${OTHER_LIB_BASE_DIR}/libpublicFun)
- if(BUILD_MOUDLE_TEST)
- target_compile_definitions(${_module_name} PRIVATE "WITH_BUILD_MODULE_TEST")
- target_include_directories(${_module_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
- endif(BUILD_MOUDLE_TEST)
- if(REPLACE_HTTPCLIENT_WITH_CPPRESTSDK)
- target_compile_definitions(${_module_name} PRIVATE "WITH_CPPRESTSDK")
- target_include_directories(${_module_name} PRIVATE
- ${CONAN_INCLUDE_DIRS_JSONCPP}
- ${OTHER_LIB_BASE_DIR}/libRestfulFunc)
- target_link_directories(${MODULE_NAME} PRIVATE
- ${CONAN_LIB_DIRS_JSONCPP}
- )
- target_link_libraries(${_module_name} RestfulFunc ${CONAN_PKG_LIBS_JSONCPP})
- endif(REPLACE_HTTPCLIENT_WITH_CPPRESTSDK)
- configure_file("${MODULE_BASE_DIR}/include/modVer.h.in" "${CMAKE_CURRENT_BINARY_DIR}/modVer.h")
- target_include_directories(${_module_name} PRIVATE
- ${CMAKE_CURRENT_BINARY_DIR}
- ${RVC_FRAMEWORK_INCLUDES_DIR}
- )
- message(STATUS "module: ${RVC_FRAMEWORK_INCLUDES_DIR}")
- endmacro(add_module_libraries)
- macro(deploy_module _module_prefix _module_name)
- if(MSVC)
- install(TARGETS ${_module_name}
- RUNTIME DESTINATION "${RVC_MODULE_PATH}"
- ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" EXCLUDE_FROM_ALL
- LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT modules)
- else(MSVC)
- install(TARGETS ${_module_name}
- RUNTIME DESTINATION "${RVC_MODULE_PATH}"
- ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
- LIBRARY DESTINATION "${RVC_MODULE_PATH}"
- COMPONENT modules)
- endif(MSVC)
- if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS)
- install(FILES ${RVC_PDB_BINARY_DIR}/${_module_name}.pdb
- DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT symbols)
- endif()
- set_property(TARGET ${_module_name} PROPERTY FOLDER "module/")
- endmacro(deploy_module)
- if(BUILD_TESTING)
- #add_subdirectory(include/test)
- endif()
- if(BUILD_MOUDLE_TEST)
- message(STATUS "build module test case")
- endif(BUILD_MOUDLE_TEST)
- #TODO: move to DependencyConanFiles.cmake
- if(MSVC)
- set(MODULE_CONAN_DEP_LIBS ${CONAN_BIN_DIRS_MISC})
- set(MODULE_PLAFORM_SUBDIR win)
- else(MSVC)
- set(MODULE_PLAFORM_SUBDIR unix)
- endif(MSVC)
- # rvc_add_all_cmake_subdirectory()
- if(MSVC)
- add_subdirectory(mod_CardReadAdapter)
- add_subdirectory(mod_CardIssuerStand)
- add_subdirectory(mod_pinpad)
- add_subdirectory(mod_IDCertificate)
- add_subdirectory(mod_CustMngrAuth)
- add_subdirectory(mod_FingerPrint)
- add_subdirectory(mod_customeraware)
- add_subdirectory(mod_localmediaplay)
- #zhaohu
- add_subdirectory(mod_interactivecontrol)
- #zhaohu
- add_subdirectory(mod_assistantchannel)
- add_subdirectory(mod_UpgradeMgr)
- add_subdirectory(mod_upload)
- add_subdirectory(mod_healthmanager)
- add_subdirectory(mod_accessauth)
- #will be offline in future cly said
- add_subdirectory(mod_guiconsole)
- add_subdirectory(mod_CenterSetting)
- add_subdirectory(mod_tokenmgr)
- add_subdirectory(mod_evtconverter)
- #zhaohu
- #add_subdirectory(mod_interactivelog)
- add_subdirectory(mod_chromium)
- add_subdirectory(mod_ScannerSet)
- add_subdirectory(mod_HSPScanner)
- add_subdirectory(mod_ContactlessCard)
- add_subdirectory(mod_gpio)
- add_subdirectory(mod_DeviceControl)
- #zhaohu
- add_subdirectory(mod_facetracking)
- #zhaohu
- add_subdirectory(mod_initiativetransfer)
- #zhaohu
- add_subdirectory(mod_interactioncontext)
- add_subdirectory(mod_agentip)
- #zhaohu
- add_subdirectory(mod_counterconnector)
- add_subdirectory(mod_countercontext)
- #zhaohu
- add_subdirectory(mod_mediacontroller)
- #zhaohu
- add_subdirectory(mod_recorder)
- add_subdirectory(mod_snapshot)
- #zhaohu
- add_subdirectory(mod_screenshot)
- add_subdirectory(mod_heartbeat)
- add_subdirectory(mod_alarm)
- #feiqi
- add_subdirectory(mod_RomoteController)
- add_subdirectory(mod_ResourceWatcher)
- #zhaohu
- add_subdirectory(mod_livenessdetection)
- add_subdirectory(mod_vtmloader)
- #below should be compiled succesufully.
- #unknown
- add_subdirectory(mod_SalesRecorder)
- #zhaohu
- add_subdirectory(mod_sipphone)
- #pad remove
- add_subdirectory(mod_PortableScanner)
- add_subdirectory(mod_cardissuerstore)
- else()
- add_subdirectory(mod_CardReadAdapter)
- add_subdirectory(mod_CardIssuerStand)
- add_subdirectory(mod_pinpad)
- add_subdirectory(mod_IDCertificate)
- add_subdirectory(mod_CustMngrAuth)
- add_subdirectory(mod_FingerPrint)
- add_subdirectory(mod_customeraware)
- add_subdirectory(mod_localmediaplay)
- add_subdirectory(mod_interactivecontrol)
- add_subdirectory(mod_assistantchannel)
- add_subdirectory(mod_UpgradeMgr)
- add_subdirectory(mod_upload)
- add_subdirectory(mod_healthmanager)
- add_subdirectory(mod_accessauth)
- add_subdirectory(mod_guiconsole)
- add_subdirectory(mod_CenterSetting)
- add_subdirectory(mod_tokenmgr)
- add_subdirectory(mod_evtconverter)
- #add_subdirectory(mod_interactivelog)
- add_subdirectory(mod_chromium)
- add_subdirectory(mod_ScannerSet)
- add_subdirectory(mod_HSPScanner)
- add_subdirectory(mod_ContactlessCard)
- add_subdirectory(mod_gpio)
- add_subdirectory(mod_DeviceControl)
- add_subdirectory(mod_facetracking)
- add_subdirectory(mod_initiativetransfer)
- add_subdirectory(mod_interactioncontext)
- add_subdirectory(mod_agentip)
- add_subdirectory(mod_counterconnector)
- add_subdirectory(mod_countercontext)
- add_subdirectory(mod_mediacontroller)
- add_subdirectory(mod_recorder)
- add_subdirectory(mod_snapshot)
- add_subdirectory(mod_screenshot)
- add_subdirectory(mod_heartbeat)
- add_subdirectory(mod_alarm)
- add_subdirectory(mod_RomoteController)
- add_subdirectory(mod_ResourceWatcher)
- add_subdirectory(mod_livenessdetection)
- add_subdirectory(mod_vtmloader)
- #below should be compiled succesufully.
- add_subdirectory(mod_SalesRecorder)
- add_subdirectory(mod_sipphone)
- endif(MSVC)
- set(RVC_CONAN_DEP_LIBS ${RVC_CONAN_DEP_LIBS} ${MODULE_CONAN_DEP_LIBS} PARENT_SCOPE)
|