lat9nq
a63244d1e4
CMakeLists: Revert ad55faaa3
...
The premise behind ad55faaa3
was due to an issue between Conan's
libiconv package and compiling SDL2 from our externals. Since none of
our Conan externals require libiconv any longer, though, we can remove
downloading our own Boost package and just rely on Conan again.
Additionally, removing CONFIG from the find_package(boost) call fixes
issues with finding Boost on Fedora and MSYS2, which was the main
motivation for this.
Also, remove QUIET since if something goes wrong finding Boost, this
makes it harder to tell what went wrong.
2022-04-23 03:07:12 -04:00
BytesGalore
948f6e1112
build(cmake): fix missing Qt5::DBus link target for bundled linux package
2022-03-12 08:40:33 +01:00
bunnei
15fdc2cd09
Revert "build(cmake): fix missing Qt5::DBus target on linux"
2022-03-11 15:22:24 -08:00
BytesGalore
fc84649aab
build(cmake): fix missing Qt5::DBus link target
2022-03-06 12:21:46 +01:00
Alexandre Bouvier
c8b358dba2
cmake: make tests optional
2022-01-12 00:36:20 +01:00
liushuyu
a1054a093c
cmake: upgrade Conan package fmt to 8.1.1 ...
...
... requirements for fmt stays at ^8.0.1
2022-01-08 16:03:18 -07:00
bunnei
6af82fd070
Merge pull request #7610 from Tatsh/more-system-libs
...
Add support for linking against system Opus
2022-01-04 17:32:35 -08:00
bunnei
279c7bcc1a
Merge pull request #7618 from goldenx86/patch-4
...
Increase boost requirement to 1.78.0
2021-12-28 16:25:37 -08:00
Matías Locatti
e0193e2be5
Increase boost requirement to 1.78.0
...
Liu's finding, this allows to build yuzu on VS 2022.
Ignore at will.
2021-12-22 16:10:21 -03:00
liushuyu
fa7abafa5f
main: fix wake lock in Flatpak ...
...
... by using the XDP system
2021-12-22 02:27:09 -07:00
Andrew Udvare
78759d98dc
Add support for linking against system opus
2021-12-21 05:05:23 -05:00
Jan Beich
1a9576fdff
cmake: enable VA-API on more Unix-like after 0be4e402e2
2021-12-18 20:57:30 +00:00
liushuyu
3f765ea9a4
video_core/codecs: (re-spin) refactor ffmpeg searching and handling
2021-12-15 20:57:01 -07:00
bunnei
2f32133ad5
Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake"
2021-12-15 00:02:53 -08:00
liushuyu
f91b6fbbcb
ffmpeg: move the whole tree into externals/ffmpeg/ffmpeg ...
...
* this resolves the todo items in the CMakeLists.txt
* a version requirement check for ffmpeg is added to catch issues early
* for future-proof reasons, nasm/yasm is now only required when build on
x86/AMD64 systems
2021-12-13 17:48:05 -07:00
liushuyu
ccc0a1e621
cmake: refactor ffmpeg searching and handling logic on Linux
2021-12-13 17:48:05 -07:00
bunnei
a2f842ce54
Merge pull request #7527 from Tachi107/cubeb-result_of
...
build: update cubeb and remove the result_of comment
2021-12-12 22:44:05 -08:00
Narr the Reg
133504b74b
input_common: Update SDL to 2.0.18
2021-12-06 14:48:36 -06:00
Andrea Pappacoda
f4587c596f
build: update cubeb and remove the result_of comment
...
Cubeb doesn't use result_of anymore, it has been dropped in commit
mozilla/cubeb@75d9d125ee
2021-12-06 18:56:43 +01:00
Lioncash
5303161aa1
CMakeLists: Update fmt to 8.0.1
...
Ensures that we're using the latest version of fmt.
2021-11-25 23:08:45 -05:00
bunnei
d2e009f355
Merge pull request #7273 from fpdotmonkey/submodule-checkout-command-on-new-line
...
Move the cmake submodule checkout command to a new line
2021-11-19 01:19:50 -08:00
Lioncash
6e57c519e2
CMakeLists: Update catch to 2.13.7
...
Keeps the testing libraries up to date.
2021-11-16 20:04:25 -05:00
ameerj
1994edfeb6
CMake: Enable VP8 ffmpeg decoders
2021-11-12 23:52:19 -05:00
Fletcher Porter
2b3d66fe69
Move the cmake submodule checkout command to a new line
...
Presently, if you forget to initialize the git submodules before
running cmake, there'll be a helpful message that reminds you to do so.
However, on narrow terminals (e.g. 80 wide) there's a word wrap that
includes a new line in the middle of the git command, precluding easy
copy-paste. This moves the entire git command to its own line to avoid
such tragedies.
Before:
```
CMake Error at CMakeLists.txt:59 (message):
Git submodule externals/inih/inih not found. Please run: git submodule
update --init --recursive
```
After:
```
CMake Error at CMakeLists.txt:59 (message):
Git submodule externals/inih/inih not found. Please run:
git submodule update --init --recursive
```
2021-11-02 00:01:39 -07:00
ameerj
f190547bbb
cmake: Update conan for VS2022 support
2021-10-19 20:30:27 -04:00
Morph
b848cc5c3f
CMakeLists: Update to Qt 5.15.2
2021-10-02 22:58:49 -04:00
Morph
839547dc90
CMakeLists: Remove BoxCat build option
2021-09-29 01:24:21 -04:00
Morph
5f6cd32c9e
externals: Remove libzip
2021-09-28 23:18:39 -04:00
ameerj
9266bad229
CMakeLists: Update to clang format version 12
2021-09-24 16:36:43 -04:00
Andrew Strelsky
25cd0342c4
Fix "Unknown C standard control flag" warning
2021-09-18 08:37:34 -04:00
Fernando S
be4e192903
Merge pull request #6846 from ameerj/nvdec-gpu-decode
...
nvdec: Add GPU video decoding for all capable drivers and platforms
2021-09-11 23:11:32 +02:00
lat9nq
92bc51b66a
cmake: Add VDPAU and NVDEC support to FFmpeg
...
Adds {h264_,vp9_}{nvdec,vdpau} hwaccels.
2021-08-16 14:40:52 -04:00
spholz
78a8249593
Merge branch 'yuzu-emu:master' into fix-lan-play
2021-08-12 22:27:17 +02:00
spholz
1e98e73828
configuration: add option to select network interface
...
This commit renames the "Services" tab to "Network" and adds a combobox that allows the user to select the network interface that yuzu should use. This new setting is now used to get the local IP address in Network::GetHostIPv4Address. This prevents yuzu from selecting the wrong network interface and thus using the wrong IP address. The return type of Network::GetHostIPv4Adress has also been changed.
2021-08-12 21:32:53 +02:00
ameerj
0be4e402e2
cmake: Always find LIBVA, update windows FFmpeg version
...
Allows the use of VAAPI gpu decoders on system installed ffmpeg as well.
2021-08-12 01:28:01 -04:00
german77
fe2e710003
externals: Update sdl2 to 2.0.16
2021-08-10 19:16:30 -05:00
yzct12345
2868d4ba84
nvdec: Implement VA-API hardware video acceleration ( #6713 )
...
* nvdec: VA-API
* Verify formatting
* Forgot a semicolon for Windows
* Clarify comment about AV_PIX_FMT_NV12
* Fix assert log spam from missing negation
* vic: Remove forgotten debug code
* Address lioncash's review
* Mention VA-API is Intel/AMD
* Address v1993's review
* Hopefully fix CMakeLists style this time
* vic: Improve cache locality
* vic: Fix off-by-one error
* codec: Async
* codec: Forgot the GetValue()
* nvdec: Address ameerj's review
* codec: Fallback to CPU without VA-API support
* cmake: Address lat9nq's review
* cmake: Make VA-API optional
* vaapi: Multiple GPU
* Apply suggestions from code review
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
* nvdec: Address ameerj's review
* codec: Use anonymous instead of static
* nvdec: Remove enum and fix memory leak
* nvdec: Address ameerj's review
* codec: Remove preparation for threading
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-08-03 23:43:11 -04:00
Ameer J
a086ee6a00
Merge pull request #6565 from lat9nq/bundle-ffmpeg
...
cmake, ci: Build bundled FFmpeg with yuzu
2021-08-01 01:34:10 -04:00
Ameer J
d923ec5805
Merge pull request #6753 from jbeich/libusb
...
cmake: unbreak libusb detection on FreeBSD
2021-07-27 21:26:17 -04:00
Jan Beich
a24224e274
cmake: don't use pkg-config directly with non-reference libusb
...
CMake Error at externals/libusb/CMakeLists.txt:120 (add_library):
Cannot find source file:
libusb/libusb/core.c
Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .h .hh .h++
.hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .ispc
CMake Error at externals/libusb/CMakeLists.txt:120 (add_library):
No SOURCES given to target: usb
ld: error: undefined symbol: libusb_interrupt_transfer
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::SendVibrations()) in archive src/input_common/libinput_common.a
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::GetGCEndpoint(libusb_device*)) in archive src/input_common/libinput_common.a
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::AdapterInputThread()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_error_name
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::SendVibrations()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_control_transfer
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::CheckDeviceAccess()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_kernel_driver_active
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::CheckDeviceAccess()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_close
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::CheckDeviceAccess()) in archive src/input_common/libinput_common.a
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::ClearLibusbHandle()) in archive src/input_common/libinput_common.a
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::Reset()) in archive src/input_common/libinput_common.a
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::Setup()) in archive src/input_common/libinput_common.a
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::AdapterScanThread()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_detach_kernel_driver
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::CheckDeviceAccess()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_claim_interface
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::CheckDeviceAccess()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_get_config_descriptor
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::GetGCEndpoint(libusb_device*)) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_release_interface
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::ClearLibusbHandle()) in archive src/input_common/libinput_common.a
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::Reset()) in archive src/input_common/libinput_common.a
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::Setup()) in archive src/input_common/libinput_common.a
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::AdapterScanThread()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_init
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::Adapter()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_open_device_with_vid_pid
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::Setup()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_get_device
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::Setup()) in archive src/input_common/libinput_common.a
ld: error: undefined symbol: libusb_exit
>>> referenced by gc_adapter.cpp
>>> gc_adapter.cpp.o:(GCAdapter::Adapter::Reset()) in archive src/input_common/libinput_common.a
2021-07-27 15:01:56 +00:00
bunnei
ffc78ce9c1
Merge pull request #6652 from lat9nq/cmd-vulkan-fixes
...
yuzu-cmd: Linux Vulkan fixes
2021-07-19 20:54:03 -04:00
lat9nq
d3748cad73
emu_window_sdl2_vk: Use the generated SDL config
...
On Linux, due to the way we include SDL2 as a submodule, it makes it
difficult for us to specify which SDL_config.h we intended to include.
Before, CMake would default to the dummy one included with SDL and
ignore the generated one.
This tells CMake to use the generated one. In addition, we define
USING_GENERATED_CONFIG_H to throw an error in case the dummy config is
used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
2021-07-16 15:43:02 -04:00
lat9nq
4c6cc67520
cmake: Only search for Qt when we need to
...
When YUZU_USE_BUNDLED_QT was specified on a system with a compliant Qt
version installed, CMake configuration would cause an error due to
mixing YUZU_USE_BUNDLED_QT with the system Qt.
Solution is to only search for Qt when YUZU_USE_BUNDLED_QT is disabled.
2021-07-16 02:26:34 -04:00
lat9nq
a36d2b942b
cmake: Only use NO_CMAKE_SYSTEM_PATH when needed for Qt
...
As-is causes issues with building yuzu using MinGW GCC on Linux-based
machines. Only set the variable when needed. (I'm not quite sure how
this was working before.)
2021-07-16 02:26:28 -04:00
ReinUsesLisp
849c6db335
cmake: Only copy pre-commit hook if .git directory exists
...
Allow the usage of git worktrees on yuzu.
2021-07-08 22:27:14 -03:00
lat9nq
ef70054367
cmake: Specify the compiler on autotools externals
...
Enables CCache on externals if available.
2021-07-06 12:54:24 -04:00
lat9nq
fbb26e6173
cmake, ci: Build bundled FFmpeg with yuzu
...
Drops usage of CMAKE_DEPENDENT_OPTION to allow using
YUZU_USE_BUNDLED_FFMPEG as an option on any platform. CI then now builds
FFmpeg always, netting about 10 MB less used on the AppImage.
Also somewhat fixes YUZU_USE_BUNDLED_QT so that it can be used even if
CMake doesn't clean up its state after running the first find_package.
2021-07-06 12:28:22 -04:00
Ameer J
bab400daaf
Merge pull request #6459 from lat9nq/ubuntu-fixes
...
cmake: Improve Linux dependency checking for externals
2021-06-30 21:47:57 -04:00
Lioncash
8593e6f1e6
externals: Update fmt to 8.0.0
...
Keeps us up to date with the latest major release.
Also allows compilers that support it to perform compile-time format
string checking.
2021-06-23 02:43:36 -04:00
lat9nq
2bb0cc8624
cmake: Check dependencies for Linux Qt package
...
Currently Qt will download whether or not the target system supports the
package. Normally this isn't an issue since the package manager would
work out the dependencies for us, but in this case we must make sure
everything is in place before downloading the package.
This checks for the package's requirements, as well as tries to provides
hints as to what is required on some of the more cryptic dependencies.
2021-06-13 03:13:10 -04:00