Commit Graph

127 Commits (96dcccc80ce16dbf60fc629d7659d6b9d19e27f0)

Author SHA1 Message Date
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 +07:00
Kloen abc5c134a3 Removed unused and outdated external qhexedit 2017-01-22 18:46:48 +07: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 +07: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 +07:00
Yuri Kunde Schlesner 17fccb8c5d Externals: Add Xbyak 2016-12-14 20:06:08 +07:00
Jeffrey Pfau 07ab936f12 CMakeLists: Autodetect clang and only then use libc++ 2016-12-13 09:41:55 +07: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 +07:00
Yuri Kunde Schlesner 5a3ed81d9a Merge pull request #2202 from j-selby/man-docs
Add man documentation
2016-12-08 22:02:04 +07:00
James 61687840bc Disable Microprofile on Mingw builds
This fixes a crash when starting games
2016-12-05 13:10:14 +07:00
freiro 35e979f041 Appending PLATFORM_LIBRARIES instead of redefining them 2016-11-30 16:28:21 +07:00
freiro 0c22e52f52 WINVER definition moved to CMake and cleanup 2016-11-30 15:47:09 +07:00
James e5f8df8088 Add man documentation
Includes both SDL and QT frontends
2016-11-26 13:48:00 +07:00
freiro 9ca3a2d461 Move to SDL2-2.0.5 2016-11-22 09:16:04 +07: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 +07:00
Jan Beich 2240cb2eb0 build: add default install for DragonFly, Solaris, etc. 2016-10-27 23:28:30 +07:00
Jan Beich 52da9de5c4 build: clock_gettime() is in libc on BSDs 2016-10-27 23:28:30 +07: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 +07: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 +07:00
bunnei 1ea1affe0a dynarmic: Add new submodule. 2016-09-15 17:49:25 +07:00
bunnei 8410e7891c CMakeLists: Set Boost_INCLUDE_DIR. 2016-09-15 17:49:21 +07:00
bunnei a71d6cc040 Revert "MSVC: Add RelWithDebInfo and removing debugging from Release." 2016-09-01 17:06:34 +07: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 +07:00
bunnei 33d17d0b62 qt: Use 5.7 on Windows. 2016-08-15 22:52:15 +07: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 +07: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 +07:00
Lioncash d5f5aeeab8 CMakeLists: Drop support for Qt 4 2016-06-17 10:48:40 +07:00
MerryMage 87de1ca968 Tests: Run tests on CI 2016-05-19 19:28:08 +07:00
MerryMage 920d2cf41d AudioCore: SDL2 Sink 2016-05-07 11:32:48 +07:00
MerryMage 27ce3b3f51 Externals: Add soundtouch 2016-04-28 13:33:14 +07: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 +07:00
Sam Spilsbury d051bd3032 CMakeLists: Use CMAKE_THREAD_LIBS_INIT 2016-04-23 11:48:58 +07:00
Lioncash 5ef90464a1 CMakeFiles: Compile as C++14 2016-04-03 15:45:41 +07: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 +07:00
Tony Wasserka 5f567a8229 Enable RTTI on Windows builds. 2015-11-12 16:07:49 +07:00
Yuri Kunde Schlesner f226365f55 CMake: Silence more MSVC "deprecation" warnings 2015-09-14 17:39:51 +07:00