set(CMAKE_VERSION 3.6.2) cmake_minimum_required(VERSION ${CMAKE_VERSION}) set(CMAKE_CXX_STANDARD 11) project(bytesflow-opencv-media) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/output/bin) SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/output/lib) add_subdirectory(opencv) add_subdirectory(jni) ############################################# 加入jni支持,linux############################################ message(FIND JAVA_HOME---> $ENV{JAVA_HOME}) set(JAVA_HOME $ENV{JAVA_HOME}) message(JAVA_HOME ${JAVA_HOME}) if (NOT DEFINED ENV{JAVA_HOME}) message("not defined environment variable:JAVA_HOME") set(JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home) set(JNI_PATH ${JAVA_HOME}/include) endif () IF (CMAKE_SYSTEM_NAME MATCHES "Linux") set(JNI_MD_PATH ${JAVA_HOME}/include/linux) set(JNI_PATH ${JAVA_HOME}/include) include_directories(${JNI_PATH}) set(OPENCV_HOME /usr) set(OPENCV_INCLUDE ${OPENCV_HOME}/include/) set(OPENCV_LIBS ${OPENCV_HOME}/lib64) ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Darwin") set(JNI_PATH ${JAVA_HOME}/include) set(JNI_MD_PATH ${JAVA_HOME}/include/darwin) include_directories(${JNI_PATH}) set(OPENCV_HOME /usr/local/Cellar/opencv/4.5.4_4) set(OPENCV_INCLUDE ${OPENCV_HOME}/include/opencv4) set(OPENCV_LIBS ${OPENCV_HOME}/lib) ELSE () MESSAGE(STATUS "other platform: ${CMAKE_SYSTEM_NAME}") ENDIF (CMAKE_SYSTEM_NAME MATCHES "Linux") message(OPENCV_INCLUDE>${OPENCV_INCLUDE}) message(OPENCV_LIBS>${OPENCV_INCLUDE}) link_directories(${OPENCV_LIBS}) include_directories(${OPENCV_INCLUDE}) include_directories(${JNI_MD_PATH}) add_executable(ImageBlurDetection_debug main.cpp ${OPENCV_SRC} count_down_latch.h ${JAVA_JNI_SRC} ) add_library(piaoquan_java_opencv SHARED ${OPENCV_SRC} ${JAVA_JNI_SRC}) set(OpenCV_LIBS -lopencv_imgproc -lopencv_imgcodecs -lopencv_core # -lopencv_xphoto # -lopencv_xobjdetect # -lopencv_ximgproc # -lopencv_xfeatures2d # -lopencv_wechat_qrcode # -lopencv_viz # -lopencv_videostab # -lopencv_videoio # -lopencv_video # -lopencv_tracking # -lopencv_text # -lopencv_surface_matching # -lopencv_superres # -lopencv_structured_light # -lopencv_stitching # -lopencv_stereo # -lopencv_shape # -lopencv_sfm # -lopencv_saliency # -lopencv_rgbd # -lopencv_reg # -lopencv_rapid # -lopencv_quality # -lopencv_plot # -lopencv_photo # -lopencv_phase_unwrapping # -lopencv_optflow # -lopencv_objdetect # -lopencv_ml # -lopencv_mcc # -lopencv_line_descriptor # -lopencv_intensity_transform # -lopencv_img_hash # -lopencv_highgui # -lopencv_hfs # -lopencv_gapi # -lopencv_fuzzy # -lopencv_freetype # -lopencv_flann # -lopencv_features2d # -lopencv_face # -lopencv_dpm # -lopencv_dnn_superres # -lopencv_dnn_objdetect # -lopencv_dnn # -lopencv_datasets # -lopencv_ccalib # -lopencv_calib3d # -lopencv_bioinspired # -lopencv_bgsegm # -lopencv_barcode # -lopencv_aruco # -lopencv_alphamat ) target_link_libraries(ImageBlurDetection_debug ${OpenCV_LIBS} ) target_link_libraries(piaoquan_java_opencv ${OpenCV_LIBS} )