Changeset: 9646a29e5500 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/9646a29e5500
Added Files:
cmake/Modules/FindHTSLIB.cmake
Modified Files:
cmake/monetdb-defines.cmake
cmake/monetdb-findpackages.cmake
cmake/monetdb-functions.cmake
cmake/monetdb-options.cmake
Branch: samloader
Log Message:
add cmake support for detecting htslib
diffs (102 lines):
diff --git a/cmake/Modules/FindHTSLIB.cmake b/cmake/Modules/FindHTSLIB.cmake
new file mode 100644
--- /dev/null
+++ b/cmake/Modules/FindHTSLIB.cmake
@@ -0,0 +1,47 @@
+# - Find htslib
+# Find the native htslib headers and libraries.
+#
+# HTSLIB_INCLUDE_DIRS - where to find hts.h, etc.
+# HTSLIB_LIBRARIES - List of libraries when using htslib.
+# HTSLIB_FOUND - True if htslib found.
+
+find_package(PkgConfig QUIET)
+pkg_check_modules(PC_HTSLIB QUIET htslib>=1.10)
+
+if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" OR PC_HTSLIB_FOUND)
+ if(NOT WIN32)
+
+ # Look for the header file.
+ find_path(HTSLIB_INCLUDE_DIR NAMES htslib/hts.h
+ HINTS
+ ${PC_HTSLIB_INCLUDEDIR}
+ ${PC_HTSLIB_INCLUDE_DIRS}
+ PATH_SUFFIXES htslib
+ )
+
+ # Look for the library.
+ find_library(HTSLIB_LIBRARIES NAMES hts
+ HINTS
+ ${PC_HTSLIB_LIBDIR}
+ ${PC_HTSLIB_LIBRARY_DIRS}
+ )
+
+ endif()
+endif()
+
+# Handle the QUIETLY and REQUIRED arguments and set HTSLIB_FOUND to TRUE if
all listed variables are TRUE.
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(HTSLIB DEFAULT_MSG HTSLIB_LIBRARIES
HTSLIB_INCLUDE_DIR)
+
+mark_as_advanced(HTSLIB_INCLUDE_DIR HTSLIB_LIBRARIES)
+
+if(HTSLIB_FOUND)
+ add_library(HTSLIB::HTSLIB UNKNOWN IMPORTED)
+ set_target_properties(HTSLIB::HTSLIB
+ PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${HTSLIB_INCLUDE_DIR}")
+ set_target_properties(HTSLIB::HTSLIB
+ PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+ IMPORTED_LOCATION "${HTSLIB_LIBRARIES}")
+endif()
diff --git a/cmake/monetdb-defines.cmake b/cmake/monetdb-defines.cmake
--- a/cmake/monetdb-defines.cmake
+++ b/cmake/monetdb-defines.cmake
@@ -150,6 +150,7 @@ macro(monetdb_macro_variables)
set(SANITIZER ${SANITIZER})
set(HAVE_RTREE ${RTREE_FOUND})
set(HAVE_OPENSSL ${OPENSSL_FOUND})
+ set(HAVE_HTSLIB ${HTSLIB_FOUND})
set(BUILD_TYPE "${CMAKE_BUILD_TYPE}")
if(CMAKE_BUILD_TYPE)
diff --git a/cmake/monetdb-findpackages.cmake b/cmake/monetdb-findpackages.cmake
--- a/cmake/monetdb-findpackages.cmake
+++ b/cmake/monetdb-findpackages.cmake
@@ -138,6 +138,10 @@ if(WITH_OPENSSL)
find_package(OpenSSL 1.1.1)
endif()
+if(WITH_HTSLIB)
+ find_package(HTSLIB)
+endif()
+
find_package(Sphinx)
find_package(Semodule)
find_package(Awk)
diff --git a/cmake/monetdb-functions.cmake b/cmake/monetdb-functions.cmake
--- a/cmake/monetdb-functions.cmake
+++ b/cmake/monetdb-functions.cmake
@@ -81,6 +81,7 @@ function(monetdb_cmake_summary)
message(STATUS "Linux distro: ${LINUX_DISTRO}")
message(STATUS "Linux distro version: ${LINUX_DISTRO_VERSION}")
endif()
+ message(STATUS "hts library: ${HTSLIB_FOUND}")
message(STATUS "Iconv library: ${Iconv_FOUND}")
message(STATUS "Pthread library: ${CMAKE_USE_PTHREADS_INIT}")
message(STATUS "Pcre library: ${PCRE_FOUND}")
diff --git a/cmake/monetdb-options.cmake b/cmake/monetdb-options.cmake
--- a/cmake/monetdb-options.cmake
+++ b/cmake/monetdb-options.cmake
@@ -149,6 +149,10 @@ option(WITH_OPENSSL
"Include TLS support"
ON)
+option(WITH_HTSLIB
+ "Include htslib support"
+ ON)
+
option(CMAKE_SUMMARY
"Show a summary of the cmake configuration (for debug purposes)"
OFF)
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]