1# BAREOS® - Backup Archiving REcovery Open Sourced 2# 3# Copyright (C) 2017-2019 Bareos GmbH & Co. KG 4# 5# This program is Free Software; you can redistribute it and/or 6# modify it under the terms of version three of the GNU Affero General Public 7# License as published by the Free Software Foundation and included 8# in the file LICENSE. 9# 10# This program is distributed in the hope that it will be useful, but 11# WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13# Affero General Public License for more details. 14# 15# You should have received a copy of the GNU Affero General Public License 16# along with this program; if not, write to the Free Software 17# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 18# 02110-1301, USA. 19 20# generic macro to find libraries 21 22macro(BareosFindLibrary LIBNAME) 23 message(STATUS "checking for library ${LIBNAME}...") 24 25 string(TOUPPER ${LIBNAME} LIBNAME_UPCASE) 26 set(INCLUDE_VAR_NAME ${LIBNAME_UPCASE}_INCLUDE_DIRS) 27 set(LIB_VAR_NAME ${LIBNAME_UPCASE}_LIBRARIES) 28 set(FOUND_VAR_NAME ${LIBNAME_UPCASE}_FOUND) 29 set(HAVE_VAR_NAME HAVE_LIB${LIBNAME_UPCASE}) 30 31 find_library(${LIB_VAR_NAME} NAMES ${LIBNAME}) 32 33 set(LIBFOUND ${${LIB_VAR_NAME}}) 34 35 string(REGEX MATCH "-NOTFOUND" LIBNOTFOUND ${LIBFOUND}) 36 # MESSAGE(STATUS "LIB REGEX MATCH: ${LIBNOTFOUND}") 37 string(LENGTH "${LIBNOTFOUND}" LIBNOTFOUND) 38 39 if(NOT ${LIBNOTFOUND}) 40 set(${FOUND_VAR_NAME} TRUE) 41 set(${HAVE_VAR_NAME} 1) 42 else() 43 set(${FOUND_VAR_NAME} FALSE) 44 set(${HAVE_VAR_NAME} 0) 45 endif() 46 47 set(QUIETVALUE ${${QUIET_VAR_NAME}}) 48 set(FOUNDVALUE ${${FOUND_VAR_NAME}}) 49 if(${FOUNDVALUE}) 50 message(STATUS " ${FOUND_VAR_NAME}=${${FOUND_VAR_NAME}}") 51 message(STATUS " ${LIB_VAR_NAME}=${${LIB_VAR_NAME}}") 52 message(STATUS " ${HAVE_VAR_NAME}=${${HAVE_VAR_NAME}}") 53 else() 54 message(STATUS " ERROR: ${LIBNAME} libraries NOT found. ") 55 56 set("${LIB_VAR_NAME}" "") 57 set("${INCLUDE_VAR_NAME}" "") 58 59 message(STATUS " ${FOUND_VAR_NAME}=${${FOUND_VAR_NAME}}") 60 message(STATUS " ${LIB_VAR_NAME}=${${LIB_VAR_NAME}}") 61 message(STATUS " ${HAVE_VAR_NAME}=${${HAVE_VAR_NAME}}") 62 endif() 63 64 mark_as_advanced(${LIB_VAR_NAME} ${FOUND_VAR_NAME}) 65endmacro() 66