CMake: Dont use pkg-config to find libusb on Mac OSX, rewrite to CMake find module...
authorJerry Jacobs <jerry.jacobs@xor-gate.org>
Thu, 5 May 2016 10:52:58 +0000 (12:52 +0200)
committerJerry Jacobs <jerry.jacobs@xor-gate.org>
Thu, 5 May 2016 10:52:58 +0000 (12:52 +0200)
CMakeLists.txt
cmake/modules/FindLibUSB.cmake [new file with mode: 0644]

index cd329bb18e5fb32b4f2d4b027762eceaf0059d3a..d26f03c8ffe7f490164d74c4e40937ea02069637 100644 (file)
@@ -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 (file)
index 0000000..2e518a7
--- /dev/null
@@ -0,0 +1,27 @@
+# FindLibUSB.cmake - Try to find the Hiredis library\r
+# Once done this will define\r
+#\r
+#  LIBUSB_FOUND - System has libusb\r
+#  LIBUSB_INCLUDE_DIR - The libusb include directory\r
+#  LIBUSB_LIBRARIES - The libraries needed to use libusb\r
+#  LIBUSB_DEFINITIONS - Compiler switches required for using libusb\r
+\r
+FIND_PATH(LIBUSB_INCLUDE_DIR NAMES libusb.h\r
+   HINTS\r
+   /usr\r
+   /usr/local\r
+   /opt\r
+   PATH_SUFFIXES libusb-1.0\r
+   )\r
+\r
+FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0\r
+   HINTS\r
+   /usr\r
+   /usr/local\r
+   /opt\r
+   )\r
+\r
+INCLUDE(FindPackageHandleStandardArgs)\r
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Libusb DEFAULT_MSG LIBUSB_LIBRARIES LIBUSB_INCLUDE_DIR)\r
+\r
+MARK_AS_ADVANCED(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES)\r