summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/FindLibmng.cmake35
-rw-r--r--src/imageformats/configure.cmake3
-rw-r--r--src/plugins/imageformats/CMakeLists.txt2
-rw-r--r--src/plugins/imageformats/mng/CMakeLists.txt2
4 files changed, 39 insertions, 3 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()
diff --git a/src/imageformats/configure.cmake b/src/imageformats/configure.cmake
index ab20ce8..b558769 100644
--- a/src/imageformats/configure.cmake
+++ b/src/imageformats/configure.cmake
@@ -17,6 +17,7 @@ set_property(CACHE INPUT_webp PROPERTY STRINGS undefined no qt system)
qt_find_package(WrapJasper PROVIDED_TARGETS WrapJasper::WrapJasper MODULE_NAME imageformats QMAKE_LIB jasper)
qt_find_package(TIFF PROVIDED_TARGETS TIFF::TIFF MODULE_NAME imageformats QMAKE_LIB tiff)
qt_find_package(WrapWebP PROVIDED_TARGETS WrapWebP::WrapWebP MODULE_NAME imageformats QMAKE_LIB webp)
+qt_find_package(Libmng PROVIDED_TARGETS Libmng::Libmng MODULE_NAME imageformats QMAKE_LIB mng)
#### Tests
@@ -33,7 +34,7 @@ qt_feature("jasper" PRIVATE
qt_feature_definition("jasper" "QT_NO_IMAGEFORMAT_JASPER" NEGATE)
qt_feature("mng" PRIVATE
LABEL "MNG"
- CONDITION libs.mng OR FIXME
+ CONDITION Libmng_FOUND
DISABLE INPUT_mng STREQUAL 'no'
)
qt_feature("tiff" PRIVATE
diff --git a/src/plugins/imageformats/CMakeLists.txt b/src/plugins/imageformats/CMakeLists.txt
index 6f7cb49..d360c17 100644
--- a/src/plugins/imageformats/CMakeLists.txt
+++ b/src/plugins/imageformats/CMakeLists.txt
@@ -24,7 +24,7 @@ endif()
if(QT_FEATURE_regularexpression)
add_subdirectory(icns)
endif()
-if(QT_FEATURE_mng AND OFF) # special case: FIXME
+if(QT_FEATURE_mng)
add_subdirectory(mng)
endif()
if(QT_FEATURE_jasper)
diff --git a/src/plugins/imageformats/mng/CMakeLists.txt b/src/plugins/imageformats/mng/CMakeLists.txt
index 9b64cb7..dfb044d 100644
--- a/src/plugins/imageformats/mng/CMakeLists.txt
+++ b/src/plugins/imageformats/mng/CMakeLists.txt
@@ -11,7 +11,7 @@ qt_internal_add_plugin(QMngPlugin
main.cpp
qmnghandler.cpp qmnghandler_p.h
LIBRARIES
- mng
+ Libmng::Libmng
PUBLIC_LIBRARIES
Qt::Core
Qt::Gui