@@ -19,6 +19,8 @@ qt5_wrap_ui(QTFRED_UI_GENERATED ${files_UI})
1919
2020source_group ("UI\\ Generated" FILES ${QTFRED_UI_GENERATED} )
2121
22+ SET (FRED_APP_ID "us.indiegames.scp.qtFRED" )
23+
2224add_executable (qtfred ${EXE_GUI_TYPE}
2325 ${source_files}
2426 ${QTFRED_UI_GENERATED}
@@ -41,6 +43,8 @@ target_compile_definitions(qtfred PRIVATE QT_DEPRECATED_WARNINGS)
4143
4244target_compile_definitions (qtfred PUBLIC USING_THIRD_PARTY_LIBS FRED )
4345
46+ target_compile_definitions (qtfred PUBLIC FRED_APP_ID= "${FRED_APP_ID} " )
47+
4448target_include_directories (qtfred PUBLIC
4549 ${CMAKE_CURRENT_SOURCE_DIR } /src
4650 ${CMAKE_CURRENT_BINARY_DIR }
@@ -137,6 +141,22 @@ elseif(FSO_BUILD_APPIMAGE)
137141
138142 install (FILES "${CMAKE_CURRENT_SOURCE_DIR } /resources/fred_icon.png" DESTINATION "."
139143 COMPONENT "qtFRED" )
144+ elseif (PLATFORM_MAC)
145+ # Handling of mac resources
146+ set (subpath resources/mac)
147+
148+ set_target_properties (qtfred PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR } /${subpath} /Info.plist.in" )
149+ set_target_properties (qtfred PROPERTIES MACOSX_BUNDLE_ICON_FILE "fred_icon" )
150+ set_target_properties (qtfred PROPERTIES MACOSX_BUNDLE_LONG_VERSION_STRING "${FSO_FULL_VERSION_STRING} " )
151+ set_target_properties (qtfred PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STRING "${FSO_PRODUCT_VERSION_STRING} " )
152+ set_target_properties (qtfred PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "qtFRED" )
153+ set_target_properties (qtfred PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER "${FRED_APP_ID} " )
154+
155+ # Copy everything from the Resources directory
156+ add_custom_command (TARGET qtfred POST_BUILD
157+ COMMAND cp -a "${CMAKE_CURRENT_SOURCE_DIR } /${subpath} /Resources" "$<TARGET_FILE_DIR :qtfred >/../Resources"
158+ COMMENT "Copying resources into bundle..."
159+ )
140160endif ()
141161
142162if (FSO_INSTALL_DEBUG_FILES)
@@ -146,3 +166,10 @@ if (FSO_INSTALL_DEBUG_FILES)
146166 OPTIONAL )
147167 endif ()
148168endif ()
169+
170+ # Ensure that Xcode generates debug symbols on macOS for Debug builds
171+ set_target_properties (qtfred PROPERTIES XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS [variant=Debug] "YES" )
172+ set_target_properties (qtfred PROPERTIES XCODE_ATTRIBUTE_COPY_PHASE_STRIP [variant=Debug] "NO" )
173+ set_target_properties (qtfred PROPERTIES XCODE_ATTRIBUTE_STRIP_INSTALLED_PRODUCT [variant=Debug] "NO" )
174+ set_target_properties (qtfred PROPERTIES XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN [variant=Debug] "NO" )
175+ set_target_properties (qtfred PROPERTIES XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "${FRED_APP_ID} " )
0 commit comments