cmake: allow looking for optional libraries

And use this to look for libusb.
If it's there then libdivecomputer likely was linked against it. If it isn't
then we don't need it, either.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-04-10 12:08:26 -07:00
parent 25467aa85a
commit 7596db28b5
2 changed files with 7 additions and 6 deletions

View file

@ -22,10 +22,11 @@ endif()
FIND_PACKAGE(PkgConfig) FIND_PACKAGE(PkgConfig)
INCLUDE(cmake/Modules/pkgconfig_helper.cmake) INCLUDE(cmake/Modules/pkgconfig_helper.cmake)
pkg_config_library(LIBXML libxml-2.0) pkg_config_library(LIBXML libxml-2.0 REQUIRED)
pkg_config_library(LIBSQLITE3 sqlite3) pkg_config_library(LIBSQLITE3 sqlite3 REQUIRED)
pkg_config_library(LIBXSLT libxslt) pkg_config_library(LIBXSLT libxslt REQUIRED)
pkg_config_library(LIBZIP libzip) pkg_config_library(LIBZIP libzip REQUIRED)
pkg_config_library(LIBUSB libusb-1.0 QUIET)
# more libraries with special handling in case we build them ourselves # more libraries with special handling in case we build them ourselves

View file

@ -1,5 +1,5 @@
MACRO(pkg_config_library LIBNAME pcfile) MACRO(pkg_config_library LIBNAME pcfile option)
pkg_check_modules(${LIBNAME} REQUIRED ${pcfile}) pkg_check_modules(${LIBNAME} ${option} ${pcfile})
include_directories(${${LIBNAME}_INCLUDE_DIRS}) include_directories(${${LIBNAME}_INCLUDE_DIRS})
link_directories(${${LIBNAME}_LIBRARY_DIRS}) link_directories(${${LIBNAME}_LIBRARY_DIRS})
add_definitions(${${LIBNAME}_CFLAGS_OTHER}) add_definitions(${${LIBNAME}_CFLAGS_OTHER})