mirror of
https://github.com/project-slippi/Ishiiruka.git
synced 2025-10-06 00:12:42 +02:00
Move macOS from .zip to .dmg distribution (#169)
This commit is contained in:
29
.github/workflows/pr-build.yml
vendored
29
.github/workflows/pr-build.yml
vendored
@@ -307,9 +307,9 @@ jobs:
|
||||
run: |
|
||||
git fetch --prune --unshallow
|
||||
echo "GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
|
||||
echo "GIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
||||
echo "GIT_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
|
||||
echo "CURR_DATE=$(date +%Y-%m-%d)" >> $GITHUB_ENV
|
||||
echo "GIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
||||
echo "GIT_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
|
||||
echo "CURR_DATE=$(date +%Y-%m-%d)" >> $GITHUB_ENV
|
||||
- name: "Install 10.14 SDK"
|
||||
if: success()
|
||||
shell: bash
|
||||
@@ -335,7 +335,8 @@ jobs:
|
||||
pkgconfig \
|
||||
libao \
|
||||
sound-touch \
|
||||
hidapi
|
||||
hidapi \
|
||||
create-dmg
|
||||
- name: "Cache wxWidgets 3.1.3"
|
||||
uses: actions/cache@v1
|
||||
env:
|
||||
@@ -367,12 +368,24 @@ jobs:
|
||||
shell: bash
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: |
|
||||
FILE_NAME=${{ env.CURR_DATE }}-${{ env.GIT_HASH }}-${{ env.GIT_TAG }}-macOS-netplay.tar.gz
|
||||
FILE_NAME=${{ env.CURR_DATE }}-${{ env.GIT_HASH }}-${{ env.GIT_TAG }}-macOS-netplay.dmg
|
||||
echo "FILE_NAME=$(FILE_NAME)" >> $GITHUB_ENV
|
||||
cp -Rf Data/Sys build/Binaries/Slippi\ Dolphin.app/Contents/Resources/
|
||||
mkdir artifact
|
||||
cd ./build/Binaries/
|
||||
zip -r "${FILE_NAME}" Slippi\ Dolphin.app
|
||||
mv "${FILE_NAME}" ../../artifact/
|
||||
create-dmg --no-internet-enable \
|
||||
--volname "Slippi Dolphin Installer" \
|
||||
--volicon "Data/slippi_dmg_icon.icns" \
|
||||
--background "Data/slippi_dmg_background.png" \
|
||||
--text-size 14 \
|
||||
--window-pos 200 120 \
|
||||
--window-size 590 610 \
|
||||
--icon-size 100 \
|
||||
--app-drop-link 440 196 \
|
||||
--icon "Slippi Dolphin.app" 140 196 \
|
||||
--hide-extension "Slippi Dolphin.app" \
|
||||
"${FILE_NAME}" \
|
||||
"./build/Binaries/"
|
||||
mv "${FILE_NAME}" artifact/
|
||||
- name: "Publish"
|
||||
if: success()
|
||||
uses: actions/upload-artifact@v2-preview
|
||||
|
@@ -53,7 +53,9 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT ANDROID)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
option(OSX_USE_DEFAULT_SEARCH_PATH "Don't prioritize system library paths" OFF)
|
||||
option(MACOS_USE_DEFAULT_SEARCH_PATH "Don't prioritize system library paths" OFF)
|
||||
option(MACOS_CODE_SIGNING "Enable codesigning" OFF)
|
||||
set(MACOS_CODE_SIGNING_IDENTITY "The identity used for codesigning." CACHE STRING "")
|
||||
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||
set(CMAKE_FIND_APPBUNDLE LAST)
|
||||
endif()
|
||||
@@ -284,7 +286,7 @@ if(ENABLE_LTO)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
if(NOT OSX_USE_DEFAULT_SEARCH_PATH)
|
||||
if(NOT MACOS_USE_DEFAULT_SEARCH_PATH)
|
||||
# Hack up the path to prioritize the path to built-in OS libraries to
|
||||
# increase the chance of not depending on a bunch of copies of them
|
||||
# installed by MacPorts, Fink, Homebrew, etc, and ending up copying
|
||||
|
BIN
Data/slippi_dmg_background.png
Normal file
BIN
Data/slippi_dmg_background.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
BIN
Data/slippi_dmg_icon.icns
Normal file
BIN
Data/slippi_dmg_icon.icns
Normal file
Binary file not shown.
@@ -61,7 +61,13 @@ void* AllocateExecutableMemory(size_t size, bool low)
|
||||
if (low && (!map_hint))
|
||||
map_hint = (char*)RoundPage(512 * 1024 * 1024); /* 0.5 GB rounded up to the next page */
|
||||
#endif
|
||||
void* ptr = mmap(map_hint, size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE
|
||||
|
||||
int flags = MAP_ANON | MAP_PRIVATE;
|
||||
#ifdef __APPLE__
|
||||
flags |= MAP_JIT;
|
||||
#endif
|
||||
|
||||
void* ptr = mmap(map_hint, size, PROT_READ | PROT_WRITE | PROT_EXEC, flags
|
||||
#if defined(_M_X86_64) && defined(MAP_32BIT)
|
||||
| (low ? MAP_32BIT : 0)
|
||||
#endif
|
||||
|
@@ -211,10 +211,11 @@ if(wxWidgets_FOUND)
|
||||
)
|
||||
endif()
|
||||
|
||||
# Install bundle into systemwide /Applications directory.
|
||||
install(DIRECTORY ${BUNDLE_PATH} DESTINATION /Applications
|
||||
USE_SOURCE_PERMISSIONS
|
||||
)
|
||||
if(MACOS_CODE_SIGNING)
|
||||
add_custom_command(TARGET ${DOLPHIN_EXE}
|
||||
POST_BUILD COMMAND
|
||||
/usr/bin/codesign -f -s "${MACOS_CODE_SIGNING_IDENTITY}" --deep --options runtime --entitlements ${CMAKE_SOURCE_DIR}/Source/Core/DolphinWX/Entitlements.plist "${BUNDLE_PATH_NO_QUOTES}")
|
||||
endif()
|
||||
else()
|
||||
install(TARGETS ${DOLPHIN_EXE} RUNTIME DESTINATION ${bindir})
|
||||
endif()
|
||||
|
16
Source/Core/DolphinWX/Entitlements.plist
Normal file
16
Source/Core/DolphinWX/Entitlements.plist
Normal file
@@ -0,0 +1,16 @@
|
||||
<?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>
|
||||
<!-- The below is based on work done by OatmealDome for upstream mainline Dolphin. -->
|
||||
<!-- Required for JIT usage -->
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<!-- Needed for GameCube microphone emulation -->
|
||||
<key>com.apple.security.device.audio-input</key>
|
||||
<true/>
|
||||
<!-- TODO: What is using AppleEvents? -->
|
||||
<key>com.apple.security.automation.apple-events</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
Reference in New Issue
Block a user