1 # Finish the construction of the bundle
2 # by including the necessary QT libraries
6 # Find a qt plugin and install it in the plugins directory
7 macro(install_qt_plugin _qt_plugin_name)
8 get_target_property(qtlib "${_qt_plugin_name}" LOCATION)
10 get_filename_component(qtdir ${qtlib} PATH)
11 get_filename_component(qtdir ${qtdir} NAME)
12 # Installing QT plugin ${qtlib} into ${qtplugin_dest_dir}/plugins/${qtdir}
13 install(FILES "${qtlib}" DESTINATION ${qtplugin_dest_dir}/plugins/${qtdir} COMPONENT Runtime)
15 message(FATAL_ERROR "Could not find QT plugin ${_qt_plugin_name}")
21 set(installed_lyx_path bin/${_lyx}${CMAKE_EXECUTABLE_SUFFIX})
22 set(qtplugin_dest_dir bin)
23 set(qt_conf_path bin/qt.conf)
25 set(installed_lyx_path ${LYX_BUNDLE_NAME}.app)
26 set(qtplugin_dest_dir "${LYX_BUNDLE_NAME}.app/Contents")
27 set(qt_conf_path "${LYX_BUNDLE_NAME}.app/Contents/Resources/qt.conf")
31 file(GLOB QT_PLUGIN_DIRECTORIES "${QT_PLUGINS_DIR}/imageformats")
32 install(DIRECTORY ${QT_PLUGIN_DIRECTORIES} DESTINATION "${qtplugin_dest_dir}/plugins/" COMPONENT Runtime REGEX "\\_debug\\.dylib$" EXCLUDE)
34 if(Qt5Core_VERSION VERSION_GREATER_EQUAL 5.10.0)
35 install_qt_plugin("Qt5::QMacStylePlugin")
37 install_qt_plugin("Qt5::QCocoaIntegrationPlugin")
40 # With QT4, just copy all the plugins
41 file(GLOB QT_PLUGIN_DIRECTORIES "${QT_PLUGINS_DIR}/*")
42 install(DIRECTORY ${QT_PLUGIN_DIRECTORIES} DESTINATION "${qtplugin_dest_dir}/plugins/" COMPONENT Runtime)
45 # Install code does the following:
46 # - Creates the qt.conf file
47 # - install the platform specific plugins (with Qt5)
49 install(CODE "include(BundleUtilities)
50 file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${qt_conf_path}\" \"[Paths]\\rPlugins = PlugIns\\rTranslations = translations\")
51 file(GLOB_RECURSE QTPLUGINS
52 \"\${CMAKE_INSTALL_PREFIX}/${qtplugin_dest_dir}/plugins/*/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
53 message(STATUS \"QT plugins [\${CMAKE_INSTALL_PREFIX}/${qtplugin_dest_dir}/plugins/*/*${CMAKE_SHARED_LIBRARY_SUFFIX}]: \${QTPLUGINS}\")
54 fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${installed_lyx_path}\" \"\${QTPLUGINS}\" \"${QT_LIBRARY_DIRS}\")"
58 if (APPLE AND LYX_DMG)
59 # Setup the disk image layout
61 message(STATUS \"Creating the folder view options (.DS_Store)\")
62 execute_process(COMMAND /bin/ln -sf /Applications \"\${CMAKE_INSTALL_PREFIX}\")
63 execute_process(COMMAND /bin/bash \"${CMAKE_CURRENT_SOURCE_DIR}/../../MacOSX/set_bundle_display_options.sh\"
64 \"${CMAKE_BINARY_DIR}/ds_store\" \"${_lyx}\" \"${TOP_CMAKE_PATH}/../MacOSX/dmg-background.png\" 560 364)