summaryrefslogtreecommitdiffstats
path: root/src/CMakeLists.txt (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-05-17CMakeLists: Enforce C4715 on MSVCMorph1-0/+1
This is similar to -Werror=return-type
2021-03-05CMakeLists: Add /utf-8 compile option for MSVCMorph1-0/+2
Ensures that the source and execution character sets are in UTF-8
2021-01-24cmake: Enforce -Warray-bounds and -Wmissing-field-initializers globallyReinUsesLisp1-0/+2
2021-01-15cmake: Remove yuzu_testerReinUsesLisp1-1/+0
We never ended up using yuzu_tester. Removing it saves code duplication with yuzu_cmd, and distribution size on prebuilt packages. For unit testing, we can use catch2 from guest code and dump the results to a file. Then execute yuzu from a script on ci if we want this to be automated.
2021-01-15cmake: Enforce -Wunused-function code-base wideReinUsesLisp1-0/+1
2021-01-13cmake: Enforce -Werror=switch and -Werror=unused-variableMorph1-0/+2
2021-01-10cmake: Enforce C4101Morph1-0/+1
This matches GCC's -Wunused-variable
2021-01-09cmake: Enforce C4062, C4265, C4388, and C5038ReinUsesLisp1-0/+4
This should match some warnings we treat as errors on gcc and clang, caching bugs early and reducing the number of instances where we have to edit commits to make CI happy when developing from Windows.
2020-12-30cmake: Enforce -WuninitializedReinUsesLisp1-0/+1
2020-11-27CMakeLists: disable -Winvalid-offsetofcomex1-0/+1
This Clang warning complains when offsetof is used on a non-standard-layout type (i.e. any class using various C++ features), even though it works fine (and is not undefined behavior as of C++17).
2020-10-30CMakeLists: Resolve MSVC build failuresLioncash1-1/+0
Prevents the compiler tripping up about Windows headers.
2020-10-30General: Catch more expressions with no effect on MSVCLioncash1-0/+4
MSVC lets us fine-tune catching expressions with no side-effects a little more.
2020-10-30General: Make ignoring a discarded return value an errorLioncash1-1/+5
Allows our CI to catch more potential bugs. This also removes the [[nodiscard]] attribute of IOFile's Open member function. There are cases where a file may want to be opened, but have the status of it checked at a later time.
2020-08-03CMakeLists: Resolve #4478Lioncash1-1/+6
This switch is enabled by default in all recent versions of GCC and Clang.
2020-08-03ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465)David1-0/+1
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer With the support of C++20, we can use concepts to deduce if a type is an STL container or not. * More agressive concept for stl containers * Add -fconcepts * Move to common namespace * Add Common::IsBaseOf
2020-06-27Build System: Fix GCC & MINGW Build.Fernando Sahmkow1-0/+4
2020-04-17CMakeLists: Make missing declarations a compile-time errorLioncash1-0/+1
Ensures that our code always has its linkage explicit.
2020-04-17CMakeLists: Enable -Wmissing-declarations on Linux buildsLioncash1-0/+1
Allows catching cases where internal linkage isn't specified for helper functions when they should be marked as such.
2020-04-16CMakeLists: Specify -Wextra on linux buildsLioncash1-0/+3
Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
2020-04-15CMakeLists: Make -Wreorder a compile-time errorLioncash1-0/+1
This can result in silent logic bugs within code, and given the amount of times these kind of warnings are caused, they should be flagged at compile-time so no new code is submitted with them.
2020-01-19CMake: Create thin archives on LinuxLéo Lam1-0/+9
This significantly reduces unnecessary disk writes and space usage when building Citra. libcore.a is now only ~1MB rather than several hundred megabytes.
2019-06-10yuzu_tester: Add project subdirectoryZach Hilman1-0/+1
2019-05-09CMakeLists: Specify /volatile:iso for MSVCLioncash1-0/+2
By default, MSVC doesn't use standards-compliant volatile semantics. This makes it behave in a standards-compliant manner, making expectations more uniform across compilers.
2019-05-07src/CMakeLists: Add /Zc:externConstexpr to the MSVC build flagsLioncash1-8/+10
The C++ standard allows constexpr variables declared with the extern keyword to have external linkage. Previously MSVC wasn't abiding by this. This just makes the compiler more standards compliant during builds. Given we currently don't make use of anything that would break by this, this is safe to enable.
2019-05-07src/CMakeLists: Vertically order compilation flagsLioncash1-9/+19
Makes it much nicer to visually scan the options. This also starts the flag descriptions from the same column for the same reason.
2019-05-04CMakeLists: Explicitly specify -Wall for the non-MSVC caseLioncash1-1/+4
Ensures that -Wall is always active as a compilation flag.
2019-04-17CMakeLists: Ensure we specify Unicode as the codepage on WindowsLioncash1-0/+3
Previously we were building with MBCS, which is pretty undesirable. We want the application to be Unicode-aware in general. Currently, we make the command line variant of yuzu use ANSI variants of the non-standard getopt functions that we link in for Windows, given we only have an ANSI option-set. We should really replace getopt with a library that we make all build types of yuzu link in, but this will have to do for the time being.
2019-03-17CMakeLists: Move off of modifying CMAKE_*-related flagsLioncash1-20/+12
Modifying CMAKE_* related flags directly applies those changes to every single CMake target. This includes even the targets we have in the externals directory. So, if we ever increased our warning levels, or enabled particular ones, or enabled any other compilation setting, then this would apply to externals as well, which is often not desirable. This makes our compilation flag setup less error prone by only applying our settings to our targets and leaving the externals alone entirely. This also means we don't end up clobbering any provided flags on the command line either, allowing users to specifically use the flags they want.
2019-03-17CMakeLists: Move compilation flags into the src directoryLioncash1-0/+69
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.
2018-10-02Port web_service from CitrafearlessTobi1-0/+3
2018-07-28audio_core: Add initial code for keeping track of audout state.bunnei1-0/+1
2018-01-13Massive removal of unused modulesJames Rowe1-7/+2
2017-07-12web_service: Add CMake flag to enable.bunnei1-1/+3
2017-07-10web_service: Add skeleton project.bunnei1-0/+1
2017-07-07Implement basic virtual Room support based on enet (#2803)B3n301-0/+1
* Added support for network with ENet lib, connecting is possible, but data can't be sent, yet. * fixup! Added support for network with ENet lib, * fixup! CLang * fixup! Added support for network with ENet lib, * fixup! Added support for network with ENet lib, * fixup! Clang format * More fixups! * Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Clang again * fixup! Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Moved ENetHost* and ENetPeer* into pimpl classes
2017-03-01InputCommon: add Keyboardwwylele1-0/+1
2016-05-19tests: Infrastructure for unit testsMerryMage1-0/+1
2016-03-02Dependencies: Remove GLFW, Add SDL2MerryMage1-1/+1
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-02-21AudioCore: Skeleton ImplementationMerryMage1-0/+1
This commit: * Adds a new subproject, audio_core. * Defines structures that exist in DSP shared memory. * Hooks up various other parts of the emulator into audio core. This sets the foundation for a later HLE DSP implementation.
2014-09-01CMake cleanupYuri Kunde Schlesner1-5/+8
Several cleanups to the buildsystem: - Do better factoring of common libs between platforms. - Add support to building on Windows. - Remove Qt4 support. - Re-sort file lists and add missing headers.
2014-04-23fixes to build on linuxbunnei1-1/+2
2014-04-10updated CMakeListsbunnei1-0/+1
2013-09-26renamed from citrus to citraShizZy1-2/+2
2013-09-14renamed project to 'citrus'ShizZy1-2/+2
2013-08-30adding initial project layoutShizZy1-0/+7