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
MerryMage
ba2a54a9dd
Dependencies: Remove GLFW, Add SDL2
...
citra: Remove GLFW, Add SDL2
FindSDL2: Do not CACHE SDL2_* variables if library is not found
EmuWindow_SDL2: Set minimal client area at initialisation time
EmuWindow_SDL2: Corrections
EmuWindow_SDL2: Fix no decorations on startup on OS X
cmake: windows_copy_files
2016-03-02 14:09:02 +00:00
Tony Wasserka
5f567a8229
Enable RTTI on Windows builds.
2015-11-12 16:07:49 +01:00
Yuri Kunde Schlesner
f226365f55
CMake: Silence more MSVC "deprecation" warnings
2015-09-14 17:39:51 -03:00
Yuri Kunde Schlesner
6cec330103
CMake: Make all cache options appear even in case of errors
...
The `option` commands have been moved to the top of the file, so that
the relevant options are registered in the CMake cache even if one of
the required libraries is not found. This solves an ergonomic problem
when using bundled libraries where you have to first download GLFW
before being able to select the option to also download Qt.
2015-09-08 20:16:34 -03:00
Yuri Kunde Schlesner
9e52aaa01d
CMake: Point binary downloads to new official repo
2015-09-08 19:35:15 -03:00
Yuri Kunde Schlesner
70d0d8890a
CMake: Remove support for QTDIR environment variable
...
Using this variable is problematic is the user has several versions of
Qt installed on their system. There is no way to know ahead of time if
the Qt version pointed to by QTDIR matches the toolchain that is being
targeted.
The Qt installation path can still be easily specified if it's not found
by CMake by setting the Qt5_DIR cache variable after the initial
configuration run, so this shouldn't present an usability issue.
2015-09-08 19:35:14 -03:00
Yuri Kunde Schlesner
fdb0f8203e
CMake: Don't complain when Boost isn't found in the system.
2015-09-08 19:35:13 -03:00
Yuri Kunde Schlesner
2eec2c156b
CMake: Use HINTS option instead of modifying CMAKE_PREFIX_PATH for Qt
2015-09-08 19:35:12 -03:00
Yuri Kunde Schlesner
078969bdd0
CMake: Add option to download Qt and GLFW binaries over HTTP
2015-09-08 19:35:12 -03:00
Yuri Kunde Schlesner
eb26a1941e
CMake: Fix architecture detection on MSVC
...
CMAKE_SYSTEM_ARCHICTETURE always returns the *host* not target arch
when using the MSVC generators. (CMake bugs 15170 and 14342.)
2015-09-08 19:35:11 -03:00
Yuri Kunde Schlesner
a1a5570e97
Replace the previous OpenGL loader with a glad-generated 3.3 one
...
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
2015-08-30 08:45:56 -03:00
Yuri Kunde Schlesner
0fcabd2b11
Integrate the MicroProfile profiling library
...
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
darkf
e053d30bf7
Fix building under MinGW
2015-08-17 22:21:14 -07:00
bunnei
b39c053785
Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.
2015-08-15 18:03:27 -04:00
bunnei
4d51792285
Common: Ported over Dolphin's code for x86 CPU capability detection.
2015-08-15 17:33:44 -04:00
Yuri Kunde Schlesner
12f78c2ba6
Enable linker optimizations in MSVC Release builds
...
Apparently /DEBUG implicitly disables linker optimizations. This
explicitly re-enables them, giving a 40% reduction in binary sizes and
a very slight runtime speed improvement.
2015-07-28 14:32:29 -03:00
JSFernandes
256eb24777
Fix permissions in pre-commit hook
2015-07-14 00:58:18 +01:00
Greg Wicks
9930ef72dd
Implement new argument parsing using getopt and add the corresponding library to externals
2015-07-12 15:49:23 -04:00
Yuri Kunde Schlesner
a24a0fbd8a
CMake: Fix Debug build configuration in MSVC
...
Debug was missing compiler flags, causing MSVC to default it to building
with optimizations enabled (making for a not very useful binary for
actual debugging...). Additionally, the variables were re-organized to
remove some redundancy, the old Release build type was removed, and
RelWithDebInfo was renamed to take its place instead.
2015-07-09 16:10:08 -03:00