summaryrefslogtreecommitdiffstats
path: root/cmake/FindWrapZLIB.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/FindWrapZLIB.cmake')
-rw-r--r--cmake/FindWrapZLIB.cmake43
1 files changed, 14 insertions, 29 deletions
diff --git a/cmake/FindWrapZLIB.cmake b/cmake/FindWrapZLIB.cmake
index 585dc5e95e..6cf60fab9f 100644
--- a/cmake/FindWrapZLIB.cmake
+++ b/cmake/FindWrapZLIB.cmake
@@ -1,29 +1,14 @@
-# We can't create the same interface imported target multiple times, CMake will complain if we do
-# that. This can happen if the find_package call is done in multiple different subdirectories.
-if(TARGET WrapZLIB::WrapZLIB)
- set(WrapZLIB_FOUND ON)
- return()
-endif()
-
-set(WrapZLIB_FOUND OFF)
-
-find_package(ZLIB ${WrapZLIB_FIND_VERSION})
-
-if(ZLIB_FOUND)
- set(WrapZLIB_FOUND ON)
-
- add_library(WrapZLIB::WrapZLIB INTERFACE IMPORTED)
- if(APPLE)
- # On Darwin platforms FindZLIB sets IMPORTED_LOCATION to the absolute path of the library
- # within the framework. This ends up as an absolute path link flag, which we don't want,
- # because that makes our .prl files un-relocatable and also breaks iOS simulator_and_device
- # SDK switching in Xcode.
- # Just pass a linker flag instead.
- target_link_libraries(WrapZLIB::WrapZLIB INTERFACE "-lz")
- else()
- target_link_libraries(WrapZLIB::WrapZLIB INTERFACE ZLIB::ZLIB)
- endif()
-endif()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(WrapZLIB DEFAULT_MSG WrapZLIB_FOUND)
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+include(QtFindWrapHelper NO_POLICY_SCOPE)
+
+qt_find_package_system_or_bundled(wrap_zlib
+ FRIENDLY_PACKAGE_NAME "ZLIB"
+ WRAP_PACKAGE_TARGET "WrapZLIB::WrapZLIB"
+ WRAP_PACKAGE_FOUND_VAR_NAME "WrapZLIB_FOUND"
+ BUNDLED_PACKAGE_NAME "BundledZLIB"
+ BUNDLED_PACKAGE_TARGET "BundledZLIB"
+ SYSTEM_PACKAGE_NAME "WrapSystemZLIB"
+ SYSTEM_PACKAGE_TARGET "WrapSystemZLIB::WrapSystemZLIB"
+)