Commit Graph

52 Commits

Author SHA1 Message Date
WaluigiWare64 7da4550eea
Add support for macOS (#771)
* use shm_open() instead of memfd_create() on macOS

malloc.h isn't a header on macOS

* Change OpenGL headers + create ifdef for DO_PROCLIST

macOS seems to already have the OpenGL functions defined, without the ifdef, it gives "ambiguous references" errors.

* macOS doesn't have ->gregs in uc_mcontext

and it doesn't have REG_RIP either
https://github.com/gperftools/gperftools/blob/master/m4/pc_from_ucontext.m4

* use getpid() to make memory file name unique

* #ifndef __APPLE__ for AF_PACKET and linux/if_packet.h

* Add include and link directories for macOS and link the OpenGL framework

* Add macOS CI

* Use newly added libslirp package from Homebrew

https://github.com/Homebrew/homebrew-core/pull/63412

* Use Apple's Clang instead of GNU GCC on macOS

* Add macOS build instructions to README

* Try to fix macOS undefined symbol

* snprintf doesn't take null terminator into account

* Map new memory on macOS for JIT

* Only use gcc-ar if using GNU Compiler

* re-add fastmem code - whoops!

* Fix style issue - use camelCase not snake_case

* Set Minimum macOS version

* Switch Minimum OS X version to 10.9

* Add macOS libpcap library name

* fix memory leak

* Fix binding keys in macOS

* Allow getting MAC address on macOS

melonDS on Linux uses AF_PACKET, which doesn't exist on macOS. Instead, this commit uses AF_LINK on macOS to get the MAC address.

* Remove unneeded macOS CI dependencies

* Build melonDS app bundle on macOS

Now it is no longer required to install the libraries on macOS, they come with the app bundle.

* fix macOS CI not being able to find macdeployqt

* copy melonDS.app with recursive because it's a folder

* Disable fastmem checkbox on macOS

* Disable fastmem by default in config

* forgot a semicolon

* Don't bundle libraries, causes issues on macOS <10.15

* Update README + allow finding version in Finder on macOS

* Make sure fastmem checkbox stays uncheckable
2020-11-29 17:11:33 +01:00
Nadia Holmquist Pedersen 14be591ab8
Override CMAKE_AR/CMAKE_RANLIB, fixes flatpak builds, also use lld with clang if found (#828)
* Override CMAKE_AR/CMAKE_RANLIB, fixes flatpak builds, also use lld with clang if found

* Ensure we build with -fPIC/-pie for LTO builds
2020-11-28 17:12:44 +01:00
Nadia Holmquist Pedersen ddf9a5ac27
CMake build fixups (#825)
* CMake build fixups

* Correctly set C/C++ standard
* Specify CXX in project() to get things set up right, also causes it to
link using the C++ compiler which is necessary for LTO builds with Clang
to work right
* Remove Fedora/flatpak build workaround, no longer needed with C++ standard set
* Link libm explicitly if we need to
* Specify -fuse-linker-plugin when building with LTO just in case

* Restore CMAKE_{C,CXX}_STANDRD, oops

* Use C++17
2020-11-23 21:57:36 +01:00
Nadia Holmquist Pedersen 1b0a24a9bd
Fix LTO builds with Clang (#815) 2020-11-14 13:29:47 +01:00
RSDuck ae9694ef8b do what Nadia said 2020-11-09 20:50:29 +01:00
Nadia Holmquist Pedersen ec232a9365
Fix building the Qt frontend with LTO (#802)
* Remove unnecessary -fno-pic/-no-pie, fixes LTO builds

* restore -no-pie because GNOME is derpy
2020-11-06 12:03:02 +01:00
RSDuck 6977302403 make OpenGL renderer a build option
mostly meant for the Switch port
2020-10-01 00:01:05 +02:00
RSDuck 99b34efe2d move ARM64 JIT backend here 2020-06-16 11:57:51 +02:00
RSDuck 86f2be7260 jit: add compile option 2020-06-16 11:54:03 +02:00
Arisotura c45068da0e embed romlist.bin 2020-05-30 00:28:21 +02:00
Arisotura 935f121025 * add options for static linking
* make the vsync checkbox and shit work to some extent (they don't actually function tho)
2020-05-29 21:03:46 +02:00
Arisotura b262313816 actually hook up input to the core
also unbotch CMakeLists.txt
2020-05-19 22:22:21 +02:00
StapleButter d5f1633019 remove LTO 2020-05-19 14:41:11 +02:00
Arisotura 0bdafb6295 finally get this going, I guess 2020-04-25 19:31:19 +02:00
Arisotura d58c9d4b53 blarg 2020-04-25 18:56:39 +02:00
tokumeiwokiboushimasu 6635ded6ec
Fix build error on Fedora 2019-08-28 22:23:26 +09:00
tgsm 5f4f1408b3 cmake: bump minimum version
add_link_options() only exists on cmake >=3.13.
2019-06-09 04:57:36 -04:00
StapleButter ea669190aa fix crash when using -O3.
gcc will try to optimize the memfill with MMX opcodes, but those seem to crash if the memory isn't aligned to a 8-byte boundary.
2019-05-30 18:05:52 +02:00
StapleButter 624e7aeb30 Merge branch 'master' of https://github.com/Arisotura/melonDS
rârp
2019-05-28 19:49:20 +02:00
StapleButter 891ab9fd3c Linux: start getting somewhere with the whole OpenGL shito 2019-05-28 19:48:59 +02:00
Nadia Pedersen 8e783d9360
Remove useless BUILD_SDL2 option 2019-05-26 21:30:45 +02:00
Nadia Holmquist Pedersen b3c3d5f79d Fix CMake policy warning 2019-05-04 19:59:09 +02:00
Nadia Holmquist Pedersen 56969ba0d1 Change CMake minimum version requirement to the one shipped with Ubuntu LTS 2019-05-04 15:32:12 +02:00
Nadia Holmquist Pedersen 5d3462b42c Remove redundant install from CMakeLists.txt 2019-05-01 18:39:50 +02:00
Nadia Holmquist Pedersen b31b5ed66a Revamp build system 2019-05-01 05:16:54 +02:00
Arisotura f08b87b41f * move melon_fopen_local() to Platform.cpp
* make it require that the file already exist (hopefully fixing config saving bug)
* finally axe melon_fopen.cpp
2019-03-27 13:34:26 +01:00
StapleButter f86782cc2e make it compile under Linux.
it shits itself tho.
2019-03-26 01:58:03 +01:00
John-Gee 5d364789af Fixed checking for build type 2019-01-06 06:00:06 -08:00
StapleButter 9eab6618da bûrp 2018-12-30 02:18:58 +01:00
Pedro Velho d638096a1b Solve cmake error while importing SDL2. 2018-12-27 16:25:30 +01:00
StapleButter 1a8b18af2c what. 2018-12-19 14:50:04 +01:00
StapleButter fd54abd900 add dialog for audio settings, flesh it out
not functional yet tho
2018-12-14 04:09:51 +01:00
StapleButter 40f3f91368 move config-file seeking code to its own thing.
look also into the same directory as melonDS. make it the preferred place for storing melonDS.ini.
rewrite WinMain() wrapper.
2018-12-11 21:34:05 +01:00
StapleButter 0579a1cd2e add CRC32 shit 2018-12-11 19:10:57 +01:00
StapleButter 307c26de93
Merge pull request #248 from Dirbaio/master
Two fixes
2018-10-27 14:16:46 +02:00
StapleButter 0c74309e2b also adding melon.rc, huh 2018-10-18 14:21:16 +02:00
StapleButter a68aae8ff7 add Savestate.cpp to the cmake list, as pointed out by khang06 2018-10-18 14:20:14 +02:00
Dario Nieuwenhuis 700e262979 Fix build on Arch Linux. 2018-05-24 01:15:15 +02:00
dogtopus 549bcf6d71 Fix build on linux, enable build directory support
Specifically:

- Include stddef.h for missing ptrdiff_t
- Define PCAP_OPENFLAG_PROMISCUOUS if not using WinPcap because it seems to be
  a WinPcap extension
- Make use of CMAKE_CURRENT_{SOURCE,BINARY}_DIR to enable building under a
  directory other than root of the project
2017-12-22 12:29:34 -04:00
StapleButter 2eaec3f08e add it to the CMake list too 2017-12-18 19:54:33 +01:00
StapleButter 2e82a4f26a gtk: add icon 2017-12-16 05:43:34 +01:00
kwkam 7b684afbc0 build: add mingw64 cross-compiling 2017-12-09 18:06:40 +08:00
Anthony J. Bentley c992177eda Only link against libdl on Linux. 2017-10-09 03:42:35 -06:00
StapleButter 7f05bf24ad libui/GTK: start catching up. atleast now it runs without exploding (mostly). 2017-10-03 00:28:41 +02:00
StapleButter 5979ab2eb2 libui: fix bug with filepicker filters under GTK. add skeleton for bitmaps. add the right cmake shit. 2017-09-19 00:36:25 +02:00
StapleButter 4a992dbfd7 ... maybe it's better this way????? 2017-07-05 21:29:30 +02:00
StapleButter 599103486c cmake: attempt to add C++11 support. 2017-07-05 21:17:15 +02:00
StapleButter af5fb2e809 add optimization to cmake build 2017-06-04 18:20:49 +02:00
Nikolaj Pedersen a1af7d6c8a CMake: Don't assume the install path will be /usr/local, use CMAKE_INSTALL_PREFIX instead. 2017-05-30 20:17:46 +02:00
StapleButter 36fa621436 lay base for core->platform interaction
(immediately planned: threaded 3D renderer, wifi connectivity)
2017-05-09 04:55:38 +02:00