cmake: Search for static libusb-1.0 library on OSX and link with ObjC,CoreFoundation and IOKit frameworks

pull/421/head
Jerry Jacobs 2016-05-20 20:36:41 +02:00
rodzic 48a8ac59e1
commit f8d711818d
2 zmienionych plików z 41 dodań i 28 usunięć

Wyświetl plik

@ -73,7 +73,14 @@ include_directories(src/mingw)
add_library(${PROJECT_NAME} STATIC
${STLINK_HEADERS} # header files for ide projects generated by cmake
${STLINK_SOURCE})
target_link_libraries(${PROJECT_NAME} ${LIBUSB_LIBRARIES})
target_link_libraries(${PROJECT_NAME} ${LIBUSB_LIBRARY})
if (APPLE)
find_library(ObjC objc)
find_library(CoreFoundation CoreFoundation)
find_library(IOKit IOKit)
target_link_libraries(${PROJECT_NAME} ${CoreFoundation} ${IOKit} ${ObjC})
endif()
add_executable(st-flash src/tools/flash.c)
target_link_libraries(st-flash ${PROJECT_NAME})

Wyświetl plik

@ -1,27 +1,33 @@
# 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)
# 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_LIBRARY - 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
)
if (APPLE)
set(LIBUSB_NAME libusb-1.0.a)
else()
set(LIBUSB_NAME usb-1.0)
endif()
FIND_LIBRARY(LIBUSB_LIBRARY NAMES ${LIBUSB_NAME}
HINTS
/usr
/usr/local
/opt
)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Libusb DEFAULT_MSG LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR)
MARK_AS_ADVANCED(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARY)