Warning, /multimedia/kid3/src/app/qt/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_executable(${KID3_EXECUTABLE} MACOSX_BUNDLE WIN32
0002 mainqt.cpp
0003 platformtools.cpp
0004 kid3mainwindow.cpp
0005 kid3qtapplication.cpp
0006 recentfilesmenu.cpp
0007 browserdialog.cpp
0008 messagedialog.cpp
0009 configdialog.cpp
0010 shortcutsmodel.cpp
0011 shortcutsdelegate.cpp
0012 )
0013 qt_wrap_cpp(qt_GEN_MOC_SRCS
0014 kid3mainwindow.h
0015 kid3qtapplication.h
0016 recentfilesmenu.h
0017 browserdialog.h
0018 messagedialog.h
0019 configdialog.h
0020 shortcutsmodel.h
0021 shortcutsdelegate.h
0022 TARGET ${KID3_EXECUTABLE}
0023 )
0024 target_sources(${KID3_EXECUTABLE} PRIVATE ${qt_GEN_MOC_SRCS})
0025
0026 if(APPLE)
0027 # Icon and properties for .plist file
0028 set(MACOSX_BUNDLE_BUNDLE_NAME "Kid3")
0029 set(MACOSX_BUNDLE_BUNDLE_EXECUTABLE "kid3")
0030 set(MACOSX_BUNDLE_ICON_FILE kid3.icns)
0031 set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${CPACK_PACKAGE_VERSION})
0032 set(MACOSX_BUNDLE_GUI_IDENTIFIER "org.kde.kid3")
0033 set(MACOSX_BUNDLE_COPYRIGHT "Copyright (c) 2003-${RELEASE_YEAR} Urs Fleisch")
0034 set_source_files_properties(kid3.icns
0035 PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
0036 target_sources(${KID3_EXECUTABLE} PRIVATE kid3.icns)
0037 set_source_files_properties(qt.conf
0038 PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
0039 target_sources(${KID3_EXECUTABLE} PRIVATE qt.conf)
0040 elseif(WIN32)
0041 if(MINGW)
0042 # support for Windows resource files with MinGW
0043 set(CMAKE_RC_COMPILER_INIT windres)
0044 enable_language(RC)
0045 set(CMAKE_RC_COMPILE_OBJECT
0046 "<CMAKE_RC_COMPILER> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>")
0047 endif()
0048 # add Windows resource file with icon
0049 target_sources(${KID3_EXECUTABLE} PRIVATE kid3win.rc)
0050 endif()
0051
0052 if(UNIX AND NOT APPLE)
0053 find_program(GZIP_PROGRAM gzip)
0054 # install desktop file and icons for Linux
0055 add_custom_command(OUTPUT org.kde.kid3-qt.desktop
0056 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/fixdesktop.py
0057 <${CMAKE_CURRENT_SOURCE_DIR}/../org.kde.kid3.desktop >org.kde.kid3-qt.desktop
0058 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../org.kde.kid3.desktop
0059 )
0060 add_custom_target("desktop-file" ALL DEPENDS org.kde.kid3-qt.desktop)
0061 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kid3-qt.desktop
0062 DESTINATION "${WITH_DATAROOTDIR}/applications")
0063 add_custom_command(OUTPUT org.kde.kid3-qt.appdata.xml
0064 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/fixappdata.py
0065 ${CMAKE_CURRENT_SOURCE_DIR}/../org.kde.kid3.appdata.xml >org.kde.kid3-qt.appdata.xml
0066 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../org.kde.kid3.appdata.xml
0067 )
0068 add_custom_target("appdata-file" ALL DEPENDS org.kde.kid3-qt.appdata.xml)
0069 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kid3-qt.appdata.xml
0070 DESTINATION "${WITH_DATAROOTDIR}/metainfo")
0071 if(GZIP_PROGRAM)
0072 add_custom_command(OUTPUT kid3-qt.svg
0073 COMMAND ${GZIP_PROGRAM} -cdn ${CMAKE_CURRENT_SOURCE_DIR}/../sc-apps-kid3.svgz >kid3-qt.svg
0074 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../sc-apps-kid3.svgz
0075 )
0076 target_sources(${KID3_EXECUTABLE} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/kid3-qt.svg)
0077 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kid3-qt.svg
0078 DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/scalable/apps")
0079 else()
0080 install(FILES ../sc-apps-kid3.svgz
0081 DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/scalable/apps"
0082 RENAME kid3-qt.svgz)
0083 endif()
0084 install(FILES ../128-apps-kid3.png
0085 DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/128x128/apps"
0086 RENAME kid3-qt.png)
0087 install(FILES ../64-apps-kid3.png
0088 DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/64x64/apps"
0089 RENAME kid3-qt.png)
0090 install(FILES ../48-apps-kid3.png
0091 DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/48x48/apps"
0092 RENAME kid3-qt.png)
0093 install(FILES ../32-apps-kid3.png
0094 DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/32x32/apps"
0095 RENAME kid3-qt.png)
0096 install(FILES ../16-apps-kid3.png
0097 DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/16x16/apps"
0098 RENAME kid3-qt.png)
0099 elseif(APPLE)
0100 install(FILES ../48-apps-kid3.png
0101 DESTINATION ${WITH_DATAROOTDIR}
0102 RENAME kid3.png)
0103 endif()
0104
0105 qt_add_resources(qt_GEN_RCS kid3.qrc)
0106 target_sources(${KID3_EXECUTABLE} PRIVATE
0107 ${qt_GEN_RCS}
0108 )
0109
0110 target_link_libraries(${KID3_EXECUTABLE} kid3-gui)
0111 if(NOT MSVC)
0112 target_link_libraries(${KID3_EXECUTABLE} -lstdc++)
0113 endif()
0114
0115 if(APPLE)
0116 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../../../macosx/Info.plist.in
0117 ${CMAKE_CURRENT_BINARY_DIR}/Info.plist)
0118 set_target_properties(${KID3_EXECUTABLE} PROPERTIES
0119 MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_BINARY_DIR}/Info.plist)
0120 if(CMAKE_CXX_COMPILER MATCHES "/osxcross/")
0121 # When cross compiling, CPack does not know that is should be APPLE.
0122 install(CODE "
0123 set(APPLE TRUE)
0124 ")
0125 endif()
0126 endif()
0127
0128 install(TARGETS ${KID3_EXECUTABLE}
0129 BUNDLE DESTINATION .
0130 RUNTIME DESTINATION ${WITH_BINDIR})
0131
0132 if(LINUX_SELF_CONTAINED)
0133 # Change RPATH/RUNPATH of executable/library.
0134 macro(CHANGE_RPATH _rpath _file)
0135 install(CODE "
0136 execute_process(COMMAND chrpath -r ${_rpath} \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${_file}\"
0137 RESULT_VARIABLE ret)
0138 if(NOT ret EQUAL 0)
0139 message(FATAL_ERROR \"CHANGE_RPATH(${_rpath} ${_file}) failed with \${ret}\")
0140 endif()
0141 ")
0142 endmacro()
0143
0144 set_target_properties(${KID3_EXECUTABLE} PROPERTIES INSTALL_RPATH "\$ORIGIN")
0145 endif()
0146
0147 if(WIN32)
0148 # CMAKE_INSTALL_PREFIX usually contains a drive letter which cannot be
0149 # prepended with some other prefix. Our build scripts set CMAKE_INSTALL_PREFIX
0150 # to an empty value, but this is overwritten by KDE craft.
0151 string(REGEX REPLACE "^[A-Za-z]:" "" destdir_prefix "${CMAKE_INSTALL_PREFIX}")
0152 set(destdir_prefix "\$ENV{DESTDIR}${destdir_prefix}")
0153 else()
0154 set(destdir_prefix "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}")
0155 endif()
0156
0157 if(APPLE OR WIN32 OR LINUX_SELF_CONTAINED)
0158
0159 # Put Qt libraries and plugins into installation package to create a
0160 # standalone bundle on Mac OS X and Windows
0161 set(plugin_dest_dir ${WITH_BINDIR})
0162 set(bundle_app
0163 "${destdir_prefix}/${WITH_BINDIR}/${KID3_EXECUTABLE}")
0164 if(APPLE)
0165 set(plugin_dest_dir kid3.app/Contents/PlugIns)
0166 set(bundle_app "${destdir_prefix}/kid3.app")
0167 endif()
0168 if(WIN32)
0169 set(bundle_app
0170 "${destdir_prefix}/${WITH_BINDIR}/kid3.exe")
0171 endif()
0172 string(REPLACE "/./" "/" bundle_app ${bundle_app})
0173
0174 # Install Qt JPEG, WebP and SVG icon plugins
0175 install(DIRECTORY "${QT_PLUGINS_DIR}/imageformats"
0176 DESTINATION ${plugin_dest_dir}
0177 FILES_MATCHING PATTERN "*jpeg${CMAKE_SHARED_LIBRARY_SUFFIX}"
0178 PATTERN "*jpeg4${CMAKE_SHARED_LIBRARY_SUFFIX}"
0179 PATTERN "*webp${CMAKE_SHARED_LIBRARY_SUFFIX}"
0180 PATTERN "*.dSYM" EXCLUDE)
0181 install(DIRECTORY "${QT_PLUGINS_DIR}/iconengines"
0182 DESTINATION ${plugin_dest_dir}
0183 FILES_MATCHING PATTERN "*qsvgicon*${CMAKE_SHARED_LIBRARY_SUFFIX}"
0184 PATTERN "*.dSYM" EXCLUDE)
0185
0186 if(LINUX_SELF_CONTAINED)
0187 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/imageformats/libqjpeg${CMAKE_SHARED_LIBRARY_SUFFIX}")
0188 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/imageformats/libqwebp${CMAKE_SHARED_LIBRARY_SUFFIX}")
0189 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/iconengines/libqsvgicon${CMAKE_SHARED_LIBRARY_SUFFIX}")
0190 endif()
0191 if(APPLE)
0192 install(DIRECTORY "${QT_PLUGINS_DIR}/platforms"
0193 DESTINATION kid3.app/Contents/MacOS
0194 FILES_MATCHING PATTERN "libqcocoa${CMAKE_SHARED_LIBRARY_SUFFIX}"
0195 PATTERN "*.dSYM" EXCLUDE)
0196 install(DIRECTORY "${QT_PLUGINS_DIR}/styles"
0197 DESTINATION ${plugin_dest_dir} OPTIONAL
0198 FILES_MATCHING PATTERN "libqmacstyle${CMAKE_SHARED_LIBRARY_SUFFIX}")
0199 if(HAVE_QTMULTIMEDIA)
0200 if(QT_VERSION VERSION_GREATER_EQUAL 6.4)
0201 install(DIRECTORY "${QT_PLUGINS_DIR}/multimedia"
0202 DESTINATION ${plugin_dest_dir}
0203 FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}")
0204 else()
0205 install(DIRECTORY "${QT_PLUGINS_DIR}/mediaservice"
0206 DESTINATION ${plugin_dest_dir}
0207 FILES_MATCHING PATTERN "libqavfmediaplayer${CMAKE_SHARED_LIBRARY_SUFFIX}"
0208 PATTERN "*.dSYM" EXCLUDE)
0209 endif()
0210 endif()
0211 if(QT_VERSION VERSION_GREATER_EQUAL 6.0)
0212 install(DIRECTORY "${QT_PLUGINS_DIR}/tls"
0213 DESTINATION ${plugin_dest_dir}
0214 FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}")
0215 endif()
0216 elseif(WIN32)
0217 install(DIRECTORY "${QT_PLUGINS_DIR}/platforms"
0218 DESTINATION ${plugin_dest_dir}
0219 FILES_MATCHING PATTERN "qwindows${CMAKE_SHARED_LIBRARY_SUFFIX}")
0220 install(DIRECTORY "${QT_PLUGINS_DIR}/styles"
0221 DESTINATION ${plugin_dest_dir} OPTIONAL
0222 FILES_MATCHING PATTERN "qwindowsvistastyle${CMAKE_SHARED_LIBRARY_SUFFIX}")
0223 if(HAVE_QTMULTIMEDIA)
0224 if(QT_VERSION VERSION_GREATER_EQUAL 6.4)
0225 install(DIRECTORY "${QT_PLUGINS_DIR}/multimedia"
0226 DESTINATION ${plugin_dest_dir}
0227 FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}")
0228 else()
0229 install(DIRECTORY "${QT_PLUGINS_DIR}/mediaservice"
0230 DESTINATION ${plugin_dest_dir}
0231 FILES_MATCHING PATTERN "dsengine${CMAKE_SHARED_LIBRARY_SUFFIX}")
0232 endif()
0233 endif()
0234 if(QT_VERSION VERSION_GREATER_EQUAL 6.0)
0235 install(DIRECTORY "${QT_PLUGINS_DIR}/tls"
0236 DESTINATION ${plugin_dest_dir}
0237 FILES_MATCHING PATTERN "*qopensslbackend${CMAKE_SHARED_LIBRARY_SUFFIX}"
0238 PATTERN "*qschannelbackend${CMAKE_SHARED_LIBRARY_SUFFIX}")
0239 endif()
0240 elseif(LINUX_SELF_CONTAINED)
0241 install(DIRECTORY "${QT_PLUGINS_DIR}/platforms"
0242 DESTINATION ${plugin_dest_dir}
0243 FILES_MATCHING PATTERN "libqxcb${CMAKE_SHARED_LIBRARY_SUFFIX}"
0244 PATTERN "libqwayland-*${CMAKE_SHARED_LIBRARY_SUFFIX}")
0245 install(DIRECTORY "${QT_PLUGINS_DIR}/wayland-graphics-integration-client"
0246 DESTINATION ${plugin_dest_dir}
0247 FILES_MATCHING PATTERN "libqt-plugin-wayland-egl${CMAKE_SHARED_LIBRARY_SUFFIX}")
0248 install(DIRECTORY "${QT_PLUGINS_DIR}/wayland-shell-integration"
0249 DESTINATION ${plugin_dest_dir}
0250 FILES_MATCHING PATTERN "libxdg-shell${CMAKE_SHARED_LIBRARY_SUFFIX}")
0251
0252 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/platforms/libqxcb${CMAKE_SHARED_LIBRARY_SUFFIX}")
0253 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/platforms/libqwayland-generic${CMAKE_SHARED_LIBRARY_SUFFIX}")
0254 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/platforms/libqwayland-egl${CMAKE_SHARED_LIBRARY_SUFFIX}")
0255 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/wayland-graphics-integration-client/libqt-plugin-wayland-egl${CMAKE_SHARED_LIBRARY_SUFFIX}")
0256 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/wayland-shell-integration/libxdg-shell${CMAKE_SHARED_LIBRARY_SUFFIX}")
0257 install(DIRECTORY "${QT_PLUGINS_DIR}/platforminputcontexts"
0258 DESTINATION ${plugin_dest_dir}
0259 FILES_MATCHING PATTERN "libcomposeplatforminputcontextplugin${CMAKE_SHARED_LIBRARY_SUFFIX}")
0260 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/platforminputcontexts/libcomposeplatforminputcontextplugin${CMAKE_SHARED_LIBRARY_SUFFIX}")
0261 if(QT_VERSION VERSION_LESS 6.0)
0262 if(HAVE_QTMULTIMEDIA)
0263 install(DIRECTORY "${QT_PLUGINS_DIR}/mediaservice"
0264 DESTINATION ${plugin_dest_dir}
0265 FILES_MATCHING PATTERN "libgstmediaplayer${CMAKE_SHARED_LIBRARY_SUFFIX}")
0266 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/mediaservice/libgstmediaplayer${CMAKE_SHARED_LIBRARY_SUFFIX}")
0267 endif()
0268 else()
0269 install(DIRECTORY "${QT_PLUGINS_DIR}/tls"
0270 DESTINATION ${plugin_dest_dir}
0271 FILES_MATCHING PATTERN "libqopensslbackend${CMAKE_SHARED_LIBRARY_SUFFIX}")
0272 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/tls/libqopensslbackend${CMAKE_SHARED_LIBRARY_SUFFIX}")
0273 if(QT_VERSION VERSION_GREATER_EQUAL 6.4)
0274 if(HAVE_QTMULTIMEDIA)
0275 install(DIRECTORY "${QT_PLUGINS_DIR}/multimedia"
0276 DESTINATION ${plugin_dest_dir}
0277 FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}")
0278 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/multimedia/libgstreamermediaplugin${CMAKE_SHARED_LIBRARY_SUFFIX}")
0279 endif()
0280 CHANGE_RPATH("\$ORIGIN/../../../.." "${plugin_dest_dir}/plugins/imports/QtQml/WorkerScript/libworkerscriptplugin${CMAKE_SHARED_LIBRARY_SUFFIX}")
0281 endif()
0282 endif()
0283 install(DIRECTORY "${QT_PLUGINS_DIR}/xcbglintegrations"
0284 DESTINATION ${plugin_dest_dir}
0285 FILES_MATCHING PATTERN "libqxcb-glx-integration${CMAKE_SHARED_LIBRARY_SUFFIX}")
0286 CHANGE_RPATH("\$ORIGIN/.." "${plugin_dest_dir}/xcbglintegrations/libqxcb-glx-integration${CMAKE_SHARED_LIBRARY_SUFFIX}")
0287 endif()
0288
0289 if(CMAKE_CROSSCOMPILING AND NOT APPLE)
0290 # Avoid error "/usr/bin/ldd failed: 1" from GetPrerequisites.cmake:800
0291 # when cross-packaging, this does not seem to be supported.
0292 # https://public.kitware.com/pipermail/cmake/2012-March/049497.html
0293 install(CODE "
0294 set(gp_tool DO_NOT_USE)
0295 ")
0296 endif()
0297
0298 if(LINUX_SELF_CONTAINED)
0299 # CMake 3.11.1 gets the prerequisites type wrong if a plugin uses a
0300 # library which is in a parent directory but still inside the bundle.
0301 # Override the type from "other" to "local" in such cases.
0302 install(CODE "
0303 function(gp_resolved_file_type_override resolved_file type_var)
0304 if(\${\${type_var}} STREQUAL other)
0305 get_filename_component(bundle_app_path \"${bundle_app}\" PATH)
0306 string(LENGTH \"\${bundle_app_path}/\" bundle_app_length)
0307 string(LENGTH \"\${resolved_file}\" resolved_file_length)
0308 if(\${resolved_file_length} GREATER \${bundle_app_length})
0309 string(SUBSTRING \"\${resolved_file}\" 0 \${bundle_app_length} resolved_file_path)
0310 if(resolved_file_path STREQUAL \"\${bundle_app_path}/\")
0311 set(\${type_var} local PARENT_SCOPE)
0312 endif()
0313 endif()
0314 endif()
0315 endfunction()
0316 ")
0317 endif()
0318
0319 # Install and fix up all dependencies of the executable and the plugins.
0320 # On Mac OS X only keep the i386 code in the Qt libraries and plugins.
0321 install(CODE "
0322 file(GLOB_RECURSE QTPLUGINS
0323 \"${destdir_prefix}/${plugin_dest_dir}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
0324 if(APPLE)
0325 file(GLOB_RECURSE QTPLATFORMPLUGINS
0326 \"${destdir_prefix}/kid3.app/Contents/MacOS/platforms/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
0327 set(QTPLUGINS \"\${QTPLUGINS};\${QTPLATFORMPLUGINS}\")
0328 endif()
0329 file(GLOB_RECURSE KID3PLUGINS
0330 \"${destdir_prefix}/${WITH_PLUGINSDIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
0331 include(BundleUtilities)
0332 set(bundle_libs \"\${QTPLUGINS};\${KID3PLUGINS}\")
0333 if(APPLE AND BUILD_CLI_APP)
0334 set(bundle_libs \"\${bundle_libs};${destdir_prefix}/${WITH_LIBDIR}/kid3-cli\")
0335 endif()
0336 fixup_bundle(\"${bundle_app}\" \"\${bundle_libs}\" \"${QT_LIBRARY_DIR}\")
0337 ")
0338
0339 if((CMAKE_BUILD_TYPE MATCHES Release OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo) AND
0340 CMAKE_STRIP)
0341 # Strip all shared libraries.
0342 install(CODE "
0343 file(GLOB_RECURSE _libsToStrip
0344 \"${destdir_prefix}/${WITH_BINDIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}*\")
0345 execute_process(COMMAND ${CMAKE_STRIP} \${_libsToStrip})
0346 ")
0347 endif()
0348
0349 endif()
0350
0351 if(WIN32)
0352 # Use reduced size ICU libraries, QTBUG-29828, QTBUG-38259.
0353 # A folder with reduced ICU libraries can be copied to the Qt bin directory.
0354 get_target_property(_qtBinDir Qt${QT_VERSION_MAJOR}::Core LOCATION)
0355 get_filename_component(_qtBinDir ${_qtBinDir} PATH)
0356 install(DIRECTORY "${_qtBinDir}/icu_reduced/"
0357 DESTINATION ${WITH_BINDIR} OPTIONAL)
0358 # Install missing DLLs.
0359 # Since Qt 5.12.4, OpenSSL 1.1.1 is supported, but the DLLs have different
0360 # names (libcrypto-1_1-x64.dll, libssl-1_1-x64.dll for 64-bit) and are not
0361 # shipped with Qt.
0362 if(Qt${QT_VERSION_MAJOR}Core_VERSION_STRING VERSION_LESS "5.12.4")
0363 file(GLOB _sslDlls "${_qtBinDir}/../../../Tools/mingw*/opt/bin/*eay32.dll")
0364 else()
0365 file(GLOB _sslDlls "${CMAKE_BINARY_DIR}/../buildroot/usr/local/ssl/*.dll")
0366 endif()
0367 install(FILES "${_qtBinDir}/Qt${QT_VERSION_MAJOR}Xml.dll" ${_sslDlls}
0368 DESTINATION ${WITH_BINDIR})
0369 if(QT_VERSION VERSION_GREATER_EQUAL 5.15)
0370 install(FILES "${_qtBinDir}/Qt${QT_VERSION_MAJOR}OpenGL.dll"
0371 "${_qtBinDir}/Qt${QT_VERSION_MAJOR}QmlModels.dll"
0372 "${_qtBinDir}/Qt${QT_VERSION_MAJOR}Quick.dll"
0373 "${_qtBinDir}/Qt${QT_VERSION_MAJOR}QmlWorkerScript.dll"
0374 DESTINATION ${WITH_BINDIR})
0375 endif()
0376 endif()
0377
0378 if(LINUX_SELF_CONTAINED)
0379 # Use reduced size ICU libraries.
0380 # A folder with reduced ICU libraries can be copied to the Qt bin directory.
0381 if(TARGET Qt${QT_VERSION_MAJOR}::qmake)
0382 get_target_property(_qtBinDir Qt${QT_VERSION_MAJOR}::qmake LOCATION)
0383 endif()
0384 get_filename_component(_qtBinDir ${_qtBinDir} PATH)
0385 string(REPLACE "/bin" "/lib" _qtLibDir "${_qtBinDir}")
0386 install(CODE "
0387 if(EXISTS \"${_qtLibDir}/icu_reduced\")
0388 file(GLOB _iculibs \"${destdir_prefix}/${WITH_BINDIR}/libicu*\")
0389 if(_iculibs)
0390 file(REMOVE \${_iculibs})
0391 endif()
0392 endif()
0393 ")
0394 install(DIRECTORY "${_qtLibDir}/icu_reduced/"
0395 DESTINATION ${WITH_BINDIR} OPTIONAL)
0396 # Qt searches for OpenSSL 1.0, which is not found on distributions
0397 # as new as Ubuntu 18.04. Install them in the application directory.
0398 install(FILES "${CMAKE_BINARY_DIR}/../buildroot/usr/local/ssl/libssl.so"
0399 "${CMAKE_BINARY_DIR}/../buildroot/usr/local/ssl/libcrypto.so"
0400 DESTINATION ${WITH_BINDIR})
0401 endif()