mirror of
https://github.com/wolfpld/tracy.git
synced 2026-09-14 06:18:12 +00:00
Try making a macos bundle.
This commit is contained in:
4
.github/workflows/macos.yml
vendored
4
.github/workflows/macos.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
uses: ./.github/actions/test-tracy
|
||||
- name: Build profiler
|
||||
run: |
|
||||
cmake -B profiler/build -S profiler -DCMAKE_BUILD_TYPE=Release -DGIT_REV=${{ github.sha }}
|
||||
cmake -B profiler/build -S profiler -DCMAKE_BUILD_TYPE=Release -DBUNDLE=ON -DGIT_REV=${{ github.sha }}
|
||||
cmake --build profiler/build --parallel 2 --config Release
|
||||
- name: Build update
|
||||
run: |
|
||||
@@ -56,7 +56,7 @@ jobs:
|
||||
- name: Package artifacts
|
||||
run: |
|
||||
mkdir -p bin
|
||||
cp profiler/build/tracy-profiler bin
|
||||
ditto -c -k --keepParent profiler/build/tracy-profiler.app bin/tracy-profiler.app.zip
|
||||
cp update/build/tracy-update bin
|
||||
cp capture/build/tracy-capture bin
|
||||
cp csvexport/build/tracy-csvexport bin
|
||||
|
||||
@@ -8,6 +8,10 @@ set_option(LEGACY "Instead of Wayland, use the legacy X11 backend on Linux" OFF)
|
||||
set_option(SELF_PROFILE "Enable self-profiling" OFF)
|
||||
set_option_value(SANITIZE "Sanitizer parameters" "")
|
||||
|
||||
if(APPLE)
|
||||
set_option(BUNDLE "Build a macOS application bundle" OFF)
|
||||
endif()
|
||||
|
||||
set(NO_STATISTICS OFF)
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/../cmake/version.cmake)
|
||||
@@ -261,6 +265,25 @@ if(WIN32)
|
||||
)
|
||||
add_executable(${PROJECT_NAME} WIN32 ${PROFILER_FILES} ${COMMON_FILES} ${SERVER_FILES})
|
||||
set_property(DIRECTORY ${CMAKE_CURRENT_LIST_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME})
|
||||
elseif(APPLE AND BUNDLE)
|
||||
set(ICON_SRC ${CMAKE_CURRENT_LIST_DIR}/../icon/icon.png)
|
||||
set(ICON_ICNS ${CMAKE_CURRENT_BINARY_DIR}/icon.icns)
|
||||
add_custom_command(
|
||||
OUTPUT ${ICON_ICNS}
|
||||
COMMAND sips -s format icns ${ICON_SRC} --out ${ICON_ICNS}
|
||||
DEPENDS ${ICON_SRC}
|
||||
)
|
||||
set_source_files_properties(${ICON_ICNS} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||
add_executable(${PROJECT_NAME} MACOSX_BUNDLE ${PROFILER_FILES} ${COMMON_FILES} ${SERVER_FILES} ${ICON_ICNS})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/macos/Info.plist.in
|
||||
MACOSX_BUNDLE_BUNDLE_NAME "Tracy Profiler"
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER "pl.nereid.tracy"
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ${TRACY_VERSION_STRING}
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${TRACY_VERSION_STRING}
|
||||
MACOSX_BUNDLE_ICON_FILE icon.icns
|
||||
MACOSX_BUNDLE_COPYRIGHT "Bartosz Taudul"
|
||||
)
|
||||
else()
|
||||
add_executable(${PROJECT_NAME} ${PROFILER_FILES} ${COMMON_FILES} ${SERVER_FILES})
|
||||
endif()
|
||||
|
||||
30
profiler/macos/Info.plist.in
Normal file
30
profiler/macos/Info.plist.in
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//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>CFBundleName</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
Reference in New Issue
Block a user