code_app/sdk/oldwebscan/libwebscan_jni/CMakeLists.txt

90 lines
4.7 KiB
CMake

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}/../staticlib/libgdev.a
${PROJECT_SOURCE_DIR}/../staticlib/libgimgproc.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgproc.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgcodecs.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libopencv_highgui.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libopencv_core.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libIlmImf.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibjasper.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibjpeg-turbo.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibpng.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibprotobuf.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibtiff.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libquirc.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libzlib.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/liblibwebp.a
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/libusb-1.0/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libusb-1.0.a #kylin下放的先后顺序不对可能会导致库链接不上
udev pthread dl m)
endif()
#勿修改下面预留行
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
add_definitions(-Dx86_64="x86_64")
target_link_libraries(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../Tirdparty/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}/../Tirdparty/3rdparty/opencv/lib/kylin/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
#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_NAME MATCHES "Windows")
message("cpu is windows")
else()
message(FATAL_ERROR "not find cpu and exit cmake ...")
endif()
if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
target_link_libraries(${PROJECT_NAME} PRIVATE -static-libgcc -static-libstdc++ -Wl,--exclude-libs,ALL -zdefs -Bdirect pthread dl -Wl,-rpath=.)
endif()
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/libusb-1.0/include
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/nick
${PROJECT_SOURCE_DIR}/../Tirdparty/3rdparty/opencv/include
${PROJECT_SOURCE_DIR}/../ImageProcess
${PROJECT_SOURCE_DIR}/../hgdev
)
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)