# ubuntu 12.04 LTS cmake version 2.8.7 # ubuntu 14.04 LTS cmake version 2.8.12.2 # ubuntu 16.04 LTS cmake version 3.5.1 cmake_minimum_required(VERSION 2.8.3) project(usb) set(LIBUSB_C libusb/core.c libusb/descriptor.c libusb/hotplug.c libusb/io.c libusb/strerror.c libusb/sync.c ) if(WIN32) LIST(APPEND LIBUSB_C libusb/os/threads_windows.c libusb/os/poll_windows.c libusb/os/windows_winusb.c libusb/os/windows_nt_common.c libusb/os/windows_usbdk.c ) elseif (APPLE) LIST(APPEND LIBUSB_C libusb/os/poll_posix.c libusb/os/threads_posix.c libusb/os/darwin_usb.c ) elseif(ANDROID) LIST(APPEND LIBUSB_C libusb/os/linux_usbfs.c libusb/os/poll_posix.c libusb/os/threads_posix.c libusb/os/linux_netlink.c ) else() LIST(APPEND LIBUSB_C libusb/os/linux_usbfs.c libusb/os/poll_posix.c libusb/os/threads_posix.c libusb/os/linux_udev.c ) endif() set(LIBUSB_H libusb/libusb.h ) include_directories( libusb libusb/os ) add_library(usb STATIC ${LIBUSB_C} ${LIBUSB_H}) if(WIN32) set_target_properties (usb PROPERTIES FOLDER "3rd Party" ) include_directories(msvc) foreach(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) if(${flag_var} MATCHES "/MD") string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") endif(${flag_var} MATCHES "/MD") endforeach(flag_var) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8") endif() if(ANDROID) include_directories(android) endif() if(APPLE) find_library(corefoundation_lib CoreFoundation) find_library(iokit_lib IOKit) target_include_directories(usb PRIVATE XCode) TARGET_LINK_LIBRARIES(usb objc ${corefoundation_lib} ${iokit_lib}) endif() if((NOT APPLE) AND (NOT ANDROID) AND (NOT WIN32)) TARGET_LINK_LIBRARIES(usb udev) endif() #set_target_properties(usb PROPERTIES PREFIX "") install(TARGETS ${PROJECT_NAME} EXPORT realsense2Targets ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin )