Browse Source

Create macOS application bundle

Johannes Kreutz 2 years ago
parent
commit
4816a0c54c
2 changed files with 45 additions and 1 deletions
  1. 11 1
      trackpoint-app/CMakeLists.txt
  2. 34 0
      trackpoint-app/cmake/info.plist.in

+ 11 - 1
trackpoint-app/CMakeLists.txt

@@ -33,7 +33,7 @@ INCLUDE(thirdparty/openscenegraph.cmake)
 INCLUDE(thirdparty/lib3mf.cmake)
 
 # The executable we want to build
-QT_ADD_EXECUTABLE(TrackpointApp
+QT_ADD_EXECUTABLE(TrackpointApp MACOSX_BUNDLE
   src/main.cpp
   src/MainWindow.cpp
   include/MainWindow.hpp
@@ -84,5 +84,15 @@ TARGET_LINK_LIBRARIES(TrackpointApp PRIVATE
   Qt6::OpenGLWidgets
 )
 
+# Configure macOS application bundle
+SET_TARGET_PROPERTIES(TrackpointApp PROPERTIES
+	BUNDLE True
+	MACOSX_BUNDLE_GUI_IDENTIFIER com.jkmsoftware.trackpointapp
+	MACOSX_BUNDLE_BUNDLE_NAME TrackpointApp
+	MACOSX_BUNDLE_BUNDLE_VERSION "1.0.0"
+	MACOSX_BUNDLE_SHORT_VERSION_STRING "1.0.0"
+	MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/cmake/info.plist.in
+)
+
 # Header to have version number available in the code
 CONFIGURE_FILE(include/trackpointapp.hpp.in include/trackpointapp.hpp)

+ 34 - 0
trackpoint-app/cmake/info.plist.in

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
+	<key>CFBundleGetInfoString</key>
+	<string>${MACOSX_BUNDLE_INFO_STRING}</string>
+	<key>CFBundleIconFile</key>
+	<string>${MACOSX_BUNDLE_ICON_FILE}</string>
+	<key>CFBundleIdentifier</key>
+	<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleLongVersionString</key>
+	<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
+	<key>CFBundleName</key>
+	<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
+	<key>CSResourcesFileMapped</key>
+	<true/>
+	<key>NSHumanReadableCopyright</key>
+	<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
+</dict>
+</plist>