Commit graph

229 commits

Author SHA1 Message Date
Lioncash 6bb77b06dc CMakeLists: Update catch to 2.13
Keeps the library up to date
2020-07-27 22:09:04 -04:00
Lioncash 5b785232de CMakeLists: Update zstd to 1.4.5
Keeps the library version up to date.
2020-07-27 22:07:34 -04:00
Lioncash d25265d63a CMakeFiles: Update json to 3.8.0
Keeps the tracked version of the library up to date.
2020-07-27 22:06:11 -04:00
FearlessTobi 347b50ad43 yuzu: Port translation support from Citra
Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
2020-07-18 14:09:11 +02:00
LC edb2caaae5
Merge pull request #4280 from jbeich/system-libusb
cmake: pass libusb include directory
2020-07-13 22:21:07 -04:00
Lioncash 07632ad825 CMakeLists: Enable usage of C++20 on Linux
This also fixes building on Linux with C++20, so we can enable it across
the board for all OSes that we officially support.
2020-07-12 18:15:29 -04:00
Lioncash b971b82275 CMakeLists: Correct boost asio disabling define name
Previously the name of the define was missing the BOOST_ prefix.
2020-07-12 17:17:51 -04:00
Lioncash 539675b21a CMakeLists: Disable concepts in boost asio 2020-07-12 15:56:44 -04:00
LC ed89bcc767
Merge pull request #4290 from lioncash/latest
CMakeLists: Make use of /std:c++latest on MSVC
2020-07-12 12:25:10 -04:00
MerryMage 6744e7ea4a CMakeLists: Do not search for system libusb on macOS 2020-07-11 14:37:34 +01:00
Lioncash fb0fefc75c CMakeLists: Make use of /std:c++latest on MSVC
Provides the buildbot with one builder that is always tracking the
latest version of the C++ standard, allowing us to progressively rectify
our code and amend any differences between standards over time instead
of waiting for a complete standard change, potentially breaking a lot of
code all at once.
2020-07-11 04:45:40 -04:00
bunnei 995067538d
Merge pull request #4221 from jbeich/unused-qt-opengl
cmake: drop dependency on QtOpenGL
2020-07-10 15:18:04 -04:00
bunnei 01a1adfb0c
Merge pull request #4287 from lioncash/fmt7
CMakeLists: Update fmt to 7.0.1
2020-07-10 13:02:21 -04:00
Lioncash 798c1b457d CMakeLists: Update fmt to 7.0.1
Keeps the package up to date with the latest major release of fmt.

This version brings in quite a bit of improvements, such as code size
reduction, etc.
2020-07-10 04:51:03 -04:00
Lioncash d39b457566 CMakeLists: Use lower-case command names
Our convention uses lower-case command names, so this is just a
consistency change.
2020-07-10 01:18:40 -04:00
David Marcec 48aa076049 cmake: Fix libusb builds breaking 2020-07-10 14:02:44 +10:00
Jan Beich 48ff15602e cmake: pass libusb include directory as well
In file included from src/input_common/gcadapter/gc_adapter.cpp:8:
src/./input_common/gcadapter/gc_adapter.h:11:10: fatal error: 'libusb.h' file not found
 #include <libusb.h>
          ^~~~~~~~~~
2020-07-09 15:26:54 +00:00
Jan Beich 2af7e40ce6 cmake: unbreak system libusb support
Reference libusb doesn't support DragonFly and FreeBSD because those
ship a different libusb implementation (supports 0.1, 1.0, 2.0 API).

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(usbi_alloc_device) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(usbi_alloc_device) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_has_capability) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_has_capability) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_has_capability) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(usbi_connect_device) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(usbi_disconnect_device) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_get_device_list) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_get_device_list) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_unref_device) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_unref_device) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_write
>>> referenced by core.c
>>>               core.c.o:(usbi_signal_event) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_read
>>> referenced by core.c
>>>               core.c.o:(usbi_clear_event) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_wrap_sys_device) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_wrap_sys_device) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_wrap_sys_device) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_open) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_backend
>>> referenced by core.c
>>>               core.c.o:(libusb_open) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_read
>>> referenced by core.c
>>>               core.c.o:(libusb_close) in archive externals/libusb/libusb.a

ld: error: undefined symbol: usbi_write
>>> referenced by core.c
>>>               core.c.o:(libusb_close) in archive externals/libusb/libusb.a

ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
c++: error: linker command failed with exit code 1 (use -v to see invocation)
2020-07-07 10:13:18 +00:00
Ameer f829932ed1 Fix merge conflicts? 2020-07-04 00:59:40 -04:00
Jan Beich b1b1ed7597 cmake: stop linking against QGL after c6a0ab9792 2020-07-01 22:11:39 +00:00
David Marcec d5dfe34c49 externals: Track opus as submodule instead of using conan
Supersedes #4068 see for details.
2020-07-01 15:09:33 +10:00
Jan Beich dda90ce1c2 cmake: depend on WebEngine with system Qt
CMake Error at src/yuzu/CMakeLists.txt:7 (add_executable):
  Target "yuzu" links to target "Qt5::WebEngineCore" but the target was not
  found.  Perhaps a find_package() call is missing for an IMPORTED target, or
  an ALIAS target is missing?
2020-06-29 23:52:45 +00:00
Ameer 121af3646d Singleton GC Adapter class, remove globals, fix naming convention
Fix clang formatting

Manual fix for configure_input_player formatting

Add missing lib usb cmake command
2020-06-21 21:17:07 -04:00
bunnei 2a3d4cad63
externals: Revert to libressl, as build is broken with find_package(OpenSSL). (#4093)
* externals: Revert to libressl, as build is broken with find_package(OpenSLL).

* fixup! externals: Revert to libressl, as build is broken with find_package(OpenSLL).

* fixup! externals: Revert to libressl, as build is broken with find_package(OpenSLL).
2020-06-16 21:46:19 -04:00
bunnei 104b334e40
Update CMakeLists.txt 2020-05-31 18:35:36 -04:00
bunnei 0ac8848eae
Update CMakeLists.txt 2020-05-31 17:46:25 -04:00
Markus Wick e8baf07136 Mark the opus version check as broken. 2020-05-09 12:47:59 +02:00
James Rowe bc30a591ba
Replace externals with Conan (#3735)
* Remove git submodules that will be loaded through conan

* Move custom Find modules to their own folder

* Use conan for downloading missing external dependencies

* CI: Change the yuzu source folder user to the user that the containers run on

* Attempt to remove dirty mingw build hack

* Install conan on the msvc build

* Only set release build type when using not using multi config generator

* Re-add qt bundled to workaround an issue with conan qt not downloading prebuilt binaries

* Add workaround for submodules that use legacy CMAKE variables

* Re-add USE_BUNDLED_QT on the msvc build bot
2020-05-08 17:09:29 -04:00
Jan Beich 1a2df0a5f3 cmake: Silence -Werror=implicit-fallthrough in SDL2 headers
In file included from src/input_common/sdl/sdl_impl.cpp:16:
In file included from /usr/local/include/SDL2/SDL.h:32:
In file included from /usr/local/include/SDL2/SDL_main.h:25:
/usr/local/include/SDL2/SDL_stdinc.h:445:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
        case 3:         *_p++ = _val;   /* fallthrough */
        ^
/usr/local/include/SDL2/SDL_stdinc.h:445:9: note: insert '[[fallthrough]];' to silence this warning
        case 3:         *_p++ = _val;   /* fallthrough */
        ^
        [[fallthrough]];
/usr/local/include/SDL2/SDL_stdinc.h:445:9: note: insert 'break;' to avoid fall-through
        case 3:         *_p++ = _val;   /* fallthrough */
        ^
        break;
/usr/local/include/SDL2/SDL_stdinc.h:446:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
        case 2:         *_p++ = _val;   /* fallthrough */
        ^
/usr/local/include/SDL2/SDL_stdinc.h:446:9: note: insert '[[fallthrough]];' to silence this warning
        case 2:         *_p++ = _val;   /* fallthrough */
        ^
        [[fallthrough]];
/usr/local/include/SDL2/SDL_stdinc.h:446:9: note: insert 'break;' to avoid fall-through
        case 2:         *_p++ = _val;   /* fallthrough */
        ^
        break;
/usr/local/include/SDL2/SDL_stdinc.h:447:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
        case 1:         *_p++ = _val;   /* fallthrough */
        ^
/usr/local/include/SDL2/SDL_stdinc.h:447:9: note: insert '[[fallthrough]];' to silence this warning
        case 1:         *_p++ = _val;   /* fallthrough */
        ^
        [[fallthrough]];
/usr/local/include/SDL2/SDL_stdinc.h:447:9: note: insert 'break;' to avoid fall-through
        case 1:         *_p++ = _val;   /* fallthrough */
        ^
        break;
3 errors generated.
2020-04-18 23:26:22 +00:00
Brian Clinkenbeard 13b02a1414 fix CMake build errors for certain SDL2 installations 2020-02-17 13:01:40 -08:00
Brian Clinkenbeard 68043dd233 use config mode for finding SDL2 with CMake 2020-02-10 19:56:33 -08:00
fearlessTobi ac3690f205 Input: UDP Client to provide motion and touch controls
An implementation of the cemuhook motion/touch protocol, this adds the
ability for users to connect several different devices to citra to send
direct motion and touch data to citra.

Co-Authored-By: jroweboy <jroweboy@gmail.com>
2020-01-23 20:55:26 +01:00
Jake Merdich dc70a36b44 Ignore git-related files in cmake for EA tarballs
This fixes the early-access builds on Windows (tested on EA 58). Cmake
was previously looking for git-related files that were stripped out of
the early access builds and failing; check if those exist before reading
them.
2019-12-05 22:48:20 -05:00
Zach Hilman d8bcb1e973 cmake: Add cmake option to build Boxcat backend
Default enabled
2019-09-30 17:26:10 -04:00
Tobias cae9708a00 Revert "CMake: Get Git submodule dependencies via CMake (#2474)"
This reverts commit 5cef446f42.
2019-06-29 22:19:47 +02:00
Frederic L 5cef446f42 CMake: Get Git submodule dependencies via CMake (#2474)
* CMake: Get Git submodule dependencies via CMake

* CMakeLists: Fixed unintentional line break

* travis: Bring parity between linux-mingw and linux build script

* CMakeLists: Fixed typo in error message
2019-06-19 22:26:12 -04:00
Lioncash a6fb6ccc83 CMakeLists: Handle VS 2019 in a less annoying manner
VS 2019 is binary compatible with VS 2017, so we can safely use
the prebuilt libraries for VS 2017 with VS 2019. This makes it less
annoying to build yuzu with the most up to date toolchain.
2019-05-14 19:05:51 -04:00
khang06 945e39471d fix clang-format target when using a path with spaces on windows 2019-04-07 02:10:01 +02:00
bunnei f08db7295a
Merge pull request #2253 from lioncash/flags
Migrate off directly modifying CMAKE_* compilation-related flags directly
2019-03-23 13:46:53 -04:00
MerryMage 51f609fee7 CMakeLists: Raise minimum Boost requirement to 1.66.0
Required due to bugfix in boost for changed template resolving rules in GCC 7.3.0 in C++17 mode
2019-03-17 23:04:03 +00:00
Lioncash 13bc74e957 CMakeLists: Move compilation flags into the src directory
We generally shouldn't be hijacking CMAKE_CXX_FLAGS, etc as a means to
append flags to the targets, since this adds the compilation flags to
everything, including our externals, which can result in weird issues
and makes the build hierarchy fragile.

Instead, we want to just apply these compilation flags to our targets,
and let those managing external libraries to properly specify their
compilation flags.

This also results in us not getting as many warnings, as we don't raise
the warning level on every external target.
2019-03-17 01:49:09 -04:00
Lioncash e5b004e903 CMakeLists: Remove now-unnecessary GCC special-casing
This issue has since been fixed in newer versions of Boost, so we don't
need to worry about this anymore.
2019-03-15 20:49:58 -04:00
ReinUsesLisp cc94a6d101 cmake: Add Vulkan option 2019-02-12 18:33:02 -03:00
ReinUsesLisp be4641c43f gl_shader_disk_cache: Invalidate shader cache changes with CMake hash 2019-02-06 22:20:57 -03:00
Zach Hilman 15501477e7 Update Qt MSVC external to 5.12.0 2018-12-31 13:19:23 -05:00
Zach Hilman ef4c4e239d cmake: Add USE_QT_WEB_ENGINE flag and update build system 2018-12-28 15:32:39 -05:00
Hedges af42320021 GDBStub improvements:
- Add FPU support
- Fix access to TLS
Fix clang-format.
2018-11-13 15:44:20 +00:00
bunnei fc9d8afead
Merge pull request #1542 from lioncash/project
CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
2018-10-23 18:44:08 -04:00
Lioncash 289adf87ac CMakeLists: Remove EMU_ARCH_BITS definition
This was only ever used by the now-removed memory_util functions. Also,
given we don't plan to support 32-bit architectures, this is just a
leftover from citra at this point.
2018-10-23 12:24:43 -04:00
Weiyi Wang d9ca6351dd cmake: mingw also needs _FILE_OFFSET_BITS=64 2018-10-23 15:11:25 +02:00