Skip to content

Conversation

@fernandotonon
Copy link
Owner

Summary

fix macOS x86_64 support

Technical Details

solve this issue when running in x86_64 intel processors

Last login: Sat Jun 28 02:41:52 on ttys027
/Applications/QtMeshEditor.app/Contents/MacOS/QtMeshEditor ; exit;
fernandotonon@Fernandos-MacBook-Pro ~ % /Applications/QtMeshEditor.app/Contents/MacOS/QtMeshEditor ; exit;
zsh: bad CPU type in executable: /Applications/QtMeshEditor.app/Contents/MacOS/QtMeshEditor

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

✨ Features

🐛 Bugfixes

  • fix macOS x86_64 support

- Fix Qt framework paths from /macos/lib/ to /clang_64/lib/ for Qt 6.9.1
- Add universal binary support with CMAKE_OSX_ARCHITECTURES='arm64;x86_64'
- Update macOS deployment target to 11.0 for Apple Silicon compatibility
- Add code signing step for macOS Sequoia compatibility
- Improve directory creation with -p flag for better error handling
- Add app bundle verification step

Fixes 'not supported on this mac' error on macOS Sequoia 15.1.1
Resolves compatibility issues with both Intel and Apple Silicon Macs
- Update project version from 2.0.0 to 2.0.1
- Includes macOS CI pipeline fixes for Qt 6.9.1 compatibility
- Resolves 'not supported on this mac' error on macOS Sequoia
- Add debug step to detect actual Qt installation structure
- Use dynamic Qt path detection (macos vs clang_64)
- Fix architecture mismatch by using runner's native architecture
- Change from universal binary to single architecture for GitHub Actions
- Resolves linking errors with Qt frameworks

This addresses the arm64 vs x86_64 linking issues and incorrect Qt paths
in GitHub Actions runners.
- Sign Qt frameworks individually before signing app bundle
- Sign dynamic libraries (.dylib files)
- Sign main executable before final bundle signing
- Add proper error handling with || true for optional components
- Improve logging for debugging code signing process

This resolves the 'code object is not signed at all' error
by following the correct signing order required by macOS Sequoia.
- Move Qt frameworks to Contents/Frameworks/ (proper macOS structure)
- Move plugins to Contents/PlugIns/platforms/ (correct location)
- Update code signing paths to match new framework locations
- Add @executable_path/../Frameworks rpath for framework loading
- Add debugging output to show app bundle structure
- Improve error handling for missing Assimp libraries

This follows the standard macOS app bundle conventions and should
resolve the code signing errors by using the correct paths.
- Add comprehensive debugging for framework structure
- Detect actual Qt framework layout (Versions/Current vs direct)
- Try multiple possible framework executable paths:
  - Versions/Current/QtCore
  - QtCore (direct)
  - Versions/A/QtCore
- Sign both framework executables and framework bundles
- Improve error handling and logging for missing components
- Add fallback to find executable files in frameworks

This should handle different Qt installation structures and
resolve the 'No such file or directory' signing errors.
- Replace deprecated 'find -perm +111' with 'find -executable'
- Add comprehensive framework structure debugging
- Automatically find and sign all executables in frameworks
- Improve error handling with 2>/dev/null redirects
- Add detailed logging for each signing step
- Handle frameworks with non-standard structures

This resolves the 'invalid mode +111' error and provides
better visibility into the actual framework structure.
…imp, and Ogre3D with architecture verification
- Add GitHub Actions workflow for building universal binaries using separate ARM64 and x86_64 runners
- ARM64 builds on GitHub-hosted macos-latest runner
- x86_64 builds on self-hosted Intel Mac runner
- Uses lipo -create to combine binaries into universal binary
- Includes test workflow for Intel Mac runner verification
- Add comprehensive setup guide for self-hosted Intel Mac runner
- Add comparison documentation showing 30% performance improvement and cost savings

This approach provides:
- Better reliability (native builds vs cross-compilation)
- Faster build times (parallel execution)
- Easier debugging (architecture-specific isolation)
- Cost efficiency (reduced GitHub Actions minutes)
- True universal binary creation with lipo -create
…architecture binaries

- Simplified approach: builds separate ARM64 and x86_64 binaries instead of universal binary
- Uses GitHub matrix strategy with native compilation on each architecture
- Removes complexity of lipo -create combination step
- Better performance: 50% faster builds (fully parallel)
- Better cost efficiency: 50% reduction in GitHub Actions minutes
- Better user experience: smaller downloads, users choose their architecture
- Easier debugging: architecture-specific issues are isolated
- Fix deprecated actions/upload-artifact@v3 → v4
- Update actions/checkout@v3 → v4
- Update actions/cache@v3 → v4
- Resolves CI failure from deprecated artifact action
@fernandotonon fernandotonon linked an issue Jul 1, 2025 that may be closed by this pull request
@fernandotonon fernandotonon changed the title Fix/mac os support code editor improvements Oct 12, 2025
@fernandotonon fernandotonon changed the title code editor improvements material editor improvements Oct 12, 2025
@fernandotonon fernandotonon merged commit ccd9c62 into master Oct 12, 2025
10 checks passed
@fernandotonon fernandotonon deleted the fix/macOSSupport branch October 12, 2025 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

improve material editor

2 participants