X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;ds=sidebyside;f=app%2Fsrc%2Fmain%2Fjni%2Flibuvc%2FCMakeLists.txt;fp=app%2Fsrc%2Fmain%2Fjni%2Flibuvc%2FCMakeLists.txt;h=6942369ce36f7c102e0bf7535838e8a134ade3cf;hb=831cc09829bc6e18d8d0d8bb78063e89ea565ce9;hp=0000000000000000000000000000000000000000;hpb=061580c83656bf358b01a6b78fd22ae9bd497728;p=rtmpclient.git diff --git a/app/src/main/jni/libuvc/CMakeLists.txt b/app/src/main/jni/libuvc/CMakeLists.txt new file mode 100644 index 0000000..6942369 --- /dev/null +++ b/app/src/main/jni/libuvc/CMakeLists.txt @@ -0,0 +1,107 @@ +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 shared library") + set(CMAKE_BUILD_TARGET "Shared" CACHE STRING "" FORCE) +endif() + +set(libuvc_VERSION_MAJOR 0) +set(libuvc_VERSION_MINOR 0) +set(libuvc_VERSION_PATCH 4) +set(libuvc_VERSION ${libuvc_VERSION_MAJOR}.${libuvc_VERSION_MINOR}.${libuvc_VERSION_PATCH}) + +find_library(LIBUSB_LIBRARY_NAMES usb-1.0 + PATHS /opt/local/lib) + +find_path(LIBUSB_INCLUDE_DIR libusb-1.0/libusb.h + PATHS /opt/local/include) + +# Try to find JPEG using a module or pkg-config. If that doesn't work, search for the header. +find_package(jpeg QUIET) +if(NOT JPEG_FOUND) + find_path(JPEG_INCLUDE_DIR jpeglib.h) + if(JPEG_INCLUDE_DIR) + set(JPEG_FOUND ON) + set(JPEG_LIBRARIES -ljpeg) + endif() +endif() + +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/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_DIR} +) + +if(JPEG_FOUND) + message(STATUS "Building libuvc with JPEG support.") + include_directories(${JPEG_INCLUDE_DIR}) + SET(HAVE_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") + add_library(uvc SHARED ${SOURCES}) +elseif(${CMAKE_BUILD_TARGET} MATCHES "Static") + add_library(uvc STATIC ${SOURCES}) +else() + message( FATAL_ERROR "Invalid build type ${CMAKE_BUILD_TARGET}" ) +endif() + +configure_file(include/libuvc/libuvc_config.h.in + ${PROJECT_BINARY_DIR}/include/libuvc/libuvc_config.h @ONLY) + +set_target_properties(uvc PROPERTIES + PUBLIC_HEADER "include/libuvc/libuvc.h;${libuvc_BINARY_DIR}/include/libuvc/libuvc_config.h" ) + +if(JPEG_FOUND) + target_link_libraries (uvc ${JPEG_LIBRARIES}) +endif(JPEG_FOUND) + +target_link_libraries(uvc ${LIBUSB_LIBRARY_NAMES}) + +#add_executable(test src/test.c) +#target_link_libraries(test uvc ${LIBUSB_LIBRARY_NAMES} opencv_highgui +# opencv_core) + +install(TARGETS uvc + EXPORT libuvcTargets + LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" + ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_PREFIX}/include/libuvc" +) + +export(TARGETS uvc + FILE "${PROJECT_BINARY_DIR}/libuvcTargets.cmake") +export(PACKAGE libuvc) + +set(CONF_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include") +set(CONF_LIBRARY "${CMAKE_INSTALL_PREFIX}/lib/libuvc.so") + +configure_file(libuvcConfig.cmake.in ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libuvcConfig.cmake) + +configure_file(libuvcConfigVersion.cmake.in ${PROJECT_BINARY_DIR}/libuvcConfigVersion.cmake @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}")