xT: improve MSYS2 build
The static Qt 6 package is unusable.
This commit is contained in:
parent
f6483489c2
commit
6ac2ac5511
@ -109,8 +109,10 @@ include (GNUInstallDirs)
|
||||
if (ANDROID)
|
||||
install (TARGETS xT DESTINATION .)
|
||||
elseif (APPLE OR WIN32)
|
||||
# TODO(p): Consider whether or not to use MSYS2.
|
||||
install (TARGETS xT DESTINATION .)
|
||||
install (TARGETS xT
|
||||
BUNDLE DESTINATION .
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
# XXX: QTBUG-127075, which can be circumvented by manually running
|
||||
# macdeployqt on xT.app before the install.
|
||||
qt_generate_deploy_app_script (TARGET xT OUTPUT_SCRIPT deploy_xT)
|
||||
@ -127,6 +129,26 @@ else ()
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
||||
endif ()
|
||||
|
||||
# Within MSYS2, windeployqt doesn't copy the compiler runtime,
|
||||
# which is always linked dynamically by the Qt binaries.
|
||||
# TODO(p): Consider whether or not to use MSYS2 to cross-compile, and how.
|
||||
if (WIN32)
|
||||
install (CODE [=[
|
||||
set (bindir "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
execute_process (COMMAND cygpath -m /
|
||||
OUTPUT_VARIABLE cygroot OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if (cygroot)
|
||||
execute_process (COMMAND ldd "${bindir}/xT.exe"
|
||||
OUTPUT_VARIABLE ldd_output OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
string (REGEX MATCHALL " /mingw64/bin/[^ ]+ " libs "${ldd_output}")
|
||||
foreach (lib ${libs})
|
||||
string (STRIP "${lib}" lib)
|
||||
file (COPY "${cygroot}${lib}" DESTINATION "${bindir}")
|
||||
endforeach()
|
||||
endif ()
|
||||
]=])
|
||||
endif ()
|
||||
|
||||
# CPack
|
||||
set (CPACK_PACKAGE_VENDOR "Premysl Eric Janouch")
|
||||
set (CPACK_PACKAGE_CONTACT "Přemysl Eric Janouch <p@janouch.name>")
|
||||
|
Loading…
Reference in New Issue
Block a user