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>
bb10
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