FindLibb2: Don't rely solely on pkg-config
Task-number: QTBUG-86283 Change-Id: Ie455d7cfc6e6f9ae8297f8bc0daf2816ccce91b6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
f283f06216
commit
b59f77aab4
@ -1,7 +1,37 @@
|
|||||||
|
# Blake2 contains a reference implementation, libb2 is a more efficient
|
||||||
|
# implementation of a subset of Blake2 functions and should be preferred.
|
||||||
|
# This Find module only searches for libb2 for that reason.
|
||||||
|
|
||||||
|
if(TARGET Libb2::Libb2)
|
||||||
|
set(Libb2_FOUND TRUE)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
find_package(PkgConfig QUIET)
|
find_package(PkgConfig QUIET)
|
||||||
|
|
||||||
|
if(PkgConfig_FOUND)
|
||||||
pkg_check_modules(Libb2 libb2 IMPORTED_TARGET)
|
pkg_check_modules(Libb2 libb2 IMPORTED_TARGET)
|
||||||
|
|
||||||
if (NOT TARGET PkgConfig::Libb2)
|
if (TARGET PkgConfig::Libb2)
|
||||||
set(Libb2_FOUND 0)
|
add_library(Libb2::Libb2 INTERFACE IMPORTED)
|
||||||
|
target_link_libraries(Libb2::Libb2 INTERFACE PkgConfig::Libb2)
|
||||||
|
set(Libb2_FOUND TRUE)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
find_path(LIBB2_INCLUDE_DIR NAMES blake2.h)
|
||||||
|
find_library(LIBB2_LIBRARY NAMES b2)
|
||||||
|
|
||||||
|
if(LIBB2_LIBRARY AND LIBB2_INCLUDE_DIR)
|
||||||
|
add_library(Libb2::Libb2 UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(Libb2::Libb2 PROPERTIES
|
||||||
|
IMPORTED_LOCATION ${LIBB2_LIBRARY}
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES ${LIBB2_INCLUDE_DIR}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(Libb2 REQUIRED_VARS
|
||||||
|
LIBB2_LIBRARY
|
||||||
|
LIBB2_INCLUDE_DIR
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@ -756,7 +756,7 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_doubleconversion AND NOT QT_
|
|||||||
|
|
||||||
qt_internal_extend_target(Core CONDITION QT_FEATURE_system_libb2
|
qt_internal_extend_target(Core CONDITION QT_FEATURE_system_libb2
|
||||||
LIBRARIES
|
LIBRARIES
|
||||||
PkgConfig::Libb2
|
Libb2::Libb2
|
||||||
)
|
)
|
||||||
|
|
||||||
qt_internal_extend_target(Core CONDITION QT_FEATURE_easingcurve
|
qt_internal_extend_target(Core CONDITION QT_FEATURE_easingcurve
|
||||||
|
@ -22,7 +22,7 @@ if(QT_FEATURE_dlopen)
|
|||||||
endif()
|
endif()
|
||||||
qt_find_package(Libsystemd PROVIDED_TARGETS PkgConfig::Libsystemd MODULE_NAME core QMAKE_LIB journald)
|
qt_find_package(Libsystemd PROVIDED_TARGETS PkgConfig::Libsystemd MODULE_NAME core QMAKE_LIB journald)
|
||||||
qt_find_package(WrapAtomic PROVIDED_TARGETS WrapAtomic::WrapAtomic MODULE_NAME core QMAKE_LIB libatomic)
|
qt_find_package(WrapAtomic PROVIDED_TARGETS WrapAtomic::WrapAtomic MODULE_NAME core QMAKE_LIB libatomic)
|
||||||
qt_find_package(Libb2 PROVIDED_TARGETS PkgConfig::Libb2 MODULE_NAME core QMAKE_LIB libb2)
|
qt_find_package(Libb2 PROVIDED_TARGETS Libb2::Libb2 MODULE_NAME core QMAKE_LIB libb2)
|
||||||
qt_find_package(WrapRt PROVIDED_TARGETS WrapRt::WrapRt MODULE_NAME core QMAKE_LIB librt)
|
qt_find_package(WrapRt PROVIDED_TARGETS WrapRt::WrapRt MODULE_NAME core QMAKE_LIB librt)
|
||||||
qt_find_package(LTTngUST PROVIDED_TARGETS LTTng::UST MODULE_NAME core QMAKE_LIB lttng-ust)
|
qt_find_package(LTTngUST PROVIDED_TARGETS LTTng::UST MODULE_NAME core QMAKE_LIB lttng-ust)
|
||||||
qt_add_qmake_lib_dependency(lttng-ust libdl)
|
qt_add_qmake_lib_dependency(lttng-ust libdl)
|
||||||
|
@ -119,7 +119,8 @@
|
|||||||
},
|
},
|
||||||
"headers": "blake2.h",
|
"headers": "blake2.h",
|
||||||
"sources": [
|
"sources": [
|
||||||
{ "type": "pkgConfig", "args": "libb2" }
|
{ "type": "pkgConfig", "args": "libb2" },
|
||||||
|
"-lb2"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"librt": {
|
"librt": {
|
||||||
|
@ -440,7 +440,7 @@ _library_map = [
|
|||||||
LibraryMapping("journald", "Libsystemd", "PkgConfig::Libsystemd"),
|
LibraryMapping("journald", "Libsystemd", "PkgConfig::Libsystemd"),
|
||||||
LibraryMapping("jpeg", "JPEG", "JPEG::JPEG"), # see also libjpeg
|
LibraryMapping("jpeg", "JPEG", "JPEG::JPEG"), # see also libjpeg
|
||||||
LibraryMapping("libatomic", "WrapAtomic", "WrapAtomic::WrapAtomic"),
|
LibraryMapping("libatomic", "WrapAtomic", "WrapAtomic::WrapAtomic"),
|
||||||
LibraryMapping("libb2", "Libb2", "PkgConfig::Libb2"),
|
LibraryMapping("libb2", "Libb2", "Libb2::Libb2"),
|
||||||
LibraryMapping("libclang", "WrapLibClang", "WrapLibClang::WrapLibClang"),
|
LibraryMapping("libclang", "WrapLibClang", "WrapLibClang::WrapLibClang"),
|
||||||
LibraryMapping("libdl", None, "${CMAKE_DL_LIBS}"),
|
LibraryMapping("libdl", None, "${CMAKE_DL_LIBS}"),
|
||||||
LibraryMapping("libinput", "Libinput", "Libinput::Libinput"),
|
LibraryMapping("libinput", "Libinput", "Libinput::Libinput"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user