Commit Graph

562 Commits

Author SHA1 Message Date
Connor McLaughlin 699c3d80b7 GS: Add video dumping via ffmpeg 2022-12-22 04:27:30 +00:00
Connor McLaughlin 6b3a8066e3 cmake: Remove PulseAudio dependency
Also no longer needed.
2022-12-18 04:24:04 +00:00
Connor McLaughlin fddef65a58 3rdparty: Remove libsamplerate
Since we're using cubeb for USB audio emulation, libsamplerate is no
longer needed as cubeb has its own resampler.
2022-12-18 04:24:04 +00:00
Connor McLaughlin 129fddf07c Qt: Switch to 6.4.0 on Windows 2022-11-20 17:25:55 +00:00
Connor McLaughlin 741ddaf384 3rdparty: Add zydis 2022-11-19 04:59:10 +00:00
Ganael Laplanche f5498a4660
Build: Fix build with wx 3.1 on FreeBSD (#7178) 2022-10-14 10:55:55 +01:00
TellowKrinkle 954e9fc7c1 CMake: Prevent finding Mono.framework libpng 2022-10-08 22:41:59 +01:00
arcum42 5d3b3319ad Remove references to unused define. 2022-10-02 05:21:51 -07:00
Connor McLaughlin 1186025c89 Qt: Add Discord Rich Presence support 2022-10-01 17:27:05 +01:00
Connor McLaughlin 9f2c4c6b59 3rdparty: Add rcheevos 2022-10-01 00:00:02 +01:00
Connor McLaughlin af646e4496 Common: Add StringUtil::ToChars() wrapper 2022-09-25 14:49:48 +02:00
Connor McLaughlin f17a77c18e Common: Add HTTPDownloader implementation 2022-09-17 17:51:14 +01:00
TellowKrinkle 738c8cb630 Core: Remove trailing whitespace from all files 2022-09-16 00:52:28 -05:00
SupervisedThinking 8d8c076931 CMake: fix Xrandr
- fix path to includes
- fix lib name
2022-09-11 16:30:21 +02:00
Connor McLaughlin 33f1e51ebc 3rdparty: Move jpgd from pcsx2 to separate static lib 2022-08-29 13:39:09 +01:00
TellowKrinkle bb56f274c8 CMake: Enable PDB generation in Release builds 2022-08-23 03:32:26 -05:00
Connor McLaughlin cfe51035fb CMake: Drop unused ALSA dependency 2022-07-05 13:05:57 +01:00
Connor McLaughlin 9b7ae498d2 3rdparty: Add cpuinfo 2022-06-06 17:44:06 +01:00
TellowKrinkle beab9870cf Common: Move ObjC methods to CocoaTools 2022-06-04 14:50:33 +01:00
TellowKrinkle 9c61e9eda3 Qt: Mac build 2022-06-04 14:50:33 +01:00
Connor McLaughlin ea051c6d5f Everything: Get rid of wx entirely from the Qt build 2022-05-22 13:58:56 +01:00
tellowkrinkle 1afb248e4d
Optionally use system libs (#6094)
* CMake: Make zstd and libzip optionally use system-installed versions

* CMake: Make SDL2 optionally use system version

* CMake: Disable crypto support in bundled libzip

* CMake: Fix bundled SDL build on macOS
2022-05-21 20:28:06 -07:00
Connor McLaughlin 7f8bfb22de Build: Fix revision extractor for Qt auto updater 2022-05-12 17:31:06 +01:00
Connor McLaughlin a3f6efecb8 libchdr: Use in-tree lzma instead of bundled
Since we need it for the Qt updater.
2022-05-12 15:03:26 +01:00
Connor McLaughlin 2587cf3b95 3rdparty: Add lzma/7Z SDK 21.07 2022-05-12 15:03:26 +01:00
Connor McLaughlin 8620febeb3 GL/Context: Load wayland-egl dynamically
Gets rid of the dependency on libwayland-egl, allowing us to always use
the system version.

Solves missing symbol issues by including it in the AppImage.
2022-05-06 01:00:24 +01:00
TellowKrinkle e1a6304e32 CMake: Set version based on git tag 2022-04-27 01:49:59 -05:00
Connor McLaughlin 398e468c9e 3rdparty: Add D3D12MemoryAllocator 2022-04-15 12:56:41 +01:00
Connor McLaughlin f270f34865 Qt: Move to Qt 6.3.0 2022-04-15 08:53:02 +01:00
Connor McLaughlin a22c634cd4 3rdparty: Add zstd 2022-04-15 08:15:40 +01:00
Connor McLaughlin 9aa2c52b20 3rdparty: Add libzip 2022-04-15 08:15:40 +01:00
Connor McLaughlin d387a1f4dc GS: Support compiling without OpenGL renderer 2022-04-15 07:21:18 +01:00
TellowKrinkle 5ecaa9459d GS: Add Metal renderer 2022-03-31 23:51:27 -05:00
lightningterror f1ac712eba build: Remove _M_X86_64, __M_X86_64, _M_X86_32 defines.
32bit cleanup.
2022-03-21 20:21:36 +01:00
refractionpcsx2 269db188d0 Build: Remove 32bit from CMake. 2022-03-20 00:39:39 +00:00
arcum42 11918e5846
Disable warnings on several third party libraries. (#5519) 2022-02-28 21:14:52 -08:00
TheLastRar c18be9dde7 Dependencies: Remove LibXml 2022-02-28 09:44:14 +01:00
Frank Hartung a44fe29b8d
CMake: add back HarfBuzz to fix build (#5510)
- pango relies on HarfBuzz & pulls in its headers
2022-02-10 17:56:19 -08:00
TellowKrinkle 88c0c41a70 CMake: Use relative paths for package mode
Allows relocating install prefix without recompiling
2022-02-02 17:09:48 -06:00
TellowKrinkle e2e8fdafb1 CMake: Make translation macro a function
Macros can set variables in the parent scope but we don't need that here
2022-02-02 17:09:48 -06:00
TellowKrinkle aad8b09d81 CMake: Remove all argument option from translations macro
There's no reason you wouldn't want it
2022-02-02 17:09:48 -06:00
TellowKrinkle 90e3d9e460 CMake: Move translation file processing to main pcsx2 directory
Reduces workarounds for cmake dumbness
2022-02-02 17:09:48 -06:00
TellowKrinkle baf9e4a9af CMake: Properly use MACOSX_PACKAGE_LOCATION for translations on macOS
Translations are now properly tracked by CMake and will be regenerated if you delete them
2022-02-02 17:09:48 -06:00
TellowKrinkle 1b453d0436 GUI: Move translations to resources directory
Also fixes finding translations in package mode builds
2022-02-02 17:09:48 -06:00
Connor McLaughlin 5c33e9666a Qt: Enable SDL2 input source for Qt 2022-01-31 14:21:38 +00:00
Connor McLaughlin 93f9ae8a31 Qt: Add work in progress interface 2022-01-30 14:29:18 +00:00
Connor McLaughlin c2ca0852d9 Build: Add pcsx2core variant for Qt 2022-01-30 14:29:18 +00:00
TheLastRar e5c4fe003b Build: Use git tag for file version on windows, attempt 2 2022-01-21 23:41:07 +00:00
Connor McLaughlin a27b6a113a Common: Add Vulkan helper classes 2022-01-08 05:19:45 +00:00
Connor McLaughlin 5ff67d4b2d 3rdparty: Add glslang 2022-01-08 05:19:45 +00:00
Ty Lamontagne 4c3df1a963 CMake: Pass -fsanitize=address to the linker when USE_ASAN 2022-01-08 00:15:51 +00:00
Connor McLaughlin 0c36647506 GS: Rewrite presentation interface and OSD 2022-01-02 15:06:39 +00:00
Connor McLaughlin 9334285edd 3rdparty: Add imgui 2022-01-02 15:06:39 +00:00
TellowKrinkle cf176f1b99 CMake: Remove SDL1.2 option
Not sure if it worked before but it definitely doesn't work now
2022-01-01 16:36:15 -06:00
Connor McLaughlin 7829094668 3rdparty: Add simpleini 2021-12-28 05:22:45 +00:00
Tyler Wilding 4d4b24f8b0 cmake: support `rapidyaml` 2021-12-25 15:11:01 +00:00
Connor McLaughlin f3d51a242d SPU2: Remove Portaudio and SDL2 output modules 2021-12-19 15:14:04 +00:00
Connor McLaughlin bd489647e9 3rdparty: Add cubeb 2021-12-19 15:14:04 +00:00
TellowKrinkle d51bdccf7f CMake: Remove gio dependency on macOS 2021-12-13 03:29:16 -06:00
kenshen112 8e93e9f516 CMake: Switch Wayland find script and usage to use imported targets
Also clears warning about mismatched names getting sent to FIND_PACKAGE_HANDLE_STANDARD_ARGS
2021-12-13 00:23:52 -06:00
kenshen112 ac8582eca7 CMake: Set minimum version first
Makes policy enabling based on minimum version work properly
Also increases minimum version to 3.11 because we actually do use 3.11 features
2021-12-13 00:23:52 -06:00
Connor McLaughlin 3073281d13 CMake: Fix package mode 2021-12-12 03:27:43 +00:00
arcum42 017c37f212
Only pass C++ flags to C++ files. (#5115) 2021-12-08 21:10:21 -08:00
tellowkrinkle 340874996e CMake: Always default `CMAKE_BUILD_PO` off
Git files getting modified by build is just as much of a pain in release builds as it is in devel builds
2021-11-26 13:02:25 -06:00
TellowKrinkle 2245315b60 CMake: Remove gtk dep on macOS
We only need gio now
2021-11-17 14:23:15 -06:00
TellowKrinkle 951604475b GS: Add class for swizzle calculations 2021-11-07 03:44:31 +00:00
tellowkrinkle 1e5f1de12c CMake: Increase deployment target to 10.13
Allows use of throwing `optional` and `variant` methods
2021-11-05 23:11:53 -05:00
Tyler Wilding 86e12c9603 cmake: properly set the new tag variable 2021-11-01 20:07:31 -05:00
Tyler Wilding c4e5a21c86 build: If available - use the current git tag for the build metadata 2021-11-01 20:07:31 -05:00
Connor McLaughlin ca2a75db9c 3rdparty: Add glad 2021-10-30 02:00:21 +01:00
Connor McLaughlin 114d78d378 CMake: Add options for building with X11/Wayland 2021-10-30 02:00:21 +01:00
Connor McLaughlin fadd97c021 Common: Add WindowInfo 2021-10-30 02:00:21 +01:00
kojin e04c890018 cmake: freebsd fixup 2021-10-04 03:17:30 -04:00
TellowKrinkle 83e9513623 CMake: Add option for partial LTO 2021-10-01 23:04:42 -04:00
TellowKrinkle 74b08589c4 CMake: Fix up some defines 2021-09-24 00:31:16 -05:00
Silent ed62ae124b Add Windows Implementation Libraries 2021-09-16 17:31:45 -04:00
TellowKrinkle 1fe352d8a6 CMake: Add proper dependencies for bin2cpp invocations 2021-09-04 21:06:20 -05:00
tellowkrinkle b61619cf40
CMake: Fix builds outside of CI 2021-08-27 23:27:59 -05:00
TellowKrinkle 2881149f0b CMake: Add CI flag for CI builds 2021-08-28 03:25:33 +01:00
TellowKrinkle 059d856f45 CMake: Match git info to vs project 2021-08-28 03:25:33 +01:00
TellowKrinkle e1bb96cc94 cmake: Windows dependency builds 2021-08-28 03:25:33 +01:00
Ziemas 90a198e3f1 Cmake: Update vtune paths 2021-08-24 23:10:06 +02:00
TellowKrinkle 284ca6ae68 cmake: Add support for using c++ bin2cpp instead of perl 2021-08-15 02:13:36 -04:00
TellowKrinkle 122de7a7d7 cmake: Remove old add_pcsx2_* macros
No longer used
2021-08-15 02:13:36 -04:00
TellowKrinkle e34116e340 cmake: Parse vcxproj filters for cmake generators 2021-08-05 18:20:58 -05:00
TellowKrinkle a13222f926 CMake: Fix cmake reconfigure breaking dependencies
pkg_search_module was looking at our lib_FOUND and thinking it was its own
Fixed by tracking who found the library and only invoking pkg_search_module if pkg_search_module also found the library the previous time
2021-07-20 01:14:54 -05:00
TellowKrinkle dba223eb18 cmake: override yaml-cpp settings to clear warning 2021-07-17 21:08:30 -05:00
TellowKrinkle c072c0e82b cmake: Don't overwrite cmake default flags
Also makes sure we don't push our warning settings onto 3rd party libraries
2021-07-17 21:08:30 -05:00
TellowKrinkle 7bb3f41fdc cmake: Drop X11 requirement on macOS
We don't actually benefit from it
2021-07-17 21:08:30 -05:00
TellowKrinkle 4213b4a409 cmake: Use imported targets 2021-07-17 21:08:30 -05:00
TellowKrinkle e788dd352c cmake: Fix FindGTK3 not creating targets properly 2021-07-17 21:08:30 -05:00
TellowKrinkle 2c869afbc6 Upgrade libchdr
Fixes cmake includes
2021-07-17 21:08:30 -05:00
TellowKrinkle 108e8bdf0a cmake: Remove unused options 2021-07-17 21:08:30 -05:00
TellowKrinkle 5bfd48c65c cmake: Convert indentation to tabs
Previously was a random mix of tabs and spaces
2021-07-16 22:05:48 -05:00
lightningterror e8cc2df46c cmake: SearchForStuff update to match gs merge. 2021-07-09 18:03:44 +02:00
lightningterror 146b33f120 misc-linux: Cleanup leftover stuff from gs merge for linux build. 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech c1e625cc4b cmake: require XCB libs and not just X11-XCB 2021-07-03 18:16:11 -04:00
TellowKrinkle 67a5c8e314 cmake: Enable sse4.1 by default 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech fc1e00b7ef gs: trying to sort out this include hell 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech fd39f14b4e cmake: initial cleanup of the dep lookup 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech 587a893a0e gs-merge: remove initial plugin subsystem 2021-07-03 18:16:11 -04:00
SleepyMan 0599e675a0 CDVD: Add support for CHD format 2021-03-23 11:06:48 +00:00
Tyler Wilding b819cfcbe8 cmake: Update minimum {fmt} version 2021-03-20 04:20:43 +01:00
lightningterror 7d875076e2 cmake: Remove unused dependency logs. 2021-03-09 16:15:58 +01:00
Ignaz Forster b6246a7ba4 Fix compilation in path with spaces
Compilation with the default settings failed when downloading PCSX2 into
a directory with spaces somewhere in its path:
* In CompileGResources.cmake the paths had been escaped already, resulting
  in double escaping the strings (i.e. embedding them in quotes _and_
  escaping spaces with a backslash. cmake wasn't able to parse the line
  any more.
* In pcsx2/CMakeLists.txt the paths were not escaped, but also not
  embedded in quotes, resulting in an invalid Bash command.
This commit fixes these cases (but is neither a review to find all cases
or making sure other characters such as a newline character would work).
2021-03-02 22:39:26 +00:00
lightningterror 87eb7f1e1f build-linux: Remove EXTRA_PLUGINS flag.
There are no extra plugins.
2021-02-23 16:45:47 +01:00
Romain TISSERAND 7295837135
Build: Drop GSnull plugim
Fixes #4242
2021-02-23 09:19:06 +00:00
TellowKrinkle 91e8e0d33c macOS:i18n: Include translations in app bundle 2021-01-25 18:33:47 -06:00
orbea 44b700a6fd cmake: Use GNUInstallDirs. 2020-12-23 01:04:26 +01:00
lightningterror 6a7648d2b0
misc: Cleanup remaining pad stuff from merge. (#4014) 2020-12-18 00:48:33 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech 1703e9f8d9 PAD: more work on resources compilation, linker issues left 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech 69e837c1ea PAD: initial merge relatively complete, linker issues left 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech 01b210f42a PAD: remove initial references 2020-12-17 09:38:21 +01:00
TellowKrinkle 56b0026160 macOS:cmake: build plugins directly to app bundle
Copying them afterwards ended up in the wrong order with Xcode's code signing, causing unsigned plugins to get copied, which would break the later step of signing the whole bundle
2020-12-06 14:02:43 -06:00
TellowKrinkle 790e0a8327 macOS: Fix things broken by plugin merges 2020-12-06 14:02:43 -06:00
TellowKrinkle 16750c19ce cmake: Fix build on newer macOS 2020-12-06 14:02:43 -06:00
Tellow Krinkle 7fa6740710 GSdx: Fix issues on macOS
Note: Doesn't add the ability to make windows, so GSdx won't actually play games on macOS with this
2020-12-06 14:02:43 -06:00
arcum42 99b8168ea8
Only search for yaml-cpp if asked to. (#3975) 2020-12-06 11:39:25 -08:00
Tyler Wilding 6e47834e8a Dep/CMake: Add yaml-cpp support to CMake 2020-11-30 04:22:17 -05:00
orbea 3b073343cc Fix build without pulseaudio. 2020-11-29 01:45:20 -05:00
GovanifY 047599e12c
CMake: fix generation due to warnings treated as errors (#3948) 2020-11-27 07:57:28 -08:00
arcum42@gmail.com c25ae58c6f Disable a few warnings. 2020-11-21 10:29:32 -08:00
arcum42 9d4337b7eb
[USB+] Clean up Warnings (#3930)
* Suppress hardening warning spam for the moment. Get rid of a multi-line comment warning.

* Resolve a bunch of warnings about unused variables, unused labels, and sign mismatches.

* Deal with various possibly unused variables.

* Rearrange member variables to match initialization order.

* Move [[maybe_unused]] to a separate line in one spot to make it easier to read.
2020-11-15 04:37:58 -08:00
Shanoah Alkire 20c8a11925 Okay, the USB dialogs that were merged are written in Gtk 2, causing lots of deprecation warnings if you compile with Gtk 3. I'm just going to suppress all of those for the moment until they can be dealt with properly. 2020-11-13 20:42:18 -08:00
Gauvain 'GovanifY' Roussel-Tarbouriech e2a72b2798 USB: initial merge finally complete 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech 2788198b75 3rdparty: add libsamplerate cmake defs 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech 9dd0ef681d USB: remove initial references for merge 2020-11-11 13:34:16 +00:00
Yuri Konotopov 64010cf797
Support build with system fmt (#3838)
Signed-off-by: Yuri Konotopov <ykonotopov@gnome.org>
2020-11-08 16:28:43 -08:00
lightningterror 306681bc93 misc: Remove merged plugins leftover stuff. 2020-11-06 21:36:04 +01:00
Jonathan Li dca272e12d cmake: Specify the gtk version being used with wx
Fixes potential compilation issues due to gtk3 and gtk2 being used at
the same time.
2020-11-05 15:20:42 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech ca8bf22423 DEV9: add back configure GUI 2020-10-31 16:35:38 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech f430a63312 DEV9: initial work on merge, removing references 2020-10-31 16:35:38 +00:00
arcum42 540c69897e
Loosen up wxwidget version restrictions. Default to Gtk 3. Cleanup. (#3832)
* Remove version and platform checks for wxwidgets. It's probably better to find *something* rather then fail because you have 3.1.2 and the build was looking for 3.0 when both work.

* Build gtk 3 by default. Replace gtk 3 flag with one for gtk 2.

* Remove two unused cmake modules.

* Forgot to change a description in build.sh.
2020-10-29 22:30:03 -07:00
Yuri Konotopov 48bff06202
Added cmake options to bypass setcap execution. (#3840)
This call became a problem with distributions (eg Gentoo GNU/Linux) that
builds PCSX2 in sandboxed environment which disallows setcap execution.

Signed-off-by: Yuri Konotopov <ykonotopov@gnome.org>
2020-10-29 22:25:41 -07:00
Gauvain 'GovanifY' Roussel-Tarbouriech b8c3bd4fae SPU2: remove initial plugin references 2020-10-04 00:13:36 +01:00
Ty 5858f72748
Bump up C++ version to c++17 for gcc & clang (#3746)
Use target_compile_features to enforce c++17 standard
2020-09-29 10:30:03 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech 0fdef7b7d7 FW: removing initial references 2020-09-19 22:38:32 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech c4fa3e3304 CDVD: polishing rebase and fixing nullptr bug 2020-09-19 01:37:43 +01:00
Filjo Abraham 029461c5ae CDVD: merging and removing remnants of plugin 2020-09-19 01:37:43 +01:00
lightningterror 8cdd823671 build.sh/cmake: Remove OPENCL_API flag. 2020-09-18 20:04:11 +02:00
TellowKrinkle a1bf677514 cmake: Don't add xsave flag 2020-09-01 09:28:31 -04:00
TellowKrinkle 91326e1d93 cmake: Remove x86-64 warnings
It's supported now
2020-08-24 16:20:09 -05:00
lightningterror 0939c6302e cmake/linux: Remove zerogs zerospu build environments. 2020-08-23 05:27:22 +02:00
lightningterror f6c138ca7e
Goodbye, old friend... Remove zzogl from master branch (#3614)
* cmake: Remove zzogl from cmake.

* cmake/build: Remove GLSL_API and EGL_API flags.

Only used in zzogl.

* linux various: Remove zzogl.

* sln: Remove zzogl from old plugins solution.

* zzogl: Remove source files.

* debian: Exclude zzogl from copyright.

* linux various: Remove glsl2h.pl

Used only in zzogl?

* linux various: Remove zzogl code from validate_glsl.sh

* debian: Remove zzogl mentions in create built tarball.

* gitignore: Remove zzogl paths.
2020-08-21 20:41:45 -07:00
lightningterror 35fa2253dd cmake/linux various: Remove remaining traces of GSdx legacy. 2020-08-20 15:34:20 +02:00
tellowkrinkle 4f56db9f18
Fix codegen on x86-64 (#3512)
Fix codegen on x86-64

Part 1 of the changes being worked on in #3451

Makes x86emitter emit the x86-64 machine code you would expect it to

Also adds some unit tests to verify that things are working
2020-08-19 09:19:28 +01:00
Hamish 8816f4bf0d
GSdx: Remove GLX in favor of EGL (#3562) 2020-08-09 04:39:56 +01:00
arcum42 2b115d031e
Remove superVU. (#3386)
* Remove superVU, as well as the VUClipFlagHack, which was SuperVU only.
2020-05-24 19:08:12 -07:00
tellowkrinkle f9771c38a6
macOS fixes (#3357)
* macOS compile

* Fix memprotect error on macOS

* Fix semaphore wait + thread cancel on macOS

* Fix timedlock timeout calculation

* spu2-x macOS

* onepad macOS support

* Add MacOS game controller db

* Disable onepad_legacy on macOS

* Fix spu2-x configuration crashes

* Make recompiler work on 32-bit macOS

* Use dylib extension for plugins on macOS

* Make app bundle on macOS

* Use git info for Info.plist version
2020-05-23 23:19:47 -07:00
arcum42 c8c27cbfd1 Bump up the minimum cmake version slightly, and make older versions happy with the regex in FindHarfbuzz.cmake. 2020-05-19 22:15:47 -07:00