summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-04-10 12:08:26 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-04-10 12:08:26 -0700
commit7596db28b5ad55f8ff7cfd7c04eda8febe9ba012 (patch)
tree593f31b8e52846cd680dc0dba40fed2f4d58ffa5
parent25467aa85a533638ad9c727539ebc093bba4c489 (diff)
downloadsubsurface-7596db28b5ad55f8ff7cfd7c04eda8febe9ba012.tar.gz
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>
-rw-r--r--CMakeLists.txt9
-rw-r--r--cmake/Modules/pkgconfig_helper.cmake4
2 files changed, 7 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index acb078785..acd9577dc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,10 +22,11 @@ endif()
FIND_PACKAGE(PkgConfig)
INCLUDE(cmake/Modules/pkgconfig_helper.cmake)
-pkg_config_library(LIBXML libxml-2.0)
-pkg_config_library(LIBSQLITE3 sqlite3)
-pkg_config_library(LIBXSLT libxslt)
-pkg_config_library(LIBZIP libzip)
+pkg_config_library(LIBXML libxml-2.0 REQUIRED)
+pkg_config_library(LIBSQLITE3 sqlite3 REQUIRED)
+pkg_config_library(LIBXSLT libxslt REQUIRED)
+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
diff --git a/cmake/Modules/pkgconfig_helper.cmake b/cmake/Modules/pkgconfig_helper.cmake
index afb523855..f53a1064d 100644
--- a/cmake/Modules/pkgconfig_helper.cmake
+++ b/cmake/Modules/pkgconfig_helper.cmake
@@ -1,5 +1,5 @@
-MACRO(pkg_config_library LIBNAME pcfile)
- pkg_check_modules(${LIBNAME} REQUIRED ${pcfile})
+MACRO(pkg_config_library LIBNAME pcfile option)
+ pkg_check_modules(${LIBNAME} ${option} ${pcfile})
include_directories(${${LIBNAME}_INCLUDE_DIRS})
link_directories(${${LIBNAME}_LIBRARY_DIRS})
add_definitions(${${LIBNAME}_CFLAGS_OTHER})