diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ set(CMAKE_AUTORCC ON) pkg_check_modules(FLATPAK flatpak>=0.6.12) -find_package(LIBFWUPD 1.0.7) +find_package(LIBFWUPD 1.0.6) if(NOT CMAKE_VERSION VERSION_LESS "3.10.0") # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know about other macros. diff --git a/cmake/FindLIBFWUPD.cmake b/cmake/FindLIBFWUPD.cmake --- a/cmake/FindLIBFWUPD.cmake +++ b/cmake/FindLIBFWUPD.cmake @@ -29,23 +29,29 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. -if(LIBFWUPD_INCLUDE_DIRS AND LIBFWUPD_LIBRARIES) +if(LIBFWUPD_INCLUDE_DIRS AND LIBFWUPD_LIBRARIES AND LIBFWUPD_CONFIG_INCLUDE_DIRS) set(LIBFWUPD_FOUND TRUE) else () + find_package(PkgConfig) + if(PKG_CONFIG_FOUND) + pkg_check_modules(LIBFWUPD_PKG fwupd>=${LIBFWUPD_FIND_VERSION}) + endif() find_library (LIBFWUPD_LIBRARIES - NAMES fwupd libfwupd + NAMES fwupd libfwupd ) find_path (LIBFWUPD_INCLUDE_DIRS NAMES fwupd.h + HINTS ${LIBFWUPD_PKG_INCLUDE_DIRS} PATH_SUFFIXES fwupd-1 - HINTS fwupd-1/libfwupd ) - - if(LIBFWUPD_INCLUDE_DIRS AND LIBFWUPD_LIBRARIES) - set(LIBFWUPD_FOUND TRUE) + + if(LIBFWUPD_INCLUDE_DIRS AND LIBFWUPD_LIBRARIES AND PKG_CONFIG_FOUND) + if(((LIBFWUPD_PKG_VERSION VERSION_GREATER LIBFWUPD_FIND_VERSION) OR (LIBFWUPD_PKG_VERSION VERSION_EQUAL LIBFWUPD_FIND_VERSION))) + set(LIBFWUPD_FOUND TRUE) + endif() endif() endif()