diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index d00bac181..4a30cae08 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -368,6 +368,10 @@ IF(APPLE) set(APPS "\${CMAKE_INSTALL_PREFIX}/${COMPANION_NAME}.app") set_target_properties(${COMPANION_NAME} PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Companion ${VERSION_MAJOR}.${VERSION_MINOR}") set_target_properties(${SIMULATOR_NAME} PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Simulator ${VERSION_MAJOR}.${VERSION_MINOR}") + + # Use a non standard Info.plist that adds Retina support flags + set_target_properties(${COMPANION_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${PROJECT_SOURCE_DIR}/companion/targets/mac/MacOSXBundleInfo.plist.in) + set_target_properties(${SIMULATOR_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${PROJECT_SOURCE_DIR}/companion/targets/mac/MacOSXBundleInfo.plist.in) ENDIF(APPLE) IF(WIN32) set(APPS "\${CMAKE_INSTALL_PREFIX}/bin/QtTest.exe") @@ -413,6 +417,7 @@ if(APPLE) set(${COMPANION_SOURCES} ${COMPANION_SOURCES} ${PROJECT_SOURCE_DIR}/images/${MACOSX_BUNDLE_ICON_FILE}) install(FILES ${MAC_ICON_FILE} DESTINATION ${companion_res_dir} COMPONENT Runtime) + # Copy dfu-util, resolve symlink first get_filename_component(DFU_UTIL_ABSOLUTE_PATH ${DFU_UTIL_PATH} REALPATH) install(FILES ${DFU_UTIL_ABSOLUTE_PATH} DESTINATION ${companion_res_dir} COMPONENT Runtime) diff --git a/companion/src/companion.cpp b/companion/src/companion.cpp index aac688023..db9aa9438 100644 --- a/companion/src/companion.cpp +++ b/companion/src/companion.cpp @@ -62,6 +62,10 @@ int main(int argc, char *argv[]) { Q_INIT_RESOURCE(companion); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) + QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); +#endif + QApplication app(argc, argv); app.setApplicationName("OpenTX Companion"); app.setOrganizationName("OpenTX"); diff --git a/companion/src/simulator.cpp b/companion/src/simulator.cpp index 0f48ca128..9ed9438ba 100644 --- a/companion/src/simulator.cpp +++ b/companion/src/simulator.cpp @@ -70,6 +70,9 @@ void showMessage(const QString & message, enum QMessageBox::Icon icon = QMessage int main(int argc, char *argv[]) { Q_INIT_RESOURCE(companion); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) + QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); +#endif QApplication app(argc, argv); app.setApplicationName("OpenTX Simulator"); diff --git a/companion/targets/mac/MacOSXBundleInfo.plist.in b/companion/targets/mac/MacOSXBundleInfo.plist.in new file mode 100644 index 000000000..ee01dfa39 --- /dev/null +++ b/companion/targets/mac/MacOSXBundleInfo.plist.in @@ -0,0 +1,40 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${MACOSX_BUNDLE_EXECUTABLE_NAME} + CFBundleGetInfoString + ${MACOSX_BUNDLE_INFO_STRING} + CFBundleIconFile + ${MACOSX_BUNDLE_ICON_FILE} + CFBundleIdentifier + ${MACOSX_BUNDLE_GUI_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleLongVersionString + ${MACOSX_BUNDLE_LONG_VERSION_STRING} + CFBundleName + ${MACOSX_BUNDLE_BUNDLE_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + ${MACOSX_BUNDLE_SHORT_VERSION_STRING} + CFBundleSignature + ???? + CFBundleVersion + ${MACOSX_BUNDLE_BUNDLE_VERSION} + CSResourcesFileMapped + + NSHumanReadableCopyright + ${MACOSX_BUNDLE_COPYRIGHT} + + + NSPrincipalClass + NSApplication + NSHighResolutionCapable + True + +