PKGBUILDs/qt6-base/mingw-w64/0001-Use-CMake-s-default-im...

105 lines
4.4 KiB
Diff

From b9fa200e7404db3edae936f7975526b78bad556a Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Mon, 14 Sep 2020 20:39:52 +0200
Subject: [PATCH 1/3] Use CMake's default import library suffix
Change-Id: I371abd37c85bd8edf338c16b149dbcaa872a85bd
---
cmake/QtPriHelpers.cmake | 8 +++++++-
cmake/QtPrlHelpers.cmake | 8 +++++++-
cmake/QtTargetHelpers.cmake | 2 --
mkspecs/common/g++-win32.conf | 1 +
mkspecs/features/create_cmake.prf | 5 +++--
5 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake
index 007acc95dd..8dd7ca63d2 100644
--- a/cmake/QtPriHelpers.cmake
+++ b/cmake/QtPriHelpers.cmake
@@ -293,11 +293,17 @@ QT.${config_module_name}_private.disabled_features = ${disabled_private_features
qt_path_join(private_pri_file_path "${target_path}" "${private_pri_file_name}")
list(APPEND pri_files "${private_pri_file_path}")
- set(library_prefixes ${CMAKE_SHARED_LIBRARY_PREFIX} ${CMAKE_STATIC_LIBRARY_PREFIX})
+ set(library_prefixes
+ ${CMAKE_SHARED_LIBRARY_PREFIX}
+ ${CMAKE_IMPORT_LIBRARY_PREFIX}
+ ${CMAKE_STATIC_LIBRARY_PREFIX})
set(library_suffixes
${CMAKE_SHARED_LIBRARY_SUFFIX}
+ ${CMAKE_CMAKE_IMPORT_LIBRARY_SUFFIX}
${CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES}
${CMAKE_STATIC_LIBRARY_SUFFIX})
+ list(REMOVE_DUPLICATES library_prefixes)
+ list(REMOVE_DUPLICATES library_suffixes)
add_custom_command(
OUTPUT "${private_pri_file_path}"
DEPENDS ${inputs}
diff --git a/cmake/QtPrlHelpers.cmake b/cmake/QtPrlHelpers.cmake
index 7977afd030..7488d5f959 100644
--- a/cmake/QtPrlHelpers.cmake
+++ b/cmake/QtPrlHelpers.cmake
@@ -248,11 +248,17 @@ QMAKE_PRL_VERSION = ${PROJECT_VERSION}
CONTENT
"FINAL_PRL_FILE_PATH = ${final_prl_file_path}")
- set(library_prefixes ${CMAKE_SHARED_LIBRARY_PREFIX} ${CMAKE_STATIC_LIBRARY_PREFIX})
+ set(library_prefixes
+ ${CMAKE_SHARED_LIBRARY_PREFIX}
+ ${CMAKE_IMPORT_LIBRARY_PREFIX}
+ ${CMAKE_STATIC_LIBRARY_PREFIX})
set(library_suffixes
${CMAKE_SHARED_LIBRARY_SUFFIX}
+ ${CMAKE_CMAKE_IMPORT_LIBRARY_SUFFIX}
${CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES}
${CMAKE_STATIC_LIBRARY_SUFFIX})
+ list(REMOVE_DUPLICATES library_prefixes)
+ list(REMOVE_DUPLICATES library_suffixes)
if(QT_GENERATOR_IS_MULTI_CONFIG)
set(configs ${CMAKE_CONFIGURATION_TYPES})
diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake
index dd23e8c95b..2213b04cd7 100644
--- a/cmake/QtTargetHelpers.cmake
+++ b/cmake/QtTargetHelpers.cmake
@@ -274,8 +274,6 @@ function(qt_internal_apply_win_prefix_and_suffix target)
# This should cover both MINGW with GCC and CLANG.
if(NOT MSVC)
- set_property(TARGET "${target}" PROPERTY IMPORT_SUFFIX ".a")
-
get_target_property(target_type ${target} TYPE)
if(target_type STREQUAL "STATIC_LIBRARY")
set_property(TARGET "${target}" PROPERTY PREFIX "lib")
diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf
index a1e08ed63b..9f3ae47108 100644
--- a/mkspecs/common/g++-win32.conf
+++ b/mkspecs/common/g++-win32.conf
@@ -54,6 +54,7 @@ QMAKE_PREFIX_SHLIB =
QMAKE_EXTENSION_SHLIB = dll
QMAKE_PREFIX_STATICLIB = lib
QMAKE_EXTENSION_STATICLIB = a
+QMAKE_EXTENSION_IMPORTLIB = dll.a
QMAKE_LIB_EXTENSIONS = a dll.a
QMAKE_LIBS =
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
index 24ed125f12..73ebe453d3 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
@@ -332,8 +332,9 @@ mac {
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqtmain$${QT_LIBINFIX}$${debug_suffix}.a
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqtmain$${QT_LIBINFIX}.a
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.a
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.$${QMAKE_EXTENSION_IMPORTLIB}
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
} else {
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}$${debug_suffix}.lib
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qtmain$${QT_LIBINFIX}.lib
--
2.28.0