49 lines
1.8 KiB
CMake
49 lines
1.8 KiB
CMake
# - Try to find the GNU Barcode library
|
|
# Once done this will define
|
|
#
|
|
# GNUBARCODE_FOUND - System has GNU Barcode
|
|
# GNUBARCODE_INCLUDE_DIRS - The GNU Barcode include directory
|
|
# GNUBARCODE_LIBRARIES - The libraries needed to use GNU Barcode
|
|
# GNUBARCODE_DEFINITIONS - Definitions needed to use GNU Barcode
|
|
# GNUBARCODE_VERSION_STRING - the version of GNU Barcode found
|
|
|
|
set (GNUBARCODE_DEFINITIONS "")
|
|
|
|
find_path (GNUBARCODE_INCLUDE_DIR NAMES barcode.h PATH_SUFFIXES barcode)
|
|
|
|
find_library (GNUBARCODE_LIBRARY NAMES barcode )
|
|
|
|
if (GNUBARCODE_LIBRARY AND GNUBARCODE_INCLUDE_DIR)
|
|
|
|
set (GNUBARCODE_INCLUDE_DIRS ${GNUBARCODE_INCLUDE_DIR})
|
|
set (GNUBARCODE_LIBRARIES ${GNUBARCODE_LIBRARY})
|
|
set (GNUBARCODE_DEFINITIONS "")
|
|
|
|
if (NOT TARGET GNU::BARCODE)
|
|
|
|
add_library (GNU::BARCODE UNKNOWN IMPORTED)
|
|
set_target_properties (GNU::BARCODE PROPERTIES
|
|
INTERFACE_COMPILE_DEFINITIONS "${GNUBARCODE_DEFINITIONS}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${GNUBARCODE_INCLUDE_DIRS}"
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
IMPORTED_LOCATION "${GNUBARCODE_LIBRARY}"
|
|
)
|
|
|
|
endif ()
|
|
|
|
endif ()
|
|
|
|
if (GNUBARCODE_INCLUDE_DIR AND EXISTS "${GNUBARCODE_INCLUDE_DIR}/barcode.h")
|
|
file (STRINGS "${GNUBARCODE_INCLUDE_DIR}/barcode.h" BARCODE_H REGEX "^#define BARCODE_VERSION *\"[^\"]*\"")
|
|
string (REGEX REPLACE "^.*VERSION *\"([^\"]*)\"" "\\1" GNUBARCODE_VERSION_STRING ${BARCODE_H})
|
|
endif()
|
|
|
|
# handle the QUIETLY and REQUIRED arguments and set GNUBARCODE_FOUND to TRUE if
|
|
# all listed variables are TRUE
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(GnuBarcode
|
|
REQUIRED_VARS GNUBARCODE_LIBRARY GNUBARCODE_INCLUDE_DIR
|
|
VERSION_VAR GNUBARCODE_VERSION_STRING)
|
|
|
|
mark_as_advanced(GNUBARCODE_INCLUDE_DIR GNUBARCODE_LIBRARY)
|