From 2b6ecffc7fb32ca6316289f83fcad739ef69c659 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald <matthias@ringwald.ch> Date: Thu, 21 Jan 2021 18:57:04 +0100 Subject: [PATCH] cmake: use pkg config for libusb compile/link flags --- port/libusb/CMakeLists.txt | 15 ++++++++------- port/qt-h4/CMakeLists.txt | 8 -------- port/qt-usb/CMakeLists.txt | 15 ++++++++------- test/auto-pts/CMakeLists.txt | 15 ++++++++------- test/avdtp/CMakeLists.txt | 12 +++++------- test/hfp/CMakeLists.txt | 16 +++++++++------- test/mesh/CMakeLists.txt | 15 ++++++++------- test/pts/CMakeLists.txt | 15 ++++++++------- 8 files changed, 54 insertions(+), 57 deletions(-) diff --git a/port/libusb/CMakeLists.txt b/port/libusb/CMakeLists.txt index 748a1bb54..ced07e39b 100644 --- a/port/libusb/CMakeLists.txt +++ b/port/libusb/CMakeLists.txt @@ -1,13 +1,14 @@ cmake_minimum_required (VERSION 3.5) project(BTstack) -# add libusb -find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "include" "libusb" "libusb-1.0") -find_library(LIBUSB_LIBRARY NAMES usb-1.0 PATH_SUFFIXES "lib" "lib32" "lib64" "dylib") -get_filename_component(LIBUSB_LIBRARY_PATH ${LIBUSB_LIBRARY} DIRECTORY) -include_directories( ${LIBUSB_INCLUDE_DIR} ) -link_directories( ${LIBUSB_LIBRARY_PATH} ) -link_libraries( usb-1.0 ) +# fink pkgconfig +find_package(PkgConfig REQUIRED) + +# libusb +pkg_check_modules(LIBUSB REQUIRED libusb-1.0) +include_directories(${LIBUSB_INCLUDE_DIRS}) +link_directories(${LIBUSB_LIBRARY_DIRS}) +link_libraries(${LIBUSB_LIBRARIES}) # extra compiler warnings if ("${CMAKE_C_COMPILER_ID}" MATCHES ".*Clang.*") diff --git a/port/qt-h4/CMakeLists.txt b/port/qt-h4/CMakeLists.txt index 8dc64bbb3..fdc340125 100644 --- a/port/qt-h4/CMakeLists.txt +++ b/port/qt-h4/CMakeLists.txt @@ -124,14 +124,6 @@ IF (WIN32) ELSE() message("Building for POSIX using libusb") - # add libusb - find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "include" "libusb" "libusb-1.0") - find_library(LIBUSB_LIBRARY NAMES usb-1.0 PATH_SUFFIXES "lib" "lib32" "lib64" "dylib") - get_filename_component(LIBUSB_LIBRARY_PATH ${LIBUSB_LIBRARY} DIRECTORY) - include_directories( ${LIBUSB_INCLUDE_DIR} ) - link_directories( ${LIBUSB_LIBRARY_PATH} ) - link_libraries( usb-1.0 ) - set(SOURCES_HCI_USB ${BTSTACK_ROOT}/platform/libusb/hci_transport_h2_libusb.c) set(SOURCES_STDIN ${BTSTACK_ROOT}/platform/posix/btstack_stdin_posix.c) diff --git a/port/qt-usb/CMakeLists.txt b/port/qt-usb/CMakeLists.txt index 0918517ff..23b3d9c9f 100644 --- a/port/qt-usb/CMakeLists.txt +++ b/port/qt-usb/CMakeLists.txt @@ -115,13 +115,14 @@ IF (WIN32) ELSE() message("Building for POSIX using libusb") - # add libusb - find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "include" "libusb" "libusb-1.0") - find_library(LIBUSB_LIBRARY NAMES usb-1.0 PATH_SUFFIXES "lib" "lib32" "lib64" "dylib") - get_filename_component(LIBUSB_LIBRARY_PATH ${LIBUSB_LIBRARY} DIRECTORY) - include_directories( ${LIBUSB_INCLUDE_DIR} ) - link_directories( ${LIBUSB_LIBRARY_PATH} ) - link_libraries( usb-1.0 ) + # fink pkgconfig + find_package(PkgConfig REQUIRED) + + # libusb + pkg_check_modules(LIBUSB REQUIRED libusb-1.0) + include_directories(${LIBUSB_INCLUDE_DIRS}) + link_directories(${LIBUSB_LIBRARY_DIRS}) + link_libraries(${LIBUSB_LIBRARIES}) set(SOURCES_HCI_USB ${BTSTACK_ROOT}/platform/libusb/hci_transport_h2_libusb.c) set(SOURCES_STDIN ${BTSTACK_ROOT}/platform/posix/btstack_stdin_posix.c) diff --git a/test/auto-pts/CMakeLists.txt b/test/auto-pts/CMakeLists.txt index 8ff53e05f..706ef9cb7 100644 --- a/test/auto-pts/CMakeLists.txt +++ b/test/auto-pts/CMakeLists.txt @@ -1,13 +1,14 @@ cmake_minimum_required (VERSION 3.5) project(BTstack) -# add libusb -find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "include" "libusb" "libusb-1.0") -find_library(LIBUSB_LIBRARY NAMES usb-1.0 PATH_SUFFIXES "lib" "lib32" "lib64" "dylib") -get_filename_component(LIBUSB_LIBRARY_PATH ${LIBUSB_LIBRARY} DIRECTORY) -include_directories( ${LIBUSB_INCLUDE_DIR} ) -link_directories( ${LIBUSB_LIBRARY_PATH} ) -link_libraries( usb-1.0 ) +# fink pkgconfig +find_package(PkgConfig REQUIRED) + +# libusb +pkg_check_modules(LIBUSB REQUIRED libusb-1.0) +include_directories(${LIBUSB_INCLUDE_DIRS}) +link_directories(${LIBUSB_LIBRARY_DIRS}) +link_libraries(${LIBUSB_LIBRARIES}) # add all directories include_directories(../../3rd-party/micro-ecc) diff --git a/test/avdtp/CMakeLists.txt b/test/avdtp/CMakeLists.txt index c56eda319..a5747d94e 100644 --- a/test/avdtp/CMakeLists.txt +++ b/test/avdtp/CMakeLists.txt @@ -1,13 +1,11 @@ cmake_minimum_required (VERSION 3.5) project(test-hfp) -# add libusb -find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "include" "libusb" "libusb-1.0") -find_library(LIBUSB_LIBRARY NAMES usb-1.0 PATH_SUFFIXES "lib" "lib32" "lib64" "dylib") -get_filename_component(LIBUSB_LIBRARY_PATH ${LIBUSB_LIBRARY} DIRECTORY) -include_directories( ${LIBUSB_INCLUDE_DIR} ) -link_directories( ${LIBUSB_LIBRARY_PATH} ) -link_libraries( usb-1.0 ) +# libusb +pkg_check_modules(LIBUSB REQUIRED libusb-1.0) +include_directories(${LIBUSB_INCLUDE_DIRS}) +link_directories(${LIBUSB_LIBRARY_DIRS}) +link_libraries(${LIBUSB_LIBRARIES}) # add CppUTest include_directories("/usr/local/include") diff --git a/test/hfp/CMakeLists.txt b/test/hfp/CMakeLists.txt index 87f96108d..7e968bbc0 100644 --- a/test/hfp/CMakeLists.txt +++ b/test/hfp/CMakeLists.txt @@ -1,13 +1,14 @@ cmake_minimum_required (VERSION 3.5) project(test-hfp) -# add libusb -find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "include" "libusb" "libusb-1.0") -find_library(LIBUSB_LIBRARY NAMES usb-1.0 PATH_SUFFIXES "lib" "lib32" "lib64" "dylib") -get_filename_component(LIBUSB_LIBRARY_PATH ${LIBUSB_LIBRARY} DIRECTORY) -include_directories( ${LIBUSB_INCLUDE_DIR} ) -link_directories( ${LIBUSB_LIBRARY_PATH} ) -link_libraries( usb-1.0 ) +# fink pkgconfig +find_package(PkgConfig REQUIRED) + +# libusb +pkg_check_modules(LIBUSB REQUIRED libusb-1.0) +include_directories(${LIBUSB_INCLUDE_DIRS}) +link_directories(${LIBUSB_LIBRARY_DIRS}) +link_libraries(${LIBUSB_LIBRARIES}) # add CppUTest include_directories("/usr/local/include") @@ -44,6 +45,7 @@ file(GLOB SOURCES_HXCMOD "../../3rd-party/hxcmod-player/*.c" "../../3rd-part file(GLOB SOURCES_RIJNDAEL "../../3rd-party/rijndael/rijndael.c") file(GLOB SOURCES_POSIX "../../platform/posix/*.c") file(GLOB SOURCES_LIBUSB "../../port/libusb/*.c" "../../platform/libusb/*.c") +file(GLOB SOURCES_ZEPHYR "../../chipset/zephyr/*.c") file(GLOB SOURCES_BLE_OFF "../../src/ble/le_device_db_memory.c") list(REMOVE_ITEM SOURCES_BLE ${SOURCES_BLE_OFF}) diff --git a/test/mesh/CMakeLists.txt b/test/mesh/CMakeLists.txt index 0532ba2fa..3746af29c 100644 --- a/test/mesh/CMakeLists.txt +++ b/test/mesh/CMakeLists.txt @@ -11,13 +11,14 @@ set(CMAKE_XCODE_GENERATE_SCHEME ON) set(CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER ON) set(CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN ON) -# add libusb -find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "include" "libusb" "libusb-1.0") -find_library(LIBUSB_LIBRARY NAMES usb-1.0 PATH_SUFFIXES "lib" "lib32" "lib64" "dylib") -get_filename_component(LIBUSB_LIBRARY_PATH ${LIBUSB_LIBRARY} DIRECTORY) -include_directories( ${LIBUSB_INCLUDE_DIR} ) -link_directories( ${LIBUSB_LIBRARY_PATH} ) -link_libraries( usb-1.0 ) +# fink pkgconfig +find_package(PkgConfig REQUIRED) + +# libusb +pkg_check_modules(LIBUSB REQUIRED libusb-1.0) +include_directories(${LIBUSB_INCLUDE_DIRS}) +link_directories(${LIBUSB_LIBRARY_DIRS}) +link_libraries(${LIBUSB_LIBRARIES}) include_directories(../../3rd-party/micro-ecc) include_directories(../../3rd-party/tinydir) diff --git a/test/pts/CMakeLists.txt b/test/pts/CMakeLists.txt index 70d3e233b..7da03194c 100644 --- a/test/pts/CMakeLists.txt +++ b/test/pts/CMakeLists.txt @@ -1,13 +1,14 @@ cmake_minimum_required (VERSION 3.5) project(PTS) -# add libusb -find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "include" "libusb" "libusb-1.0") -find_library(LIBUSB_LIBRARY NAMES usb-1.0 PATH_SUFFIXES "lib" "lib32" "lib64" "dylib") -get_filename_component(LIBUSB_LIBRARY_PATH ${LIBUSB_LIBRARY} DIRECTORY) -include_directories( ${LIBUSB_INCLUDE_DIR} ) -link_directories( ${LIBUSB_LIBRARY_PATH} ) -link_libraries( usb-1.0 ) +# fink pkgconfig +find_package(PkgConfig REQUIRED) + +# libusb +pkg_check_modules(LIBUSB REQUIRED libusb-1.0) +include_directories(${LIBUSB_INCLUDE_DIRS}) +link_directories(${LIBUSB_LIBRARY_DIRS}) +link_libraries(${LIBUSB_LIBRARIES}) include_directories(../../3rd-party/micro-ecc) include_directories(../../3rd-party/bluedroid/decoder/include)