From: Kornel Benko Date: Sat, 30 Nov 2019 10:19:10 +0000 (+0100) Subject: Cmake build: Correct configuration if set LYX_BUNDLE=ON X-Git-Tag: lyx-2.4.0dev-acb2ca7b~1445 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=201acf027911f924ba17da93ce0caa4ec44fc982;p=features.git Cmake build: Correct configuration if set LYX_BUNDLE=ON Patch by Patrick (pdvisschere@edpnet.be) Citing: With some changes I could get it to work (patch included). One will also have to define the locations of the Qt5-plugins and Qt5-libs folders (`QT5_PLUGINS_DIR` and `QT5_LIBRARY_DIRS`). Maybe not all plugins/imageformats are used/needed by lyx, but they are all copied now, except for `_debug` versions which are excluded. Starting with Qt-5.12 it seems not possible anymore (or at least not easy) to link to the `_debug` versions of the qt5-frameworks (with cmake). And installing them into the bundle also does not work. So right now this is not a big loss. --- diff --git a/development/cmake/post_install/CMakeLists.txt b/development/cmake/post_install/CMakeLists.txt index 7e4cb64517..f0eea8452d 100644 --- a/development/cmake/post_install/CMakeLists.txt +++ b/development/cmake/post_install/CMakeLists.txt @@ -28,13 +28,15 @@ if(LYX_BUNDLE) endif() if(Qt5Core_FOUND) - install_qt_plugin("Qt5::QJpegPlugin") - install_qt_plugin("Qt5::QGifPlugin") - install_qt_plugin("Qt5::QICOPlugin") - if(APPLE) - install_qt_plugin("Qt5::QCocoaIntegrationPlugin") - endif() - else() + file(GLOB QT_PLUGIN_DIRECTORIES "${QT_PLUGINS_DIR}/imageformats") + install(DIRECTORY ${QT_PLUGIN_DIRECTORIES} DESTINATION "${qtplugin_dest_dir}/plugins/" COMPONENT Runtime REGEX "\\_debug\\.dylib$" EXCLUDE) + if(APPLE) + if(Qt5Core_VERSION VERSION_GREATER_EQUAL 5.10.0) + install_qt_plugin("Qt5::QMacStylePlugin") + endif() + install_qt_plugin("Qt5::QCocoaIntegrationPlugin") + endif() + else() # With QT4, just copy all the plugins file(GLOB QT_PLUGIN_DIRECTORIES "${QT_PLUGINS_DIR}/*") install(DIRECTORY ${QT_PLUGIN_DIRECTORIES} DESTINATION "${qtplugin_dest_dir}/plugins/" COMPONENT Runtime) @@ -45,7 +47,7 @@ if(LYX_BUNDLE) # - install the platform specific plugins (with Qt5) # - Fixup the bundle install(CODE "include(BundleUtilities) - file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${qt_conf_path}\" \"\") + file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${qt_conf_path}\" \"[Paths]\\rPlugins = PlugIns\\rTranslations = translations\") file(GLOB_RECURSE QTPLUGINS \"\${CMAKE_INSTALL_PREFIX}/${qtplugin_dest_dir}/plugins/*/*${CMAKE_SHARED_LIBRARY_SUFFIX}\") message(STATUS \"QT plugins [\${CMAKE_INSTALL_PREFIX}/${qtplugin_dest_dir}/plugins/*/*${CMAKE_SHARED_LIBRARY_SUFFIX}]: \${QTPLUGINS}\")