X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjni%2Flibuvc-0.0.6%2FCMakeLists.txt;fp=app%2Fsrc%2Fmain%2Fjni%2Flibuvc-0.0.6%2FCMakeLists.txt;h=a19209d83b0682c00bfee7d8c7b9742eeb68b10d;hb=577426ccc66649228285c4a0b6ba8752836059c6;hp=0000000000000000000000000000000000000000;hpb=b7202442677d0cf41e6e59870cd6c34e5619b8b9;p=rtmpclient.git diff --git a/app/src/main/jni/libuvc-0.0.6/CMakeLists.txt b/app/src/main/jni/libuvc-0.0.6/CMakeLists.txt new file mode 100644 index 0000000..a19209d --- /dev/null +++ b/app/src/main/jni/libuvc-0.0.6/CMakeLists.txt @@ -0,0 +1,143 @@ +cmake_minimum_required(VERSION 2.8) +project(libuvc) + +if (NOT CMAKE_BUILD_TYPE) + message(STATUS "No build type selected, default to Release") + set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE) +endif () + +if (NOT CMAKE_BUILD_TARGET) + message(STATUS "No target type selected, default to both shared and static library") + set(CMAKE_BUILD_TARGET "Both" CACHE STRING "" FORCE) +endif() + +set(libuvc_VERSION_MAJOR 0) +set(libuvc_VERSION_MINOR 0) +set(libuvc_VERSION_PATCH 6) +set(libuvc_VERSION ${libuvc_VERSION_MAJOR}.${libuvc_VERSION_MINOR}.${libuvc_VERSION_PATCH}) + +set(libuvc_DESCRIPTION "A cross-platform library for USB video devices") +set(libuvc_URL "https://github.com/ktossell/libuvc") + +find_package(PkgConfig) +pkg_check_modules(LIBUSB libusb-1.0) + +# Try to find JPEG using a module or pkg-config. If that doesn't work, search for the header. +find_package(jpeg QUIET) +if(JPEG_FOUND) + set(JPEG_LINK_FLAGS ${JPEG_LIBRARIES}) +else() + pkg_check_modules(JPEG QUIET libjpeg) + if(JPEG_FOUND) + set(JPEG_INCLUDE_DIR ${JPEG_INCLUDE_DIRS}) + set(JPEG_LINK_FLAGS ${JPEG_LDFLAGS}) + else() + find_path(JPEG_INCLUDE_DIR jpeglib.h) + if(JPEG_INCLUDE_DIR) + set(JPEG_FOUND ON) + set(JPEG_LINK_FLAGS -ljpeg) + endif() + endif() +endif() + +include(GNUInstallDirs) + +SET(CMAKE_C_FLAGS_DEBUG "-g -DUVC_DEBUGGING") + +SET(INSTALL_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/lib/cmake/libuvc" CACHE PATH + "Installation directory for CMake files") + +SET(SOURCES src/ctrl.c src/ctrl-gen.c src/device.c src/diag.c + src/frame.c src/init.c src/stream.c + src/misc.c) + +include_directories( + ${libuvc_SOURCE_DIR}/include + ${libuvc_BINARY_DIR}/include + ${LIBUSB_INCLUDE_DIRS} +) + +if(JPEG_FOUND) + message(STATUS "Building libuvc with JPEG support.") + include_directories(${JPEG_INCLUDE_DIR}) + SET(LIBUVC_HAS_JPEG TRUE) + SET(SOURCES ${SOURCES} src/frame-mjpeg.c) +else() + message(WARNING "JPEG not found. libuvc will not support JPEG decoding.") +endif() + +if(${CMAKE_BUILD_TARGET} MATCHES "Shared") + set(BUILD_UVC_SHARED TRUE) +elseif(${CMAKE_BUILD_TARGET} MATCHES "Static") + set(BUILD_UVC_STATIC TRUE) +elseif(${CMAKE_BUILD_TARGET} MATCHES "Both") + set(BUILD_UVC_SHARED TRUE) + set(BUILD_UVC_STATIC TRUE) +else() + message( FATAL_ERROR "Invalid build type ${CMAKE_BUILD_TARGET}" ) +endif() + +if(BUILD_UVC_SHARED) + add_library(uvc SHARED ${SOURCES}) + list(APPEND UVC_TARGETS uvc) +endif() + +if(BUILD_UVC_STATIC) + add_library(uvc_static STATIC ${SOURCES}) + set_target_properties(uvc_static PROPERTIES OUTPUT_NAME uvc) + list(APPEND UVC_TARGETS uvc_static) +endif() + +configure_file(include/libuvc/libuvc_config.h.in + ${PROJECT_BINARY_DIR}/include/libuvc/libuvc_config.h @ONLY) + +foreach(target_name ${UVC_TARGETS}) + set_target_properties(${target_name} PROPERTIES + PUBLIC_HEADER "include/libuvc/libuvc.h;${libuvc_BINARY_DIR}/include/libuvc/libuvc_config.h" ) +endforeach() + +if(BUILD_UVC_SHARED) + if(JPEG_FOUND) + target_link_libraries (uvc ${JPEG_LINK_FLAGS}) + endif(JPEG_FOUND) + + target_link_libraries(uvc ${LIBUSB_LIBRARIES}) + + #add_executable(test src/test.c) + #target_link_libraries(test uvc ${LIBUSB_LIBRARIES} opencv_highgui + # opencv_core) +endif() + +install(TARGETS ${UVC_TARGETS} + EXPORT libuvcTargets + LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_ARCHITECTURE}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_ARCHITECTURE}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_PREFIX}/include/libuvc" +) + +export(TARGETS ${UVC_TARGETS} + FILE "${PROJECT_BINARY_DIR}/libuvcTargets.cmake") +export(PACKAGE libuvc) + +set(CONF_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include") +set(CONF_LIBRARY_DIR "${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_ARCHITECTURE}") +set(CONF_LIBRARY "${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_ARCHITECTURE}/${CMAKE_SHARED_LIBRARY_PREFIX}uvc${CMAKE_SHARED_LIBRARY_SUFFIX}") + +configure_file(libuvcConfig.cmake.in ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libuvcConfig.cmake) + +configure_file(libuvcConfigVersion.cmake.in ${PROJECT_BINARY_DIR}/libuvcConfigVersion.cmake @ONLY) + +configure_file(libuvc.pc.in ${PROJECT_BINARY_DIR}/libuvc.pc @ONLY) + +install(FILES + "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libuvcConfig.cmake" + "${PROJECT_BINARY_DIR}/libuvcConfigVersion.cmake" + DESTINATION "${INSTALL_CMAKE_DIR}") + +install(EXPORT libuvcTargets + DESTINATION "${INSTALL_CMAKE_DIR}") + +install(FILES + "${PROJECT_BINARY_DIR}/libuvc.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" +)