From: Jerry Jacobs Date: Thu, 5 May 2016 10:52:58 +0000 (+0200) Subject: CMake: Dont use pkg-config to find libusb on Mac OSX, rewrite to CMake find module... X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=d15a2535cae3a76608fe9e7b3a7da27f409fa400;p=fw%2Fstlink CMake: Dont use pkg-config to find libusb on Mac OSX, rewrite to CMake find module (tested on homebrew only) --- diff --git a/CMakeLists.txt b/CMakeLists.txt index cd329bb..d26f03c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,9 @@ cmake_minimum_required(VERSION 2.8.7) include(CheckCCompilerFlag) find_package(PkgConfig) -pkg_check_modules(libusb REQUIRED libusb-1.0) +set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_SOURCE_DIR}/cmake/modules") + +find_package(LibUSB REQUIRED) pkg_check_modules(gtk gtk+-3.0) function(add_cflag_if_supported flag) @@ -57,14 +59,14 @@ set(CFILES src/stlink-common.c src/uglylogging.c ) -include_directories(${libusb_INCLUDE_DIRS}) +include_directories(${LIBUSB_INCLUDE_DIR}) include_directories(src) include_directories(mingw) add_library(${PROJECT_NAME} STATIC ${HFILES} # header files for ide projects generated by cmake ${CFILES}) -target_link_libraries(${PROJECT_NAME} ${libusb_LDFLAGS}) +target_link_libraries(${PROJECT_NAME} ${LIBUSB_LIBRARIES}) add_executable(st-flash flash/main.c) target_link_libraries(st-flash ${PROJECT_NAME}) diff --git a/cmake/modules/FindLibUSB.cmake b/cmake/modules/FindLibUSB.cmake new file mode 100644 index 0000000..2e518a7 --- /dev/null +++ b/cmake/modules/FindLibUSB.cmake @@ -0,0 +1,27 @@ +# FindLibUSB.cmake - Try to find the Hiredis library +# Once done this will define +# +# LIBUSB_FOUND - System has libusb +# LIBUSB_INCLUDE_DIR - The libusb include directory +# LIBUSB_LIBRARIES - The libraries needed to use libusb +# LIBUSB_DEFINITIONS - Compiler switches required for using libusb + +FIND_PATH(LIBUSB_INCLUDE_DIR NAMES libusb.h + HINTS + /usr + /usr/local + /opt + PATH_SUFFIXES libusb-1.0 + ) + +FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0 + HINTS + /usr + /usr/local + /opt + ) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Libusb DEFAULT_MSG LIBUSB_LIBRARIES LIBUSB_INCLUDE_DIR) + +MARK_AS_ADVANCED(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES)