Fix cmake generate step when cross-compilation against Android

We have find module wrappers for various system libs that use
FindPkgConfig. The _FOUND variable will be set to 1 if pkg-config
--exists returned true, but the imported target will not be created when
for example the provided library paths or header include paths are
outside of the sysroot - a good sanity check by cmake.

We require the targets for use though, so therefore we must unset the
_FOUND variable if we can't locate the targets.

Change-Id: Ia0dea657684a1847148664521265c42585890645
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Simon Hausmann 2019-06-03 13:31:19 +02:00
parent 4c31ce68d5
commit 28306fc1ed
4 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,7 @@
find_package(PkgConfig)
pkg_check_modules(Libproxy libproxy-1.0 IMPORTED_TARGET)
if (NOT TARGET PkgConfig::Libproxy)
set(Libproxy_FOUND 0)
endif()

View File

@ -1,3 +1,7 @@
find_package(PkgConfig)
pkg_check_modules(Libsystemd systemd IMPORTED_TARGET)
if (NOT TARGET PkgConfig::Libsystemd)
set(Libsystemd_FOUND 0)
endif()

View File

@ -1,3 +1,7 @@
find_package(PkgConfig)
pkg_check_modules(Libudev libudev IMPORTED_TARGET)
if (NOT TARGET PkgConfig::Libudev)
set(Libudev_FOUND 0)
endif()

View File

@ -1,3 +1,7 @@
find_package(PkgConfig)
pkg_check_modules(Mtdev mtdev IMPORTED_TARGET)
if (NOT TARGET PkgConfig::MtDev)
set(Mtdev_FOUND 0)
endif()