From fc04ec1c3e90c2085f3fefaca82dfaa0f4d5c89e Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 17 May 2019 16:12:25 +0200 Subject: [PATCH] CMake build / macOS: Fix Info.plist Change-Id: I160c9efd10e62b7e17957117daed376d2ce70601 Reviewed-by: Alexandru Croitor Reviewed-by: Cristian Adam --- CMakeLists.txt | 3 ++- src/app/CMakeLists.txt | 6 ++++++ src/app/app-Info.plist | 12 ++++++------ src/app/app.pro | 8 +++++--- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b275609a49c..d323db81aeb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,10 +17,11 @@ set(IDE_COPY_SETTINGSVARIANT "Nokia" CACHE STRING "The IDE settings to initially set(IDE_DISPLAY_NAME "Qt Creator" CACHE STRING "The IDE display name.") set(IDE_ID "qtcreator" CACHE STRING "The IDE id (no spaces, lowercase!)") set(IDE_CASED_ID "QtCreator" CACHE STRING "The cased IDE id (no spaces!)") +set(IDE_BUNDLE_IDENTIFIER "org.qt-project.${IDE_ID}" CACHE STRING "The macOS application bundle identifier.") mark_as_advanced(IDE_VERSION_COMPAT IDE_VERSION_DISPLAY IDE_COPYRIGHT_YEAR IDE_REVISION IDE_REVISION_STR IDE_SETTINGSVARIANT IDE_COPY_SETTINGSVARIANT - IDE_DISPLAY_NAME IDE_ID IDE_CASED_ID) + IDE_DISPLAY_NAME IDE_ID IDE_CASED_ID IDE_BUNDLE_IDENTIFIER) project(QtCreator VERSION ${IDE_VERSION}) diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt index 3375fbee0e1..fc5c1b3ce95 100644 --- a/src/app/CMakeLists.txt +++ b/src/app/CMakeLists.txt @@ -37,3 +37,9 @@ add_custom_command(TARGET qtcreator POST_BUILD COMMAND "${CMAKE_COMMAND}" -E copy_directory "${PROJECT_SOURCE_DIR}/share/qtcreator" "${PROJECT_BINARY_DIR}/${IDE_DATA_PATH}") + +if (APPLE) + set_target_properties(qtcreator PROPERTIES + MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/app-Info.plist" + ) +endif() diff --git a/src/app/app-Info.plist b/src/app/app-Info.plist index 2e2614b34a6..b9cf951b8d6 100644 --- a/src/app/app-Info.plist +++ b/src/app/app-Info.plist @@ -235,7 +235,7 @@ NSHumanReadableCopyright - (C) @QTCREATOR_COPYRIGHT_YEAR@ The Qt Company Ltd + (C) ${IDE_COPYRIGHT_YEAR} The Qt Company Ltd CFBundleIconFile qtcreator CFBundlePackageType @@ -243,15 +243,15 @@ CFBundleSignature ???? CFBundleExecutable - @EXECUTABLE@ + ${IDE_APP_TARGET} CFBundleIdentifier - @PRODUCT_BUNDLE_IDENTIFIER@ + ${IDE_BUNDLE_IDENTIFIER} CFBundleVersion - @FULL_VERSION@ + ${IDE_VERSION} CFBundleShortVersionString - @SHORT_VERSION@ + ${IDE_VERSION} LSMinimumSystemVersion - @MACOSX_DEPLOYMENT_TARGET@ + ${MACOSX_DEPLOYMENT_TARGET} NSAppleEventsUsageDescription This application wants to run AppleScript. NSBluetoothPeripheralUsageDescription diff --git a/src/app/app.pro b/src/app/app.pro index e1ef8d2f8e7..8621a63f02d 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -38,9 +38,11 @@ win32 { QMAKE_ASSET_CATALOGS_APP_ICON = qtcreator infoplist = $$cat($$PWD/app-Info.plist, blob) - infoplist = $$replace(infoplist, @MACOSX_DEPLOYMENT_TARGET@, $$QMAKE_MACOSX_DEPLOYMENT_TARGET) - infoplist = $$replace(infoplist, @QTCREATOR_COPYRIGHT_YEAR@, $$QTCREATOR_COPYRIGHT_YEAR) - infoplist = $$replace(infoplist, @PRODUCT_BUNDLE_IDENTIFIER@, $$PRODUCT_BUNDLE_IDENTIFIER) + infoplist = $$replace(infoplist, \\$\\{MACOSX_DEPLOYMENT_TARGET\\}, $$QMAKE_MACOSX_DEPLOYMENT_TARGET) + infoplist = $$replace(infoplist, \\$\\{IDE_COPYRIGHT_YEAR\\}, $$QTCREATOR_COPYRIGHT_YEAR) + infoplist = $$replace(infoplist, \\$\\{IDE_APP_TARGET\\}, $$IDE_APP_TARGET) + infoplist = $$replace(infoplist, \\$\\{IDE_BUNDLE_IDENTIFIER\\}, $$PRODUCT_BUNDLE_IDENTIFIER) + infoplist = $$replace(infoplist, \\$\\{IDE_VERSION\\}, $$QTCREATOR_VERSION) write_file($$OUT_PWD/Info.plist, infoplist) QMAKE_INFO_PLIST = $$OUT_PWD/Info.plist