From: Fabrice Fontaine Date: Fri, 13 May 2022 16:11:50 +0000 (+0200) Subject: CMakeLists.txt: fix static build with libusb and -latomic X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=commitdiff_plain;h=b5b8fab6063ad90bb5ef05a72708ecde1796bc81;hp=0684c1b1be9ccb893829c20a8505c91e101bbf43 CMakeLists.txt: fix static build with libusb and -latomic Use pkg-config to retrieve libusb dependencies such as -latomic and avoid the following static build failure: /nvmedata/autobuild/instance-29/output-1/per-package/libftdi1/host/bin/../lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /nvmedata/autobuild/instance-29/output-1/per-package/libftdi1/host/sparc-buildroot-linux-uclibc/sysroot/lib/libusb-1.0.a(core.o): in function `libusb_unref_device': /nvmedata/autobuild/instance-29/output-1/build/libusb-1.0.25/libusb/core.c:1186: undefined reference to `__atomic_fetch_add_4' Fixes: - http://autobuild.buildroot.org/results/1ca7cd85ae60ad4797a6d8a83b2fb51d7eab96d9 Signed-off-by: Fabrice Fontaine --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 58f664a..d20aa94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,8 +25,16 @@ if(${CMAKE_BUILD_TYPE} STREQUAL Debug) endif(${CMAKE_BUILD_TYPE} STREQUAL Debug) # find libusb -find_package ( USB1 REQUIRED ) -include_directories ( ${LIBUSB_INCLUDE_DIR} ) +find_package( PkgConfig ) +if (PkgConfig_FOUND) + pkg_check_modules( LIBUSB libusb-1.0 ) + if (LIBUSB_FOUND) + include_directories ( ${LIBUSB_INCLUDE_DIRS} ) + else() + find_package ( USB1 REQUIRED ) + include_directories ( ${LIBUSB_INCLUDE_DIR} ) + endif() +endif() # Find Boost if (FTDIPP OR BUILD_TESTS)