The open source OpenXR runtime
at main 101 lines 2.2 kB view raw
1# - try to find libusb-1 library 2# 3# Cache Variables: (probably not for direct use in your scripts) 4# LIBUSB1_LIBRARY 5# LIBUSB1_INCLUDE_DIR 6# 7# Non-cache variables you should use in your CMakeLists.txt: 8# LIBUSB1_LIBRARIES 9# LIBUSB1_INCLUDE_DIRS 10# LIBUSB1_FOUND - if this is not true, do not attempt to use this library 11# 12# Requires these CMake modules: 13# ProgramFilesGlob 14# FindPackageHandleStandardArgs (known included with CMake >=2.6.2) 15# 16# Original Author: 17# 2009-2021 Rylie Pavlik <rylie@ryliepavlik.com> 18# https://ryliepavlik.com/ 19# 20# Copyright 2009-2010, Iowa State University 21# Copyright 2021, Collabora, Ltd. 22# 23# SPDX-License-Identifier: BSL-1.0 24# 25# Distributed under the Boost Software License, Version 1.0. 26# (See accompanying file LICENSE_1_0.txt or copy at 27# http://www.boost.org/LICENSE_1_0.txt) 28 29 30set(LIBUSB1_ROOT_DIR 31 "${LIBUSB1_ROOT_DIR}" 32 CACHE 33 PATH 34 "Root directory to search for libusb-1") 35 36if(WIN32) 37 include(ProgramFilesGlob) 38 program_files_fallback_glob(_dirs "LibUSB-Win32") 39 if(CMAKE_SIZEOF_VOID_P EQUAL 8) 40 if(MSVC) 41 set(_lib_suffixes lib/msvc_x64 MS64/static) 42 endif() 43 else() 44 if(MSVC) 45 set(_lib_suffixes lib/msvc MS32/static) 46 elseif(COMPILER_IS_GNUCXX) 47 set(_lib_suffixes lib/gcc) 48 endif() 49 endif() 50else() 51 set(_lib_suffixes) 52 if(NOT ANDROID) 53 find_package(PkgConfig QUIET) 54 if(PKG_CONFIG_FOUND) 55 pkg_check_modules(PC_LIBUSB1 QUIET libusb-1.0) 56 endif() 57 endif() 58endif() 59 60find_path(LIBUSB1_INCLUDE_DIR 61 NAMES 62 libusb.h 63 PATHS 64 ${PC_LIBUSB1_INCLUDE_DIRS} 65 ${PC_LIBUSB1_INCLUDEDIR} 66 ${_dirs} 67 HINTS 68 "${LIBUSB1_ROOT_DIR}" 69 PATH_SUFFIXES 70 include/libusb-1.0 71 include 72 libusb-1.0) 73 74find_library(LIBUSB1_LIBRARY 75 NAMES 76 libusb-1.0 77 usb-1.0 78 PATHS 79 ${PC_LIBUSB1_LIBRARY_DIRS} 80 ${PC_LIBUSB1_LIBDIR} 81 ${_dirs} 82 HINTS 83 "${LIBUSB1_ROOT_DIR}" 84 PATH_SUFFIXES 85 ${_lib_suffixes}) 86 87include(FindPackageHandleStandardArgs) 88find_package_handle_standard_args(Libusb1 89 DEFAULT_MSG 90 LIBUSB1_LIBRARY 91 LIBUSB1_INCLUDE_DIR) 92 93if(LIBUSB1_FOUND) 94 set(LIBUSB1_LIBRARIES "${LIBUSB1_LIBRARY}") 95 96 set(LIBUSB1_INCLUDE_DIRS "${LIBUSB1_INCLUDE_DIR}") 97 98 mark_as_advanced(LIBUSB1_ROOT_DIR) 99endif() 100 101mark_as_advanced(LIBUSB1_INCLUDE_DIR LIBUSB1_LIBRARY)