CMake: use correct link flag for MinGW(GCC) static-runtime build
When using MinGW compiler and Qt is configured with "-static-runtime", we should pass "-static" to g++ while linking, like Qt 5, instead of "-Wl,-Bstatic", to get rid of dependencies on libgcc_s_seh-1.dll, libwinpthread-1.dll and libstdc++-6.dll. Because syncqt doesn't link to any Qt library, "target_link_options(${target} INTERFACE -static)" has no effect on it. So we should use "PRIVATE" instead of "INTERFACE" for executables. Pick-to: 6.6 6.5 Change-Id: Icf551783f92ef3615b3840c9af16d163eee09fdb Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This commit is contained in:
parent
c22d393afd
commit
9256d9e7b6
@ -307,7 +307,17 @@ function(_qt_internal_set_up_static_runtime_library target)
|
||||
set_property(TARGET ${target} PROPERTY
|
||||
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
elseif(MINGW)
|
||||
target_link_options(${target} INTERFACE "LINKER:-Bstatic")
|
||||
get_target_property(target_type ${target} TYPE)
|
||||
if(target_type STREQUAL "EXECUTABLE")
|
||||
set(link_option PRIVATE)
|
||||
else()
|
||||
set(link_option INTERFACE)
|
||||
endif()
|
||||
if(CLANG)
|
||||
target_link_options(${target} ${link_option} "LINKER:-Bstatic")
|
||||
else()
|
||||
target_link_options(${target} ${link_option} "-static")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
Loading…
Reference in New Issue
Block a user