project(webscan_jni) if(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") cmake_minimum_required(VERSION 3.1.1) message("is windows") endif() add_compile_options(-std=c++11) 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") target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgcodecs.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgproc.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libopencv_core.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libopencv_highgui.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libIlmImf.a #${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libzlib.a #${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibjasper.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibjpeg-turbo.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibwebp.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibtiff.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibpng.a ${PROJECT_SOURCE_DIR}/../lib/libhgscannersdk.so ) endif() #勿修改下面预留行 if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64") add_definitions(-Dx86_64="x86_64") target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${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}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a ${PROJECT_SOURCE_DIR}/../../../../code_device/hgdriver/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a #uos 不需要 kylin需要 #message("静态库预留03") #message("静态库预留04") ) message("cpu is arm64") elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64") target_link_libraries(${PROJECT_NAME} PRIVATE #message("静态库预留03") #message("静态库预留04") ) message("cpu is mips64") elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "loongarch64") target_link_libraries(${PROJECT_NAME} PRIVATE #message("静态库预留03") #message("静态库预留04") ) message("cpu is loongarch64") elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "sw_64") target_link_libraries(${PROJECT_NAME} PRIVATE #message("静态库预留03") #message("静态库预留04") ) message("cpu is sw_64") else() message(FATAL_ERROR "not find cpu and exit cmake ...") endif() target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/../../../../sdk/include ${PROJECT_SOURCE_DIR}/../../../../sdk/include/opencv ${PROJECT_SOURCE_DIR}/../hgscannersdk ) target_include_directories(${PROJECT_NAME} PRIVATE /usr/lib/jvm/java-1.8.0-openjdk-amd64/include /usr/lib/jvm/java-1.8.0-openjdk-amd64/include/linux ) set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../lib)