aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAge
* Integrate support for building with dependencies from vcpkg (#1880)Nadia Holmquist Pedersen2023-12-26
| | | | | | | | | | | | | | | | | | | * Integrate support for building with dependencies from vcpkg Configure the build using -DUSE_VCPKG=ON to use vcpkg. By default recommended triplets targeting the OS versions official builds support are used. You can opt out of this with -DUSE_RECOMMENDED_TRIPLETS=OFF. * Add the vcpkg manifest * Fetch vcpkg with FetchContent if we don't have it * macOS cross compiling fixes - can't use the x86_64 one as host triplet on arm64 because building Qt fails for whatever reason. Because of course it does :D - vcpkg doesn't always like periods in triplet names so removed those * x86_64 macOS should also use its recommended target when building arm64 builds
* Make that FindWayland warning shut upNadia Holmquist Pedersen2023-12-26
| | | | | Hopefully "stable" distros use a not-ancient-enough CMake version that this should be okay.
* I'm sick of this interfering with debuggingNadia Holmquist Pedersen2023-12-08
|
* GDB stub (#1583)PoroCYon2023-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gdbstub beginnings * gdbstub: finish gdb impl things, next up is integration with melonDS * holy fuck the gdbstub works * gdb breakpoints work, but there's a mysterious crash on continue * fix memory corruption that sometimes happened, and make resetting the console thru gdb work * remove some gdb debug printing * fix things in gdbstub * separate option for enabling gdbstub * add mode-dependent CPU registers * C++ize the GDBstub code * add gdbstub config in emu settings dialog * make sure gdb is disabled when jit is enabled * Remove unnecessary compiler flags, mark ARMJIT assembly code as no-execute-stack This hardens the binary a little bit against common exploitation methods * add option to wait for debugger attach on startup * only insert GNU stack notes on linux * disable gdbstub enable checkbox when jit is enabled * fix non-linux incompatibilities * enable gdbstub by default * fix issues with gdbstub settings disable stuff * format stuff * update gdb test code * Fix segfault when calling StubCallbacks->GetCPU() C++ overrides are hard. Please I'm just a lowly C programmer. * fix packet size not being sent correctly Thanks to @GlowingUmbreon on Github for troubleshooting this * fix select(2) calls (i should read docs more properly) * fix GDB command sequencing/parsing issue (hopefully) * [GDB] implement no-ack mode * fix sending ack on handshake * get lldb to work
* BAHAHAHAHAHAJSKASLASJISFS--+|*~+-.Arisotura2022-11-03
|
* revert half of the change to build flags. it makes Teakra linking shit ↵Arisotura2022-10-12
| | | | | | itself in a pretty bad and weird way. sorry Nadia
* Clean up optimization flagsNadia Holmquist Pedersen2022-10-09
| | | | | | | * The way -O3 was set for release builds was accidentally removing -DNDEBUG * -Og seems to mess with debugging with lldb, even though the GCC manual page says to use it for debug builds, so remove it
* oh fuck you macosNadia Holmquist Pedersen2022-05-23
|
* cmake: fix debug flagsNadia Holmquist Pedersen2022-05-23
|
* Modernize CMake build system (#1434)Nadia Holmquist Pedersen2022-05-21
| | | | | | | | | | | These changes modernize the CMake build system to (hopefully) match newer best practices * Library linking is simpler and more automatic because of using imported targets * Multi-configuration builds should be supported (Ninja Multi-Config, Visual Studio, etc. generators) * Clean up build options using cmake_dependent_option * Let CMake do its job in more cases, like finding the math/dl libraries and detecting and enabling LTO support * Remove platform-specific kludges like the Fedora/flatpak LTO workaround and a bunch of Windows stuff * Simplify Windows static builds * Consistent formatting
* insert wacky commit messageArisotura2022-03-08
|
* macOS: Bump minimum version to 10.15Nadia Holmquist Pedersen2022-03-06
|
* Allow for using LLVM from Homebrew and include its libc++Nadia Holmquist Pedersen2021-09-15
|
* BAHAHAHAHAHAHAAAAA-+*~+Arisotura2021-09-02
|
* add support for JIT profiling with VTuneRSDuck2021-07-24
|
* Add message when CCache is being usedWaluigiWare642021-07-22
|
* Use CCache if it existsWaluigiWare642021-07-22
|
* macOS-related CMake cleanupsNadia Holmquist Pedersen2021-05-02
| | | | | * Remove useless explicitly specified link/include directories * Don't pass -s or -pie to the linker as they aren't needed
* RELEASE 0.9.2 NOW THEY SAIDArisotura2021-04-26
|
* Fix static iconv linking on WindowsWaluigiWare642021-03-26
|
* Set macOS Deployment Target to 10.14WaluigiWare642021-03-12
|
* Set macOS Deployment Target to 10.13WaluigiWare642021-03-01
| | | It's the minimum that the latest Qt 5 supports
* Only use special ar and ranlib command when ENABLE_LTO is ON. (#1018)nia2021-02-26
| | | | This allows melonDS to be built with the standard system toolchain on NetBSD, see discussion in #1016
* Fix some compiler warningsWaluigiWare642021-01-25
|
* Define melonDS version in CMakeWaluigiWare642021-01-19
| | | | Prevents having to update multiple files (melon.rc, melon.plist, version.h) when a new version is released.
* fix non static LTO windows buildRSDuck2020-12-05
|
* Add support for macOS (#771)WaluigiWare642020-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Override CMAKE_AR/CMAKE_RANLIB, fixes flatpak builds, also use lld with ↵Nadia Holmquist Pedersen2020-11-28
| | | | | | | 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
* CMake build fixups (#825)Nadia Holmquist Pedersen2020-11-23
| | | | | | | | | | | | | | | * 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
* Fix LTO builds with Clang (#815)Nadia Holmquist Pedersen2020-11-14
|
* do what Nadia saidRSDuck2020-11-09
|
* Fix building the Qt frontend with LTO (#802)Nadia Holmquist Pedersen2020-11-06
| | | | | * Remove unnecessary -fno-pic/-no-pie, fixes LTO builds * restore -no-pie because GNOME is derpy
* make OpenGL renderer a build optionRSDuck2020-10-01
| | | | mostly meant for the Switch port
* move ARM64 JIT backend hereRSDuck2020-06-16
|
* jit: add compile optionRSDuck2020-06-16
|
* embed romlist.binArisotura2020-05-30
|
* * add options for static linkingArisotura2020-05-29
| | | | * make the vsync checkbox and shit work to some extent (they don't actually function tho)
* actually hook up input to the coreArisotura2020-05-19
| | | | also unbotch CMakeLists.txt
* remove LTOStapleButter2020-05-19
|
* finally get this going, I guessArisotura2020-04-25
|
* blargArisotura2020-04-25
|
* Fix build error on Fedoratokumeiwokiboushimasu2019-08-28
|
* cmake: bump minimum versiontgsm2019-06-09
| | | | add_link_options() only exists on cmake >=3.13.
* fix crash when using -O3.StapleButter2019-05-30
| | | | 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.
* Merge branch 'master' of https://github.com/Arisotura/melonDSStapleButter2019-05-28
|\ | | | | | | rârp
| * Remove useless BUILD_SDL2 optionNadia Pedersen2019-05-26
| |
* | Linux: start getting somewhere with the whole OpenGL shitoStapleButter2019-05-28
|/
* Fix CMake policy warningNadia Holmquist Pedersen2019-05-04
|
* Change CMake minimum version requirement to the one shipped with Ubuntu LTSNadia Holmquist Pedersen2019-05-04
|
* Remove redundant install from CMakeLists.txtNadia Holmquist Pedersen2019-05-01
|