Commit graph

80 commits

Author SHA1 Message Date
Alex James d7a8d385d8 CMake: Use find_package to find SDL2
This ensures that the SDL2 uses an absolute library path, which is
necessary when SDL2 isn't present in the default link directories (e.g.
on macOS).
2021-01-17 13:51:03 +03:00
Bevan Weiss 1e83d2a4e9 LibUSB: Update to upstream master (and turn off YAML_CPP_INSTALL CMake property)
May resolve some outstanding issues around libusb/hidapi (i.e. DS4 not being released on rpcs3 shutdown etc..) or may not.
Fixes three outstanding compile warnings on non-Windows OS... introduces a few more warnings in WindowsOS (issue raised upstream with libusb around WINAPI_CHECK macro)
Re-ordered the 3rd party CMake so libusb is in file order above hidapi (just to have document flow match logical flow)

Also took this opportunity to remove the YAML INSTALL action (by setting YAML_CPP_INSTALL to OFF)
Provided capability to use system library for libusb by providing USE_SYS_LIBUSB option to CMAKE

Tested under:
- [X] Windows 10 2004 OS with DS4 controller
- [X] Windows 10 2004 OS with GCon3 controller
- [X] Linux (Mint 20) with DS4 controller
2020-10-16 22:51:52 +03:00
Bevan Weiss d962bb018d wolfssl: Add WC_NO_HARDEN suppression to compiler defines, and remove duplicate defines in MSVC
Silence the wolf from telling us:
#warning "For timing resistance / side-channel attack prevention consider using harden options"

Also removed duplicate defines for Visual Studio project, to remove some additional warnings there.
2020-10-10 13:57:24 +03:00
Bevan Weiss 264df11132
xxHash: Update to v0.8.0 xxHash (#8980)
* xxHash: Update to v0.8.0 xxHash

Removed build of XXHSUM test application for xxHash also.
2020-09-27 01:10:31 +01:00
RipleyTom 54493747a8 Updates wolfssl and curl to official repos 2020-09-10 23:09:36 +02:00
RipleyTom 190822c2b2
RPCN Client (#8663) 2020-08-27 20:47:04 +01:00
kd-11 fb3d5827f0 Fix linux build 2020-05-05 13:18:03 +03:00
Jan Beich 58492ef92d
build/cmake: add option to use system-wide libcurl package (#7882) 2020-03-28 00:49:31 +00:00
RipleyTom b1d8bf754e Replace QNetwork operations with libcurl + wolfssl 2020-03-22 13:48:43 +03:00
RipleyTom 4befa36365 Use official libusb repo 2020-02-22 16:02:40 +03:00
Zion Nimchuk aa9055f4c3 Switch the AppImage building over to gcc from clang
Turns out the current version of clang doesn't support the [[likely]] and [[unlikely]] attributes, so to ensure good performance, we'll be switching to gcc, at least for now.
2020-02-19 21:16:32 +03:00
Zion Nimchuk 9d1833c5a8 Bump FAudio depedency, set FAudio to build statically, enable FAudio in the build script 2020-02-19 21:16:32 +03:00
MSuih ca52c1e2d1 Link Bcrypt with ffmpeg 2020-01-03 21:45:09 +03:00
Nekotekina 2c4ecc55af Update ffmpeg 2020-01-02 00:53:22 +03:00
Emmanuel Gil Peyrot 7e4d142682 Remove GSL as we don’t use it anymore 2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot 25144caf12 Add tcbrindle’s span implementation 2019-11-09 19:30:06 +01:00
Oschowa d8ff7c759b 3rdparty: only build FAudio with SDL >= 2.0.9 2019-10-25 00:56:53 +03:00
Oschowa 06433d614a Implement FAudio backend (#6374) 2019-10-24 22:26:29 +03:00
kd-11 00bc3fe658 Drop d3d12 backend 2019-10-22 21:45:14 +03:00
RipleyTom 9f9ac4b696 Auto-updater 2019-10-22 01:51:50 +02:00
RipleyTom 56e6dd1c46 Adds 7z sdk to 3rdparty 2019-10-22 01:51:50 +02:00
msuih af86d1d77a Fix timespec for MSVC 2019-04-11 16:29:48 +03:00
Jan Beich 1f845a3634 Don't try to build libusb on FreeBSD
CMake Error at 3rdparty/libusb/libusb/os/CMakeLists.txt:90 (message):
  Unsupported platform FreeBSD.  Currently only support Windows, OSX, &
  Linux.
2019-03-19 22:24:49 +03:00
RipleyTom f2aaad11bb Adds libusb 2019-03-18 19:05:02 +03:00
Zion Nimchuk b5cbe02f4d Add CMake switch for disabling Discord Rich Presence and fix no llvm build 2018-12-20 11:29:35 +01:00
Michał Janiszewski 62c9920f2e Improve path to discord-rpc with non-MSVC
The path is set in 96cabeadff/3rdparty/CMakeLists.txt (L159)
2018-12-01 14:17:19 +03:00
vit9696 634a5fa31c Fix macOS compilation 2018-11-19 14:39:33 +03:00
Jan Beich 1c8fc6852a build/cmake: build everything with -pthread, not just GLEW
error: POSIX thread support was disabled in PCH file but is currently enabled
2018-09-22 10:35:45 +03:00
Jan Beich 1133fbb017 build/cmake: add hidapi include directory on libusb platforms as well
3rdparty/hidapi/libusb/hid.c:52:10: fatal error: 'hidapi.h' file not found
 #include "hidapi.h"
          ^~~~~~~~~~
2018-09-22 10:35:45 +03:00
Lassi Hämäläinen 7aef811ff7 CMake: Refactor CMake build (#5032)
* CMake: Refactor build to multiple libraries

- Refactor CMake build system by creating separate libraries for
  different components
- Create interface libraries for most dependencies and add 3rdparty::*
  ALIAS targets for ease of use and use them to try specifying correct
  dependencies for each target
- Prefer 3rdparty:: ALIAS when linking dependencies
- Exclude xxHash subdirectory from ALL build target
- Add USE_SYSTEM_ZLIB option to select between using included ZLib and
  the ZLib in CMake search path

* Add cstring include to Log.cpp

* CMake: Add 3rdparty::glew interface target

* Add Visual Studio CMakeSettings.json to gitignore

* CMake: Move building and finding LLVM to 3rdparty/llvm.cmake script

- LLVM is now built under 3rdparty/ directory in the binary directory

* CMake: Move finding Qt5 to 3rdparty/qt5.cmake script

- Script has to be included in rpcs3/CMakeLists.txt because it defines
  Qt5::moc target which isn't available in that folder if it is
  included in 3rdparty directory
- Set AUTOMOC and AUTOUIC properties for targets requiring them (rpcs3
  and rpcs3_ui) instead of setting CMAKE_AUTOMOC and CMAKE_AUTOUIC so
  those properties are not defined for all targets under rpcs3 dir

* CMake: Remove redundant code from rpcs3/CMakeLists.txt

* CMake: Add BUILD_LLVM_SUBMODULE option instead of hardcoded check

- Add BUILD_LLVM_SUBMODULE option (defaults to ON) to allow controlling
  usage of the LLVM submodule.
- Move option definitions to root CMakeLists

* CMake: Remove separate Emu subtargets

- Based on discussion in pull request #5032, I decided to combine
  subtargets under Emu folder back to a single rpcs3_emu target

* CMake: Remove utilities, loader and crypto targets: merge them to Emu

- Removed separate targets and merged them into rpcs3_emu target as
  recommended in pull request (#5032) conversations. Separating targets
  probably later in a separate pull request

* Fix relative includes in pad_thread.cpp

* Fix Travis-CI cloning all submodules needlessly
2018-09-18 13:07:33 +03:00