|
@@ -1,88 +1,11 @@
|
|
|
# 非招行开发人员不允许改动本文件!!
|
|
|
|
|
|
-if(RVC_VERSION)
|
|
|
- set(RVC_INTEGRATE_BUILD TRUE)
|
|
|
- set(RVC_INTEGRATE_BUILDV2 TRUE)
|
|
|
- set(DEVADAPTER_USING_CONAN TRUE)
|
|
|
- if(WITH_LOCAL_DEVLIB)
|
|
|
- set(DEVADAPTER_USING_CONAN FALSE)
|
|
|
- endif(WITH_LOCAL_DEVLIB)
|
|
|
-else()
|
|
|
- cmake_minimum_required (VERSION 3.8)
|
|
|
- project(DevAdapter)
|
|
|
- set(DEVADAPTER_VENDOR "demo")
|
|
|
- set(DEVADAPTER_VERSION "1.2.3.4")
|
|
|
- set(DEVADAPTER_PROJECT_NAME ${CMAKE_PROJECT_NAME})
|
|
|
- set(DEVADAPTER_DESCRIPTION "describe what this version conatains")
|
|
|
- set(RVC_INTEGRATE_BUILD FALSE)
|
|
|
+set(RVC_INTEGRATE_BUILD TRUE)
|
|
|
+set(RVC_INTEGRATE_BUILDV2 TRUE)
|
|
|
+set(DEVADAPTER_USING_CONAN TRUE)
|
|
|
+if(WITH_LOCAL_DEVLIB)
|
|
|
set(DEVADAPTER_USING_CONAN FALSE)
|
|
|
- set(RVC_VENDOR_CONFIGV2 TRUE)
|
|
|
-
|
|
|
- if(RVC_VENDOR_CONFIGV2)
|
|
|
- set(JENKINS_ON FALSE)
|
|
|
- if(DEFINED ENV{JENKINS_HOME})
|
|
|
- set(JENKINS_ON TRUE)
|
|
|
- endif(DEFINED ENV{JENKINS_HOME})
|
|
|
-
|
|
|
- if(JENKINS_ON)
|
|
|
- set(DEVADAPTER_VENDOR $ENV{JOB_BASE_NAME})
|
|
|
- set(DEVADAPTER_PROJECT_NAME $ENV{BUILD_TAG_ID})
|
|
|
- string(TIMESTAMP tmVar "%Y%m%d")
|
|
|
- set(DEVADAPTER_VERSION "${tmVar}_$ENV{BUILD_NUMBER}")
|
|
|
- endif(JENKINS_ON)
|
|
|
-
|
|
|
-
|
|
|
- set(CMAKE_CXX_STANDARD 11)
|
|
|
- # Turn on solution folders (2.8.4+) for Visual Studio.
|
|
|
- set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
|
-
|
|
|
- if(NOT DEFINED CMAKE_CONFIGURATION_TYPES AND NOT DEFINED CMAKE_BUILD_TYPE)
|
|
|
- message(FATAL_ERROR "User should define CMAKE_CONFIGURATION_TYPES or CMAKE_BUILD_TYPE")
|
|
|
- elseif(DEFINED CMAKE_CONFIGURATION_TYPES AND NOT DEFINED CMAKE_BUILD_TYPE)
|
|
|
- set(CMAKE_BUILD_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
|
|
- elseif(DEFINED CMAKE_BUILD_TYPE AND NOT DEFINED CMAKE_CONFIGURATION_TYPES)
|
|
|
- set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
|
|
|
- endif()
|
|
|
-
|
|
|
- # Enable 64bit file support on linux and FreeBSD.
|
|
|
- if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux" OR FREEBSD)
|
|
|
- add_definitions("-D_FILE_OFFSET_BITS=64")
|
|
|
- endif()
|
|
|
-
|
|
|
- if(CMAKE_COMPILER_IS_GNUCC)
|
|
|
- if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686")
|
|
|
- CHECK_SYMBOL_EXISTS(__x86_64__ "" IS_X86_64)
|
|
|
- if(IS_X86_64)
|
|
|
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
|
|
- message(STATUS "set -fPIC")
|
|
|
- else()
|
|
|
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
|
|
|
- message(STATUS "set -march=i686")
|
|
|
- endif()
|
|
|
- else()
|
|
|
- if(CMAKE_POSITION_INDEPENDENT_CODE)
|
|
|
- if(${CMAKE_VERSION} VERSION_LESS 2.8.9)
|
|
|
- message(STATUS "set -fPIC 2")
|
|
|
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
|
|
- endif()
|
|
|
- endif()
|
|
|
- endif()
|
|
|
- # active warning or gun c compiler would not burn warning if not necessary.
|
|
|
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
|
|
|
- endif()
|
|
|
-
|
|
|
- set(PACK_INSTALL_RUN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/release")
|
|
|
- set(RVC_VENDOR_PATH "dep")
|
|
|
- set(CMAKE_INSTALL_PREFIX ${PACK_INSTALL_RUN_DIR})
|
|
|
-
|
|
|
- #clean the built dir which create from last compiling job.
|
|
|
- file(GLOB RVC_OLD_DEP_BIN_FILES "${PACK_INSTALL_RUN_DIR}/*")
|
|
|
- string(LENGTH "${RVC_OLD_DEP_BIN_FILES}" RVC_OLD_DEP_BIN_FILES_length)
|
|
|
- if(${RVC_OLD_DEP_BIN_FILES_length})
|
|
|
- file(REMOVE_RECURSE ${RVC_OLD_DEP_BIN_FILES})
|
|
|
- endif(${RVC_OLD_DEP_BIN_FILES_length})
|
|
|
- endif(RVC_VENDOR_CONFIGV2)
|
|
|
-endif(RVC_VERSION)
|
|
|
+endif(WITH_LOCAL_DEVLIB)
|
|
|
|
|
|
if(MSVC AND (CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|x86|AMD64") )
|
|
|
set(DIFF_PLATFORM_SUB_DIR "msvc_x86")
|
|
@@ -93,11 +16,7 @@ elseif((NOT MSVC) AND (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64"))
|
|
|
endif()
|
|
|
|
|
|
message(STATUS "lib rely on directory: ${DIFF_PLATFORM_SUB_DIR}")
|
|
|
-
|
|
|
-if(RVC_INTEGRATE_BUILD)
|
|
|
- #include ErrorCode.h
|
|
|
- include_directories(${RVC_COMMON_INCLUDE_DIR})
|
|
|
-endif(RVC_INTEGRATE_BUILD)
|
|
|
+include_directories(${RVC_COMMON_INCLUDE_DIR})
|
|
|
|
|
|
macro(rvc_traverse_sub_cmake_dirs)
|
|
|
file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt")
|
|
@@ -240,21 +159,15 @@ if(NOT MSVC)
|
|
|
endif(NOT MSVC)
|
|
|
|
|
|
set(VENDOR_LOG_LIBRARY_NAME "cmblog4vendor")
|
|
|
-if(NOT RVC_INTEGRATE_BUILD)
|
|
|
- # 单独的库名称
|
|
|
- set(VENDOR_LOG_LIB_NAME ${VENDOR_LOG_LIBRARY_NAME})
|
|
|
-else()
|
|
|
- # 使用工程源码编译
|
|
|
- set(VENDOR_LOG_LIB_NAME log4vendor)
|
|
|
- add_subdirectory(liblog4vendor)
|
|
|
-endif(NOT RVC_INTEGRATE_BUILD)
|
|
|
+# 使用工程源码编译
|
|
|
+set(VENDOR_LOG_LIB_NAME log4vendor)
|
|
|
+add_subdirectory(liblog4vendor)
|
|
|
message(STATUS "vendor log library: ${VENDOR_LOG_LIB_NAME}")
|
|
|
|
|
|
-
|
|
|
# 通过conan的方式管理厂商库
|
|
|
if(DEVADAPTER_USING_CONAN)
|
|
|
if(MSVC) #Windows 厂商适配器
|
|
|
- if(RVC_INTEGRATE_BUILDV2)
|
|
|
+ if(RVC_INTEGRATE_BUILDV2 AND NOT ONLY_PURE_ADAPTER_RELY)
|
|
|
#厂商适配器兼容WIN的提交,需要将以前的ZIP链接转化为Conan依赖包,处理完之后这里填写内容进行拉取:Demo
|
|
|
#set(CMB_CONAN_ALL_LIB_NAME cmb/2024.0315.20@LR04.02_VendorLib/msvc)
|
|
|
#长城读卡接口优化
|
|
@@ -266,9 +179,9 @@ if(DEVADAPTER_USING_CONAN)
|
|
|
rvc_aggerate_vendor_libs(gwi)
|
|
|
rvc_aggerate_vendor_libs(keba)
|
|
|
rvc_aggerate_vendor_libs(cw)
|
|
|
- endif(RVC_INTEGRATE_BUILDV2)
|
|
|
+ endif(RVC_INTEGRATE_BUILDV2 AND NOT ONLY_PURE_ADAPTER_RELY)
|
|
|
else() #UOS厂商适配器
|
|
|
- if(RVC_INTEGRATE_BUILDV2)
|
|
|
+ if(RVC_INTEGRATE_BUILDV2 AND NOT ONLY_PURE_ADAPTER_RELY)
|
|
|
#邮件 试运行设备的密码键盘与读卡器的提示灯物理地址与测试样机的物理地址不一致
|
|
|
set(KEBA_CONAN_ALL_LIB_NAME keba/2024.0814.32@LR04.02_VendorLib/stable)
|
|
|
#【阅知】关于适配器解耦完成测试事宜
|
|
@@ -290,20 +203,26 @@ if(DEVADAPTER_USING_CONAN)
|
|
|
rvc_aggerate_vendor_libs(nantian)
|
|
|
rvc_aggerate_vendor_libs(grg)
|
|
|
rvc_aggerate_vendor_libs(cbpm)
|
|
|
- endif(RVC_INTEGRATE_BUILDV2)
|
|
|
+ endif(RVC_INTEGRATE_BUILDV2 AND NOT ONLY_PURE_ADAPTER_RELY)
|
|
|
endif(MSVC)
|
|
|
|
|
|
if(MSVC)
|
|
|
#CardLibDB_CMB.db3
|
|
|
- conan_cmake_run(REQUIRES VendorDLL/2024.11.1401@LR04.02_VendorLib/testing
|
|
|
- BASIC_SETUP CMAKE_TARGETS)
|
|
|
+ if(NOT ONLY_PURE_ADAPTER_RELY)
|
|
|
+ conan_cmake_run(REQUIRES VendorDLL/2024.11.1401@LR04.02_VendorLib/testing
|
|
|
+ BASIC_SETUP CMAKE_TARGETS)
|
|
|
+ endif(NOT ONLY_PURE_ADAPTER_RELY)
|
|
|
+
|
|
|
set(SELF_CONAN_LIB_NAME self/2024.1217.01@LR04.02_VendorLib/testing)
|
|
|
add_subdirectory(self)
|
|
|
endif(MSVC)
|
|
|
|
|
|
endif(DEVADAPTER_USING_CONAN)
|
|
|
-
|
|
|
-file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt")
|
|
|
+
|
|
|
+if(NOT ONLY_PURE_ADAPTER_RELY)
|
|
|
+ file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt")
|
|
|
+endif(NOT ONLY_PURE_ADAPTER_RELY)
|
|
|
+
|
|
|
foreach(dir ${all_valid_subdirs})
|
|
|
if(${dir} MATCHES "^([^/]*)/+CMakeLists.txt")
|
|
|
string(REGEX REPLACE "^([^/]*)/+CMakeLists.txt" "\\1" dir_trimmed ${dir})
|