summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorNiclas Rosenvik <nros@netbsd.org>2021-02-20 15:11:09 +0000
committerNiclas Rosenvik <nros@netbsd.org>2021-02-24 14:38:58 +0000
commit96992c3f771c47f4333a907463de4688830cafd8 (patch)
tree6c559415e4f223a01d3195fdc7081a886533343f /cmake
parent9e3f5efe50fe5f6925404c822eec9924b37194a4 (diff)
downloadqtimageformats-96992c3f771c47f4333a907463de4688830cafd8.tar.gz
Fix mng image plugin in cmake build
Add cmake/FindLibmng.cmake based on qtbase/cmake/FindLibb2.cmake . Enable mng if found and link to the imported target provided by FindLibmng.cmake so that mng can be used. Libmng 1 did not come with a pkgconfig file and it is still in use so FindLibmng will use the normal cmake procedures if pkgconfig fails to find libmng. Pick-to: 6.1 Change-Id: Iecf4ede700b1bfdab84c98c7333547f0bcecc6b3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindLibmng.cmake35
1 files changed, 35 insertions, 0 deletions
diff --git a/cmake/FindLibmng.cmake b/cmake/FindLibmng.cmake
new file mode 100644
index 0000000..8168530
--- /dev/null
+++ b/cmake/FindLibmng.cmake
@@ -0,0 +1,35 @@
+if(TARGET Libmng::Libmng)
+ set(Libmng_FOUND TRUE)
+ return()
+endif()
+
+find_package(PkgConfig QUIET)
+
+if(PkgConfig_FOUND)
+ pkg_check_modules(Libmng IMPORTED_TARGET libmng)
+
+ if(TARGET PkgConfig::Libmng)
+ add_library(Libmng::Libmng INTERFACE IMPORTED)
+ target_link_libraries(Libmng::Libmng INTERFACE PkgConfig::Libmng)
+ set(Libmng_FOUND TRUE)
+ endif()
+endif()
+
+if(NOT TARGET Libmng::Libmng)
+ find_library(LIBMNG_LIBRARY NAMES mng)
+ find_path(LIBMNG_INCLUDE_DIR libmng.h)
+
+ if(LIBMNG_LIBRARY AND LIBMNG_INCLUDE_DIR)
+ add_library(Libmng::Libmng UNKNOWN IMPORTED)
+ set_target_properties(Libmng::Libmng PROPERTIES
+ IMPORTED_LOCATION ${LIBMNG_LIBRARY}
+ INTERFACE_INCLUDE_DIRECTORIES ${LIBMNG_INCLUDE_DIR}
+ )
+ endif()
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(Libmng REQUIRED_VARS
+ LIBMNG_LIBRARY
+ LIBMNG_INCLUDE_DIR
+ )
+endif()