clean up Mac

This commit is contained in:
SoftFever 2023-03-16 20:50:23 +08:00
parent cc5f40fc14
commit a5a3262c32
7 changed files with 29 additions and 23 deletions

View file

@ -9,7 +9,7 @@ on:
- SoftFever
jobs:
build_win64:
build_osx_arm64:
name: Build Mac AppleSilicon
runs-on: macos-12
@ -20,7 +20,7 @@ jobs:
run: |
brew install cmake git gettext zstd
- run: mkdir -p ${{ github.workspace }}/deps/build_arm64
- run: mkdir -p ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep_x86_64
- run: mkdir -p ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep_arm64
# - name: build deps
# id: cache_deps
@ -48,7 +48,8 @@ jobs:
- name: Build studio
working-directory: ${{ github.workspace }}
run: ./build_release_macos.sh -s -n -a arm64
run: |
./build_release_macos.sh -s -n -a arm64
- name: Sign app
working-directory: ${{ github.workspace }}
@ -67,18 +68,20 @@ jobs:
security import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $P12_PASSWORD $KEYCHAIN_PATH
codesign --deep --force --verbose --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_arm64/OrcaSlicer_arm64/OrcaSlicer.app
codesign --deep --force --verbose --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_arm64/OrcaSlicer/OrcaSlicer.app
- name: pack app
- name: Pack app
working-directory: ${{ github.workspace }}
run: |
export ver=$(grep '^#define SoftFever_VERSION' ./build_arm64/src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
ver="_V${ver//\"}"
zip -FSrq OrcaSlicer${ver}_nightly_Mac_AppleSilicon.zip ${{ github.workspace }}/build_arm64/OrcaSlicer_arm64/OrcaSlicer.app
cd ${{ github.workspace }}/build_arm64/OrcaSlicer
zip -FSrq OrcaSlicer${ver}_nightly_Mac_AppleSilicon_signed.zip ./OrcaSlicer.app
# (wip: staple failed, error 65)
# - name: Notarize the app
# run: |
# cd ${{ github.workspace }}/build_arm64/OrcaSlicer
# xcrun notarytool store-credentials "notarytool-profile" --apple-id "${{ secrets.APPLE_DEV_ACCOUNT }}" --team-id "${{ secrets.TEAM_ID }}" --password "${{ secrets.APP_PWD }}"
# ditto -c -k --keepParent "OrcaSlicer.app" "OrcaSlicer.zip"
# xcrun notarytool submit "OrcaSlicer.zip" --keychain-profile "notarytool-profile" --wait
@ -89,4 +92,4 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_Mac_AppleSilicon
path: ${{ github.workspace }}/OrcaSlicer*.zip
path: ${{ github.workspace }}/build_arm64/OrcaSlicer/OrcaSlicer*.zip

View file

@ -9,9 +9,9 @@ on:
- SoftFever
jobs:
build_win64:
build_osx_x86_64:
name: Build Mac Intel
runs-on: macos-latest
runs-on: macos-12
steps:
- uses: actions/checkout@v3
@ -68,14 +68,14 @@ jobs:
security import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $P12_PASSWORD $KEYCHAIN_PATH
codesign --deep --force --verbose --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_x86_64/OrcaSlicer_x86_64/OrcaSlicer.app
codesign --deep --force --verbose --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_x86_64/OrcaSlicer/OrcaSlicer.app
- name: pack app
working-directory: ${{ github.workspace }}
run: |
export ver=$(grep '^#define SoftFever_VERSION' ./build_x86_64/src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
ver="_V${ver//\"}"
zip -FSrq OrcaSlicer${ver}_nightly_Mac_Intel.zip ${{ github.workspace }}/build_x86_64/OrcaSlicer_x86_64/OrcaSlicer.app
zip -FSrq OrcaSlicer${ver}_nightly_Mac_Intel_signed.zip ${{ github.workspace }}/build_x86_64/OrcaSlicer/OrcaSlicer.app
# (wip: staple failed, error 65)
# - name: Notarize the app
@ -90,4 +90,4 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_Mac_Intel
path: ${{ github.workspace }}/OrcaSlicer*.zip
path: ${{ github.workspace }}/build_arm64/OrcaSlicer/OrcaSlicer*.zip

View file

@ -54,6 +54,8 @@ if (APPLE)
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
endif()
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
SET(CMAKE_XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "com.softfever3d.orca-slicer")
endif ()
# Proposal for C++ unit tests and sandboxes
@ -706,7 +708,7 @@ elseif (SLIC3R_FHS)
)
endforeach()
elseif (CMAKE_MACOSX_BUNDLE)
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/OrcaSlicer.app/Contents/resources")
# install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/OrcaSlicer.app/Contents/resources")
else ()
install(FILES src/platform/unix/OrcaSlicer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")

View file

@ -76,10 +76,10 @@ cd $WD
mkdir -p build_$ARCH
cd build_$ARCH
echo "building studio..."
cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="$DEPS/usr/local" -DCMAKE_INSTALL_PREFIX="$PWD/OrcaSlicer_$ARCH" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="$DEPS/usr/local" -DCMAKE_MACOSX_BUNDLE=ON -DCMAKE_OSX_ARCHITECTURES=${ARCH}
cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="$DEPS/usr/local" -DCMAKE_INSTALL_PREFIX="$PWD/OrcaSlicer" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="$DEPS/usr/local" -DCMAKE_MACOSX_BUNDLE=ON -DCMAKE_OSX_ARCHITECTURES=${ARCH}
cmake --build . --config Release --target ALL_BUILD
mkdir -p OrcaSlicer_$ARCH
cd OrcaSlicer_$ARCH
mkdir -p OrcaSlicer
cd OrcaSlicer
rm -r ./OrcaSlicer.app
cp -pR ../src/Release/OrcaSlicer.app ./OrcaSlicer.app
resources_path=$(readlink ./OrcaSlicer.app/Contents/Resources)

View file

@ -102,6 +102,7 @@ endif()
# Create a slic3r executable
# Process mainfests for various platforms.
set(MACOSX_BUNDLE_COPYRIGHT "Copyright(C) 2022-2023 Li Jiang All Rights Reserved")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/platform/msw/BambuStudio.rc.in ${CMAKE_CURRENT_BINARY_DIR}/BambuStudio.rc @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/platform/msw/BambuStudio.manifest.in ${CMAKE_CURRENT_BINARY_DIR}/BambuStudio.manifest @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/platform/osx/Info.plist.in ${CMAKE_CURRENT_BINARY_DIR}/Info.plist @ONLY)
@ -238,9 +239,9 @@ else ()
if (CMAKE_MACOSX_BUNDLE)
set(BIN_RESOURCES_DIR "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/OrcaSlicer.app/Contents/Resources")
set(MACOSX_BUNDLE_ICON_FILE Icon.icns)
set(MACOSX_BUNDLE_BUNDLE_NAME "Orca Slicer")
set(MACOSX_BUNDLE_BUNDLE_NAME "OrcaSlicer")
set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${SoftFever_VERSION})
set(MACOSX_BUNDLE_COPYRIGHT "Copyright(C) 2021-2023 Lunkuo All Rights Reserved")
set(MACOSX_BUNDLE_COPYRIGHT "Copyright(C) 2022-2023 Li Jiang All Rights Reserved")
endif()
add_custom_command(TARGET OrcaSlicer POST_BUILD
COMMAND ln -sfn "${SLIC3R_RESOURCES_DIR}" "${BIN_RESOURCES_DIR}"

View file

@ -13,7 +13,7 @@
<key>CFBundleShortVersionString</key>
<string>@SLIC3R_APP_NAME@ @SLIC3R_BUILD_ID@</string>
<key>CFBundleIdentifier</key>
<string>com.bbl.slic3r/</string>
<string>com.softfever3d.orca-slic3r/</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>

View file

@ -236,7 +236,7 @@ namespace instance_check_internal
dbus_uint32_t serial = 0;
const char* sigval = message_text.c_str();
//std::string interface_name = "com.prusa3d.prusaslicer.InstanceCheck";
std::string interface_name = "com.softfever3d.orcaslicer.InstanceCheck.Object" + version;
std::string interface_name = "com.softfever3d.orca-slicer.InstanceCheck.Object" + version;
std::string method_name = "AnotherInstance";
//std::string object_name = "/com/prusa3d/prusaslicer/InstanceCheck";
std::string object_name = "/com/softfever3d/OrcaSlicer/InstanceCheck/Object" + version;
@ -538,7 +538,7 @@ namespace MessageHandlerDBusInternal
" <arg name=\"data\" direction=\"out\" type=\"s\" />"
" </method>"
" </interface>"
" <interface name=\"com.softfever3d.orcaslicer.InstanceCheck\">"
" <interface name=\"com.softfever3d.orca-slicer.InstanceCheck\">"
" <method name=\"AnotherInstance\">"
" <arg name=\"data\" direction=\"in\" type=\"s\" />"
" </method>"
@ -576,7 +576,7 @@ namespace MessageHandlerDBusInternal
{
const char* interface_name = dbus_message_get_interface(message);
const char* member_name = dbus_message_get_member(message);
std::string our_interface = "com.softfever3d.OrcaSlicer.InstanceCheck.Object" + wxGetApp().get_instance_hash_string();
std::string our_interface = "com.softfever3d.orca-slicer.InstanceCheck.Object" + wxGetApp().get_instance_hash_string();
BOOST_LOG_TRIVIAL(trace) << "DBus message received: interface: " << interface_name << ", member: " << member_name;
if (0 == strcmp("org.freedesktop.DBus.Introspectable", interface_name) && 0 == strcmp("Introspect", member_name)) {
respond_to_introspect(connection, message);
@ -596,7 +596,7 @@ void OtherInstanceMessageHandler::listen()
int name_req_val;
DBusObjectPathVTable vtable;
std::string instance_hash = wxGetApp().get_instance_hash_string();
std::string interface_name = "com.softfever3d.OrcaSlicer.InstanceCheck.Object" + instance_hash;
std::string interface_name = "com.softfever3d.orca-slicer.InstanceCheck.Object" + instance_hash;
std::string object_name = "/com/softfever3d/OrcaSlicer/InstanceCheck/Object" + instance_hash;
//BOOST_LOG_TRIVIAL(debug) << "init dbus listen " << interface_name << " " << object_name;