Skip to content

Commit 561b556

Browse files
committed
Clean up FindLibUSB.cmake on Linux and Mac OSX
1 parent ed05f5a commit 561b556

File tree

2 files changed

+23
-15
lines changed

2 files changed

+23
-15
lines changed

examples/protonect/CMakeLists.txt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ PROJECT(libfreenect2)
1414
SET(CMAKE_BUILD_TYPE RelWithDebInfo)
1515

1616
SET(MY_DIR ${libfreenect2_SOURCE_DIR})
17-
SET(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:${MY_DIR}/../../depends/libusb/lib/pkgconfig/")
1817

1918
OPTION(ENABLE_CXX11 "Enable C++11 support" OFF)
2019
OPTION(ENABLE_OPENCL "Enable OpenCL support" ON)
@@ -49,17 +48,20 @@ SET(LIBRARY_OUTPUT_PATH ${MY_DIR}/lib)
4948

5049
# dependencies
5150
find_package(PkgConfig) # try find PKGConfig as it will be used if found
52-
auto_detect_lib(LibUSB-1.0 REQUIRED)
53-
auto_detect_lib(OpenCV REQUIRED)
51+
FIND_PACKAGE(LibUSB REQUIRED)
52+
FIND_PACKAGE(OpenCV REQUIRED)
5453
FIND_PACKAGE(TurboJPEG REQUIRED) #does not provide a package-config file
5554

56-
#hack for buggy libusb pkgconfig file
57-
if(NOT LibUSB_INCLUDE_DIR)
58-
find_path(LibUSB_INCLUDE_DIR NAMES libusb.h PATHS /usr/include/libusb-1.0 )
59-
endif()
60-
6155
# Add includes
62-
INCLUDE_DIRECTORIES("${MY_DIR}/include" ${LIBFREENECT2_THREADING_INCLUDE_DIR} ${OpenCV_INCLUDE_DIRS} ${LibUSB_INCLUDE_DIR} ${TurboJPEG_INCLUDE_DIR})
56+
INCLUDE_DIRECTORIES(
57+
"${MY_DIR}/include"
58+
${LIBFREENECT2_THREADING_INCLUDE_DIR}
59+
${OpenCV_INCLUDE_DIRS}
60+
${LibUSB_INCLUDE_DIRS}
61+
${TurboJPEG_INCLUDE_DIR}
62+
)
63+
64+
LINK_DIRECTORIES(${LibUSB_LIBRARY_DIRS})
6365

6466
if(APPLE AND NOT ${TurboJPEG_FOUND})
6567
# libjpeg-turbo
@@ -178,7 +180,7 @@ IF(ENABLE_OPENCL)
178180
ENDIF(OPENCL_FOUND)
179181
ENDIF(ENABLE_OPENCL)
180182

181-
SET(CMAKE_INSTALL_RPATH ${LibUSB-1.0_LIBDIR})
183+
SET(CMAKE_INSTALL_RPATH ${LibUSB_LIBDIR})
182184

183185
CONFIGURE_FILE("${MY_DIR}/include/libfreenect2/config.h.in" "${MY_DIR}/include/libfreenect2/config.h" @ONLY)
184186
GENERATE_RESOURCES(${RESOURCES_INC_FILE} ${MY_DIR} ${RESOURCES})

examples/protonect/cmake_modules/FindLibUSB.cmake

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,16 @@
77
# LibUSB_INCLUDE_DIR: the directory that contains the include file
88
# LibUSB_LIBRARIES: the libraries
99

10+
IF(PKG_CONFIG_FOUND)
11+
SET(ENV{PKG_CONFIG_PATH} "${CMAKE_SOURCE_DIR}/../../depends/libusb/lib/pkgconfig")
12+
PKG_CHECK_MODULES(LibUSB libusb-1.0)
13+
RETURN()
14+
ENDIF()
15+
1016
include ( CheckLibraryExists )
1117
include ( CheckIncludeFile )
1218

13-
find_path ( LibUSB_INCLUDE_DIR
19+
find_path ( LibUSB_INCLUDE_DIRS
1420
NAMES
1521
libusb.h
1622
PATHS
@@ -20,7 +26,7 @@ find_path ( LibUSB_INCLUDE_DIR
2026
libusb
2127
)
2228

23-
mark_as_advanced ( LibUSB_INCLUDE_DIR )
29+
mark_as_advanced ( LibUSB_INCLUDE_DIRS )
2430

2531
if ( ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" )
2632
# LibUSB binary distribution contains several libs.
@@ -66,12 +72,12 @@ set (LibUSB_LIBRARIES
6672
optimized ${LibUSB_LIBRARY_RELEASE}
6773
)
6874

69-
if ( LibUSB_INCLUDE_DIR AND LibUSB_LIBRARIES )
75+
if ( LibUSB_INCLUDE_DIRS AND LibUSB_LIBRARIES )
7076
set ( LibUSB_FOUND 1 )
71-
endif ( LibUSB_INCLUDE_DIR AND LibUSB_LIBRARIES )
77+
endif ( LibUSB_INCLUDE_DIRS AND LibUSB_LIBRARIES )
7278

7379
if ( LibUSB_FOUND )
74-
set ( CMAKE_REQUIRED_INCLUDES "${LibUSB_INCLUDE_DIR}" )
80+
set ( CMAKE_REQUIRED_INCLUDES "${LibUSB_INCLUDE_DIRS}" )
7581
check_include_file ( usb.h LibUSB_FOUND )
7682
endif ( LibUSB_FOUND )
7783

0 commit comments

Comments
 (0)