Looks like the CMAKE_SYSTEM_NAME variable is only valid AFTER the project is set.
We need a capitalized name for macOS builds, but lowercase for linux ones.
* refactor: fix flatpak builds
- added FindHelper.cmake
- Bumped Flatpak runtime to 24.08
- Version changes
* fixed find helper for libserialport
* use variables for find_helper libs
* fixed libmpeg2 vs libmpeg2convert
* refactor: desktop and metainfo.xml files
- Merged files between flatpak and normal Linux packages
* Update com.blitterstudio.amiberry.yml
* Update Amiberry.desktop
The new installation rules respect CMAKE_INSTALL_PREFIX and the other
GNUInstallDirs variables, but the prefix was hardcoded as /usr in
several places in osdep/amiberry.cpp, so it wouldn't actually work if
installed to a different prefix.
Define AMIBERRY_DATADIR and AMIBERRY_LIBDIR in CMakeLists.txt, and use
these instead of the hardcoded paths.
* refactor: macOS bundle changes
- Move macos build files in separate directory
- Harmonize logic of creating folders on startup between MacOS and Linux versions
- Removed macos_init_amiberry.zsh script, no longer needed
* ci: enable builds on all pushes and pull requests
* ci: build on every push, not just tags
* build: fix some paths
* Added cmake macosx bundle options
* Fixes for macOS directory detections
* build: fix path to template file
* Escape paths in macOS Library directory
* build: when compiling on macOS, capitalize project name
* ci: use CMake to prepare macOS bundles
* ci: fix path for macOS bundle
* ci: remove CPack options for macOS (not needed)
The build already produces an app bundle now, so there's no need for Cpack as well for this platform
* ci: don't include the build dir in the macOS zip
* ci: fix path to macOS artifact
* ci: fix macOS x86 zip path
* build: add a few more properties in the plist file
* build: combine macOS and Linux options where possible
* build: added man file (fixes#1445)
* ci: build macOS packages the same way as Linux Deb ones
* ci: also change apple silicon build
* build: fix macos bundle packaging from cmake
* refactor: reorganize CPack entries
- reorganized cpack entries in more logical order
- added DMG background image
* refactor: improved icon
* bugfix: fixed applescript .app reference
* build: maybe we don't need the RPATH change anymore
* build: skip install step in bundled libs, do it from the root one only
* refactor: use .dylib for macOS libs, look for them in Frameworks directory
* build: fix destination folder of DEB assets
* build: remove Makefiles and obsolete files
* refactor: data_dir in macOS should be in Resources
* refactor: some dirs should not be in the config file
- data dir is determined on startup, having it in the config file will only make things worse
- path dir doesn't seem to be necessary to save/load
- config path as well
* build: move gamecontrollerdb.txt to controllers directory
* enhancement: create home directories if they don't exist
- After the directories have been decided (data, home, config), create those in the specified HOME directory, if they don't exist
- If they didn't exist, and we had the original contents installed in /usr/share/amiberry/<dir>, copy those over and change permissions. This ensures that the distributed files like the AROS ROMs, the WHDLoad booter and the controllerdb files, are always there in the home dir.
* chore: we no longer need to copy all the directories in the package
Now that we create the home directories on startup, we don't need the empty ones in the package anymore.
Only those that contain something can stay
* build: add stripping of binaries
* chore: ignore .idea folder
* bugfix: WHDLoad booter A1200 config was incorrect
After the additional entries in A1200 configs and models, the booter was set to incorrectly use a config with a Blizzard accelerator. Since that requires a board ROM, which might not be available, it has to change.
Using the default A1200 config instead, and setting Fast RAM to 8MB after that.
* build: install icon in shared location
When preparing the .deb package, the application icon should go in the /usr/share/icons/hicolor/... location, to adhere with established standards
* build: use ~/Amiberry instead of ~/.amiberry
Perhaps it's best to use a non-hidden folder for amiberry directories, make it easier on the users to find it
* refactor: use ~/Amiberry/conf instead of ~/.config/amiberry for config files
* refactor: change desktop file icon reference
Should be possible to use just "amiberry" now, that the icon file is copied in the right location
* chore: fix references to github.com/midwan -> github.com/BlitterStudio
* refactor: move plugins dir to /usr/lib/amiberry in the .deb package
If we are using a system-wide installation, with the .deb package, use /usr/lib/amiberry for plugins.
Check the HOME/Amiberry/plugins next, create it if necessary.
Fallback to the startup directory if that's not available (probably never).
* refactor: only move the abr folder in the destination plugins
When using the .deb package, only the abr folder should be copied in the destination.
Otherwise, we get a plugins directory created there as well
* refactor: Change Kickstarts to Roms
The Kickstarts directory can contain different kind of ROMs, not only kickstarts.
It's best if we rename it accordingly
* build: CPack updates
- Removed unneeded line
- added CPACK_DEBIAN_PACKAGE_ARCHITECTURE
- Added Extended Description
- Fixed description starts with package name
* ci: rename architectures properly
Let's keep the names identical to what dpkg reports
* build: fix some lintian errors
- location of plugins
- section
* build: added copyright and changelog in DEB
* build: fix location of debian files
* build: add copyright notice, fix changelog
* build: changelog should be compressed
* build: extend the description
* build: make the description lines shorter...
* build: description should not be longer than 80 chars
* build: remove timestamp from changelog
Fix another lintian complaint
* build: description again
* bugfix: the plugins dir was not correctly set
* refactor: Updated desktop entry to handle MimeTypes
* build: remove duplicate key in desktop file
* build: add more mimetypes to desktop file
We don't need this anymore.
If install was chosen, those will get copied in the destination install directory.
CPack uses the install items to prepare the package also.
* modify CMakeLists.txt to be able to build packages for MacOS and Linux
* Moved pull request template to .github dir
* Moved code of conduct file under .github directory
* Removed gitmodules file
* Moved install extra dirs to only if we're not building an Apple bundle
* Added first version of a Deb package option to CPack
* Fixed double directory creation during installation/packaging
* Remove debian directory
We won't be using this, going for CPack instead
* Fixed package version
* Clean up contents of packages
* Fix dependencies and filename of .deb package
* Bump version to 6.3.5
* Add desktop file for Deb package
* Remove archive generator, the DEB one is good enough
* Change pipeline to use CMake for Linux targets
Let's generate some .deb files!
This is most likely missing stuff, like the distro name...
* Fix incorrect architecture names in cross-compiler
* Fix 32-bit arm package architecture
* ci: Allow 32-bit arm builds
* ci: disable the bullseye builds for now
Until we figure out a solution with Bullseye + CMake + SDL2_image/SDL2_ttf
* ci: fix expected targets
* ci: bring back bullseye builds
* Remove path from desktop shortcut
* Fixed typo in comment
* Set the version in the Project, use that for CPack
* Updated compiled and linker flags with no-pie properly
- There were some differences between the Makefile flags and CMake. Now they are identical
- Updated the Findmpg123.cmake file with the latest one from upstream
* Include bullseye build targets again
* ci: Cmake builds would fail if started under a subdir
* ci: add cmake files needed for bullseye
* ci: updated macOS include directories
* ci: fix compiler error under clang/macOS
* ci: remove unused linker flag
* ci: add cmake in macOS homebrew
* enhancement: Merge more WinUAE code
- Added PPC
- Added PCEM
- Added PCI
- Added MAME (A2410 and TM34010)
- Added QEMU (various gfx cards, network cards, SCSI, etc)
- Enabled relevant ifdefs
* enhancement: Added luascript, slirp_uae
- Removed unused ersatz
- Added luascript (disabled for now, needs an extra library)
- Added slirp_uae (disabled for now)
- Added sources for separate tool "uaeunp"
* enhancement: Added DSP emulation
- Added DSP emulation files from WinUAE, with slight modifications (disabled for now)
* enhancement: Enabled TabletLibrary, DSP, Draco
Not implemented on the GUI yet, but enabled related ifdefs in the code
* enhancement: Added SANA2 support
Not visible on the GUI yet
* enhancement: sync includes and other details with WinUAE
* enhancement: added support for more RTG boards
* bugfix: added missing arm/arm64 headers for pcem codegen_backend
WinUAE didn't have these, so let's grab them from PCem v16 directly
* enhancement: Fixed defines in picasso96.cpp
* bugfix: Maybe we should actually sleep for a few ms in sleep_millis2
* enhancement: P96 - added ifdefs where Amiberry-specific pieces are added
* chore: sync time/rpt headers with WinUAE
* chore: reduce the lines of ifdefs in ahi_v2
* enhancement: use SDL_Delay instead of waiting for the cpu_wakeup_event
* perf: only call init_row_map if the pixels have changed
* enhancement: Added GVP T-Rex II
Merged from WinUAE
* enhancement: Added DKB WildFire v1.0 and Masoboshi v2.197
Merged from WinUAE
* enhancement: Flush trap queues during reset.
* bugfix: Added missing S3 Virge PCI byteswap mode
Merged from WinUAE
* perf: Do not unnecessarily call SetCursor() continuously.
* bugfix: Fixed uae_sem_unpost
This should be SemPost, not SemWait
* enhancement: Allow 16-bit only if D3D9 is selected.
Merged from WinUAE - Amiberry uses gfx_api value 2 anyway.
* bugfix: Fix SPRxPOS modification just before horizontal match if sprite had lowest horizontal bit set.
Merged from WinUAE
* enhancement: Both COPxJMP strobe emulation update
Merged from WinUAE
* enhancement: Serial emulation updates, more accurate transmit timing, receive timing is not anymore instant except in direct mode.
Merged from WinUAE
* enhancement: OpalVision undocumented horizontal panning emulation
address load was ignored if it was included in second control line.
* perf: Reduce amount of read_processor_time() calls.
Merged from WinUAE
* build: updated makefile with new files
* enhancement: added PPC options to GUI
* enhancement: added MapROM option in GUI
* bugfix: GUI RAM Panel did not highlight selected items properly
* enhancement: added label in Input panel for Parallel Port joystick adapter
The label should make it more clear that the last two ports are for the emulated parallel port joystick adapter
* enhancement: GUI listbox inactive color improvement
The guisan listbox would use an inactive color of a fixed value.
It should use something from the color scheme, instead.
* enhancement: added more models and configs in Quickstart