From df9364458a82e26c51c37e8f3cad6a2ca6b828a3 Mon Sep 17 00:00:00 2001 From: Martchus Date: Thu, 5 Nov 2020 22:08:10 +0100 Subject: [PATCH 1/7] Use CMake's default import library suffix Change-Id: I3dbedaec74683e5bfd008f7f2fd1e046dfb921b2 --- cmake/QtPriHelpers.cmake | 12 ++++++++++-- cmake/QtPrlHelpers.cmake | 8 +++++++- mkspecs/common/g++-win32.conf | 1 + mkspecs/features/create_cmake.prf | 5 +++-- src/corelib/Qt6CoreMacros.cmake | 1 - 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake index 5498b8a904..59c905eac2 100644 --- a/cmake/QtPriHelpers.cmake +++ b/cmake/QtPriHelpers.cmake @@ -370,9 +370,13 @@ 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}) add_custom_command( @@ -777,9 +781,13 @@ CONFIG += ${private_config_joined} list(APPEND inputs "${preliminary_pri_root}/${cfg}/${pri_data_cmake_file}") endforeach() - 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}) add_custom_command( diff --git a/cmake/QtPrlHelpers.cmake b/cmake/QtPrlHelpers.cmake index 0aab301053..f2e39b63e0 100644 --- a/cmake/QtPrlHelpers.cmake +++ b/cmake/QtPrlHelpers.cmake @@ -348,11 +348,17 @@ ${prl_step1_content_libs} 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/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf index 67ad1e3b8c..b98c7121f6 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 diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake index fc4c745c90..939ea2b212 100644 --- a/src/corelib/Qt6CoreMacros.cmake +++ b/src/corelib/Qt6CoreMacros.cmake @@ -460,7 +460,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") -- 2.32.0