Commit graph

230 commits

Author SHA1 Message Date
EverOddish fce7afb8dc Added CMake option to enable/disable scripting support 2018-09-23 19:16:18 -04:00
Weiyi Wang e087cb9a28 string_util: unify UTF8<->UTF16 conversion to codecvt 2018-09-22 17:23:48 -04:00
Frederic Laing d8f09f69eb Addressed feedback 2018-09-21 14:48:55 +02:00
Frederic Laing 596700cb3a Merge branch 'citra-qt-startup-project' of https://github.com/FreddyFunk/citra into citra-qt-startup-project 2018-09-21 14:48:00 +02:00
Frederic Laing c4bf626b88 Addressed feedback 2018-09-21 14:47:43 +02:00
Frederic Laing cc3404a097 Set citra-qt project as default StartUp Project in Visual Studio
Set citra-qt project as default StartUp Project in Visual Studio
2018-09-21 14:46:20 +02:00
Frederic L d26b363562
Set citra-qt project as default StartUp Project in Visual Studio
Set citra-qt project as default StartUp Project in Visual Studio
2018-09-14 02:27:33 +02:00
Weiyi Wang 2396e58ee4
Merge pull request #4170 from FearlessTobi/port-stupid-fixes
citra_qt: Backport some review fixes of Lioncash
2018-09-04 01:47:03 +03:00
fearlessTobi 2f6f232965 Backport some review fixes of Lioncash 2018-09-01 15:41:46 +02:00
Pengfei Zhu 3b3b0bbdf5
Merge pull request #4152 from citra-emu/port-1030
Port yuzu-emu/yuzu#1030 from yuzu: "externals: Update to SDL2-2.0.8"
2018-09-01 12:08:13 +08:00
Tobias c8bcd35b7a
Port #1030 from yuzu: "externals: Update to SDL2-2.0.8" 2018-09-01 08:12:06 +08:00
Lioncash ce472144ff CMakeLists: Add architecture detection for AArch64
We already have an equivalent in place for the 32-bit ARM architecture, so we
should also have one for the newer 64-bit ARM architecture as well.
2018-08-31 00:07:01 +02:00
Merry b49d042200
Merge pull request #4101 from Hedges/GDBClean
GDB Modernization
2018-08-25 13:58:38 +01:00
Merry c292a9e2f5
Merge pull request #4080 from zhaowenlan1779/port-yuzu-922
Port "CMakeLists: Change MSVC14 variable to MSVC_VERSION" from yuzu
2018-08-24 19:14:51 +01:00
Vamsi Krishna 6cb9a45154 Add Discord Rich Presence Support (#3883)
* Initial Discord RPC support

Build with Discord Presence ON

Fix RPC detection

Fix Time elapsed on pause; will now continue to count.

* Fix CI builds with compile flag

Addressed reviews

Fix silly mistakes

Fix 'Not in-game' display

class instead of namespace

Fix

Revamped

remove redundant code

Using Pimpl pattern

* Implement Null class

* Fix config updation

* Addressed All Reviews

* externals/discord-rpc : Updated to latest commit
2018-08-20 11:20:33 +02:00
Jarek Syrylak bd658a8801 GDB Modernization:
- Can be used in either DynCom or Dynarmic mode
- Added support for threads
- Proper support for FPU registers
- Fix for NibbleToHex conversion that used to produce false error codes
- Fix for clang-format failing under Windows
2018-08-16 10:40:52 +01:00
Lioncash f5ddcef340 CMakeLists: lowercase find_library usage
The rest of the CMake script uses lowercase for commands (which is the
general CMake style), making it more consistent with surrounding code.
2018-08-12 13:39:22 +08:00
Lioncash b399186f18
CMakeLists: Change MSVC14 variable to MSVC_VERSION
Use of the MSVC14 variable is discouraged in the CMake documentation
(which makes sense, since MSVC_VERSION is the more general appliable
variable).
2018-08-12 13:38:42 +08:00
James Rowe 6bcbda5ab2 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.
2018-08-07 21:05:09 -06:00
zhupengfei bebe04d58e
Revert "CMake: Avoid non-compliant standard library extensions in MSVC" 2018-07-13 19:54:00 +08:00
James Rowe a3acb5129b
Merge pull request #3773 from kdex/master
CMake: Avoid non-compliant standard library extensions in MSVC
2018-05-31 23:07:28 -06:00
darkf af73dd45f0 audio_core: Implement a cubeb audio sink 2018-05-31 21:01:48 -05:00
kdex 513fffc96b
CMake: Avoid non-compliant standard library extensions in MSVC 2018-05-24 06:23:06 +02:00
James Rowe 80bfd87270
Merge pull request #3730 from FearlessTobi/game-compat-fixes
citra_qt: Refactor game list compatibility system
2018-05-11 11:59:53 -06:00
朱鹏飞 57827de38b citra_qt: camera integration (#3566)
* Implement camera feature

* Make OpenCVCamera optional

* Fix styling problems

* CI configuration

* Fix CI

* Hopefully final fix

* Hopefully final fix

* Fix all the problems

* Oops..

* Add Qt Multimedia Camera

* Another oops

* Try to fix broken linux CI

* Try to fix broken linux CI

* Fix problems

* Improve UI

* Fix problems

* camera: Add support for Qt <5.10 and fix preview error

* CI: try to fix linux-frozen travis build

* camera: fix problems and add multiple handlers support

* fix CI

* remove most ServiceFramework changes

* Fix format

* Remove last ServiceFramework change

* camera: remove unused interfaces; revert submodule change

* camera: fix CI error

* ci: use ccache for opencv build

* citra_qt: fix configuration error; CI: add mediaservice plugin

* citra_qt: fix clang-format

* citra_qt: fix documentation error

* citra_qt: fix configuration page; camera: fix pausing crash

* citra_qt: fix preview not stopping

* camera: extend handlers length

* camera: fix camera resume error

* camera: fix clang-format

* camera: remove all OpenCV; citra_qt: rewrite configuration

* camera: remove all OpenCV; citra_qt: rewrite configuration

* camera: remove all OpenCV; citra_qt: rewrite configuration

* CI: fix linux ci

* camera: check settings update; citra_qt: fix configuration error

* service_cam: use a better way to apply configuration

* Service_CAM: rewrite camera reload

* cam: fix clang format

* citra_qt: fix argument load issue; camera: base of system camera selection

* citra_qt: Add system camera selection

* camera: fix image upside down, Implement SetFrameRate in Qt Multimedia Camera

* camera: Add missing <array> include, update SetFrameRate and add settings in Qt Multimedia Camera header

* camera: move started in Qt Multimedia Camera header

* QtMultimediaCamera: Move frame rates to SetFrameRate; Set minimum and maximum frame rate

* Update appveyor.yml
2018-05-11 11:42:23 -06:00
FearlessTobi f354744ad4 citra_qt: Refactor game list compatibilty 2018-05-10 03:57:57 +02:00
FearlessTobi fbc05fac19 Show game compatibility within Citra 2018-04-16 00:42:58 +02:00
MerryMage 75fa1b2cde appveyor: Generate PDBs for mingw build 2018-03-27 11:57:34 +01:00
James 9283053701 Move WebServices to use LibreSSL + cpp-httplib (#3501)
Move WebServices to use LibreSSL + cpp-httplib

Remove curl + openssl build dependencies
2018-03-24 13:19:35 -06:00
Cédric Legrand 67650a4040 Upgrade Boost dependency to 1.66 2018-03-23 21:50:00 +01:00
Cameron Cawley 8d1cab4892 CMake: Set EMU_ARCH_BITS in CMakeLists.txt 2018-03-16 13:29:36 +00:00
James Rowe b6d94864fd CMake: Conditionally turn on bundled libs for MSVC
Removes the annoying step when generating sln for MSVC where you have to
click an extra checkbox after the first generate fails by using a
conditional option. The USE_BUNDLED options will be off by default, but
if the enable_lib option is enabled and the toolset is msvc, they are
turned ON.
2018-03-09 10:50:08 -07:00
James Rowe 47ea473018 CMake: Add a custom clang format target
Checks to see if clang-format can be found, and if it is, sets up a
custom target that will run against the src dir and auto formats all
files. In MSVC, this is a project, and in Makefiles, its a make target
2018-03-09 10:50:08 -07:00
James 9829a84fc6 Remove PICA image dumping/libpng 2018-03-07 09:10:54 +11:00
MerryMage ce31cf531d CI: Update to C++17 and use Ubuntu 18.04 as baseline 2018-02-06 17:02:21 +00:00
BreadFish64 d462eacefb
get rid of useless if statement 2018-01-18 10:40:24 -06:00
BreadFish64 c3afd73592
Merge branch 'master' into CompatibiltyReporting 2018-01-18 10:36:32 -06:00
James Rowe e1ffcde355
Merge pull request #3297 from wwylele/translation-tx
citra-qt: add translation support; link translation with transifex
2018-01-18 09:01:00 -07:00
BreadFish64 f985d277c8 get rid of cmake GUI option 2018-01-10 20:39:32 -06:00
BreadFish64 da59ce91c9 require web services 2018-01-10 19:44:09 -06:00
Emmanuel Gil Peyrot 6773546d5c CMakeLists: Disable architecture checks with -DENABLE_GENERIC=1 2018-01-08 17:54:37 +01:00
BreadFish64 e768a92587 add compatibility reporting to qt frontend 2018-01-01 19:25:38 -06:00
wwylele 500a7f07c2 cmake: generate translation file and add to resource for citra_qt 2017-12-16 13:11:05 +02:00
Lioncash ab021d163e CMakeLists: Derive the source directory grouping from targets themselves
Removes the need to store to separate SRC and HEADER variables,
and then construct the target in most cases.
2017-12-11 21:11:52 -05:00
KAMiKAZOW f0fa4a6691 Install Linux icon in hicolor instead of pixmaps
hicolor is the preferred location for applications. See https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html#directory_layout
2017-10-15 08:39:48 +02:00
James Rowe 709c89a1d8 Installer: Converted the build scripts to cmake and added an "installer" target 2017-09-28 10:46:05 -06:00
James Rowe 9e847b7549 Build: Enable SSL in mingw by linking against WinSSL
The mingw builds aren't submitting telemetry because the curl library
they are linked against is configured to use openSSL and openSSL looks
for the certificates in the users home folder. This keeps it from
contacting web services because it can't communicate over SSL.

This commit adds a download in mingw builds that will download a
precompiled curl for mingw linked against winssl and sspi.
2017-09-11 09:10:17 -06:00
DaMan 40505bc4fc Add manifest 2017-09-02 20:08:11 -04:00
bunnei f44a1e0291 common: Add build timestamp to scm_rev. 2017-08-03 20:10:37 -04:00
MerryMage a08edd67eb tests: Add tests for vadd 2017-07-23 12:29:51 +01:00
MerryMage 9ca6728217 CMakeLists: Check that all submodules are present 2017-07-16 19:52:05 +01:00
bunnei 33b012e86b web_service: Add CMake flag to enable. 2017-07-11 18:33:41 -04:00
B3n30 6ba089fafb Set global definition WIN32_LEAN_AND_MEAN (#2807)
Set definition WIN32_LEAN_AND_MEAN to avoid windows.h including a lot of libs that are usually not used.
2017-06-24 17:38:16 -07:00
Yuri Kunde Schlesner 2ef7450465 CMake: Set MSVC flags for improved C++ standards conformance
This makes the compiler stricter and also enables small optimizations.
2017-06-17 12:21:26 -07:00
Yuri Kunde Schlesner 9a08160ae5 CMake: Re-organize root CMakeLists.txt file
Separates the file into sections and re-orders things to fit in them
2017-05-27 23:45:55 -07:00
Yuri Kunde Schlesner c211368734 CMake: Move definitions of externals to the CMakeLists in that directory 2017-05-27 23:33:14 -07:00
Yuri Kunde Schlesner d736cca848 CMake: Create INTERFACE targets for microprofile and nihstro 2017-05-27 22:34:52 -07:00
Yuri Kunde Schlesner 74afcd5328 CMake: Add SoundTouch include path to target property 2017-05-27 22:09:28 -07:00
Yuri Kunde Schlesner cb49df156d CMake: Use target properties to add inih include paths 2017-05-27 21:59:02 -07:00
Yuri Kunde Schlesner 776cb91785 CMake: Define an interface target for SDL2 definitions 2017-05-27 21:38:49 -07:00
Yuri Kunde Schlesner 34b6c8bd88 CMake: Remove CITRA_QT_LIBS var
This used to be required to support both Qt4 and Qt5, but we dropped Qt4
so it's not needed anymore.
2017-05-27 20:53:39 -07:00
Yuri Kunde Schlesner 089baa04e8 CMake: Stop using FindOpenGL, which seems to not be required anymore 2017-05-27 20:48:00 -07:00
Yuri Kunde Schlesner d6ff5c6f75 CMake: Use append instead of set to modify list 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner 0f563111a2 CMake: Use IMPORTED target for Boost 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner 4660bc1c78 CMake: Use IMPORTED target for libpng 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner a06220682c Add the fmt string formatting library
More info at http://fmtlib.net/

This commit was based on @jroweboy's work on his spdlog branch, but with
modifications.
2017-05-27 14:26:02 -07:00
Fernando Sahmkow d8af401b2c Fix Microprofile in MinGW (#2530) 2017-02-04 15:36:38 -08:00
Kloen abc5c134a3 Removed unused and outdated external qhexedit 2017-01-22 18:46:48 +01:00
James Rowe 0a6ca01991 Change deploy to use github releases instead, but only for the citra-nightly repo 2017-01-04 20:53:46 -07:00
James Rowe b03e7bf28f Add deploy to bintray for builds to master 2016-12-31 13:54:51 -05:00
bunnei d30d6f81aa Merge pull request #2303 from freiro/citra-qt_missing_sdl2_dll
Copy SDL2.dll when compiling citra-qt with msvc
2016-12-16 11:35:55 -05:00
Yuri Kunde Schlesner 17fccb8c5d Externals: Add Xbyak 2016-12-14 20:06:08 -08:00
Jeffrey Pfau 07ab936f12 CMakeLists: Autodetect clang and only then use libc++ 2016-12-13 09:41:55 -08:00
freiro 031fc3a460 Modularization of copy_msvc_libraries cmake funct
Created a new folder in Citra's root called CMakeModules that should
contain cmake functions used by the various CMakeLists.txt.
2016-12-11 15:36:34 +01:00
Yuri Kunde Schlesner 5a3ed81d9a Merge pull request #2202 from j-selby/man-docs
Add man documentation
2016-12-08 22:02:04 -08:00
James 61687840bc Disable Microprofile on Mingw builds
This fixes a crash when starting games
2016-12-05 13:10:14 +11:00
freiro 35e979f041 Appending PLATFORM_LIBRARIES instead of redefining them 2016-11-30 16:28:21 +01:00
freiro 0c22e52f52 WINVER definition moved to CMake and cleanup 2016-11-30 15:47:09 +01:00
James e5f8df8088 Add man documentation
Includes both SDL and QT frontends
2016-11-26 13:48:00 +11:00
freiro 9ca3a2d461 Move to SDL2-2.0.5 2016-11-22 09:16:04 +01:00
James Rowe c3ea6f4ddb Add mingw compile support 2016-11-13 23:50:46 -07:00
Jan Beich 8b833d3a97 build: don't install freedesktop.org metadata for SDL2-only builds
Citra SDL2 doesn't have a launcher, and citra.desktop tries to execute
citra-qt which is N/A unless built with ENABLE_QT. Limiting installed
files to one of the options also makes it easier to split them into
separate non-conflicting packages downstream.
2016-10-27 23:28:30 +00:00
Jan Beich 2240cb2eb0 build: add default install for DragonFly, Solaris, etc. 2016-10-27 23:28:30 +00:00
Jan Beich 52da9de5c4 build: clock_gettime() is in libc on BSDs 2016-10-27 23:28:30 +00:00
Jan Beich 48b6c98d31 build: libc may not provide iconv() on Unix
/usr/bin/ld: ../common/libcommon.a(string_util.cpp.o): undefined reference to symbol 'libiconv_open'
2016-10-27 23:28:30 +00:00
Anthony J. Bentley 26af2b644c common: convert to standard stat()/fstat() interfaces
Most modern Unix environments use 64-bit off_t by default: OpenBSD,
FreeBSD, OS X, and Linux libc implementations such as Musl.

glibc is the lone exception; it can default to 32 bits but this is
configurable by setting _FILE_OFFSET_BITS.

Avoiding the stat64()/fstat64() interfaces is desirable because they
are nonstandard and not implemented on many systems (including
OpenBSD and FreeBSD), and using 64 bits for stat()/fstat() is either
the default or trivial to set up.
2016-10-27 23:28:30 +00:00
bunnei 1ea1affe0a dynarmic: Add new submodule. 2016-09-15 17:49:25 -04:00
bunnei 8410e7891c CMakeLists: Set Boost_INCLUDE_DIR. 2016-09-15 17:49:21 -04:00
bunnei a71d6cc040 Revert "MSVC: Add RelWithDebInfo and removing debugging from Release." 2016-09-01 17:06:34 -04:00
James Rowe 8b685c4308 MSVC: Add RelWithDebInfo and removing debugging from Release.
This should reduce build size on windows from roughly 12MB compressed to 7MB
2016-08-31 20:45:38 -06:00
bunnei 33d17d0b62 qt: Use 5.7 on Windows. 2016-08-15 22:52:15 -04:00
James Rowe a976c2e3ba CMake: Fix for QT 5.7 overwriting -std=c++1y flag
In QT 5.7 they added a new check for CXX features which appends a minimum
required standard to the CXX_FLAGS. Because we were writing the flag
directly previously, cmake assumed it needed to add a c++11 flag to the
build. This tells cmake to use c++14 on every build.
2016-08-04 17:16:16 -06:00
Emmanuel Gil Peyrot e09e683720 Remove the -msse4.1 on ¬MSVC.
This option makes the generated binary crash with an illegal
instruction when the target CPU doesn’t support the SSE4.1 extension
(see #1968), with no noticeable performance increase compared to a
generic build.
2016-07-23 17:10:32 +01:00
Lioncash d5f5aeeab8 CMakeLists: Drop support for Qt 4 2016-06-17 10:48:40 -04:00
MerryMage 87de1ca968 Tests: Run tests on CI 2016-05-19 19:28:08 +01:00
MerryMage 920d2cf41d AudioCore: SDL2 Sink 2016-05-07 11:32:48 +01:00
MerryMage 27ce3b3f51 Externals: Add soundtouch 2016-04-28 13:33:14 +01:00
Sam Spilsbury df81fa11fc CMakeLists: Use imported version of Threads::Threads
This requires bumping up to a minimum of CMake 3.1. The benefit
of using the imported target is that you can switch to the -pthread
compiler flag on request, which may be necessary for some systems if
available.
2016-04-24 23:39:25 +08:00
Sam Spilsbury d051bd3032 CMakeLists: Use CMAKE_THREAD_LIBS_INIT 2016-04-23 11:48:58 +08:00
Lioncash 5ef90464a1 CMakeFiles: Compile as C++14 2016-04-03 15:45:41 -04:00