project(hgdriver) string(TIMESTAMP CURRENT_YEAR "%Y") string(TIMESTAMP MONTHDAY "1%m%d1") add_definitions(-DBACKEND_NAME=hgdriver) add_definitions(-DVERSION_MAJOR=ver_1) add_definitions(-DVERSION_MINOR=ver_2) add_definitions(-DVERSION_YEAR=${CURRENT_YEAR}) add_definitions(-DVERSION_BUILD=${MONTHDAY}) add_definitions(-DOEM_HUAGAO) add_definitions(-DUOS) add_definitions("-Wl,--exclude-libs,ALL") #add_definitions("-B direct") add_compile_options(-std=c++11) #set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS} -g -ftest-coverage -fprofile-arcs") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") aux_source_directory(${PROJECT_SOURCE_DIR} DIR_SRCS) file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/*.h" "${PROJECT_SOURCE_DIR}/*.hpp") set(DIR_SRCS ${DIR_SRCS} ${DIR_HEADS}) if(COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) endif(COMMAND cmake_policy) add_library(${PROJECT_NAME} SHARED ${DIR_SRCS}) message(STATUS ${CMAKE_SYSTEM_NAME}) message(STATUS ${CMAKE_HOST_SYSTEM}) message(STATUS ${CMAKE_SYSTEM_PROCESSOR}) message(STATUS ${CMAKE_HOST_SYSTEM_NAME}) if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") #link_directories(${PROJECT_SOURCE_DIR}/../../../sdk/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}) #target_link_libraries(${PROJECT_NAME} PRIVATE udev pthread dl) #target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../../../sdk/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libusb-1.0.a) else() message("current platform: Windows ") endif() target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../../../build/libgdev.a ${PROJECT_SOURCE_DIR}/../../../sdk/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libusb-1.0.a #kylin下放的先后顺序不对可能会导致库链接不上 ${PROJECT_SOURCE_DIR}/../../../build/libgimgproc.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_world.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libIlmImf.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibjasper.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibjpeg-turbo.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibpng.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibprotobuf.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibtiff.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libquirc.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libzlib.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibwebp.a udev pthread dl ) #勿修改下面预留行 if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64") add_definitions(-Dx86_64="x86_64") target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a #message("静态库预留01") #message("静态库预留02") ) message("cpu is x86_64") elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64") target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libexportfile.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libcnocr.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libconvert.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libhwocrjni.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libcrypto.so.1.0.0 ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libdocseg.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libofd.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libpdfparse.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libtinyxml2.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libzip.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libhwocrdetect.so #message("静态库预留03") #message("静态库预留04") ) message("cpu is arm64") elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64") target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libcnocr.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libconvert.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libdocseg.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libexportfile.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libhwocrdetect.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libhwocrjni.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libofd.so ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libtinyxml2.so.8 ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libzip.so.5 #message("静态库预留05") #message("静态库预留06") ) message("cpu is mips64") else() message(FATAL_ERROR "not find cpu and exit cmake ...") endif() target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/../3rdparty/nick ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/include ${PROJECT_SOURCE_DIR}/../3rdparty/tiff/include ${PROJECT_SOURCE_DIR}/../ImageProcess ${PROJECT_SOURCE_DIR}/../hgdev ${PROJECT_SOURCE_DIR}/../../../sdk/include ) set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR})