Initial work to add pc files in static linkage

This commit is contained in:
Tal Regev 2025-07-08 15:29:35 +03:00
parent 0bbdccb306
commit e78ef6a03b
No known key found for this signature in database
GPG Key ID: A421558E0F87AC82
2 changed files with 9 additions and 3 deletions

View File

@ -471,3 +471,5 @@ endif()
qt_copy_or_install(FILES
"util/json_schema/modules.json"
DESTINATION "${INSTALL_QT_SHAREDIR}/json_schema/")
qt_internal_generate_pkg_config_file(GlobalConfig)

View File

@ -25,9 +25,6 @@ function(qt_internal_generate_pkg_config_file module)
if(NOT UNIX AND NOT MINGW OR CMAKE_VERSION VERSION_LESS "3.20" OR ANDROID)
return()
endif()
if(NOT BUILD_SHARED_LIBS)
return()
endif()
set(pkgconfig_file "${QT_CMAKE_EXPORT_NAMESPACE}${module}")
set(pkgconfig_name "${QT_CMAKE_EXPORT_NAMESPACE} ${module}")
@ -46,6 +43,7 @@ function(qt_internal_generate_pkg_config_file module)
get_target_property(loose_link_options ${target} INTERFACE_LINK_OPTIONS)
get_target_property(loose_compile_defs ${target} INTERFACE_COMPILE_DEFINITIONS)
get_target_property(loose_include_dirs ${target} INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(link_libs ${target} LINK_LIBRARIES)
list(TRANSFORM loose_include_dirs REPLACE "${INSTALL_INCLUDEDIR}" "\${includedir}")
list(TRANSFORM loose_include_dirs REPLACE "${INSTALL_MKSPECSDIR}" "\${mkspecsdir}")
if(QT_FEATURE_framework)
@ -116,6 +114,12 @@ function(qt_internal_generate_pkg_config_file module)
endforeach()
string(APPEND link_options " $<JOIN:$<REMOVE_DUPLICATES:${target_libs}>, >")
foreach(lib IN LISTS link_libs)
if(lib MATCHES "^-")
list(APPEND link_options "${lib}")
else()
endforeach()
qt_path_join(path_suffix "${INSTALL_LIBDIR}" pkgconfig)
qt_path_join(build_dir "${QT_BUILD_DIR}" "${path_suffix}")
qt_path_join(install_dir "${QT_INSTALL_DIR}" "${path_suffix}")