summaryrefslogtreecommitdiffstats
path: root/src/CMakeLists.txt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* CMakeLists: Make variable shadowing a compile-time errorMorph2022-06-141-0/+5
| | | | Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug.
* CMakeLists: Enforce C4505 and C5245Morph2022-04-081-0/+2
| | | | These are similar to Wunused-function on gcc/clang
* build: remove -fconceptsAndrea Pappacoda2022-04-051-6/+0
| | | It was needed on GCC versions not supporting `-std=c++20`, but GCC 10 and newer (required to compile yuzu) don't need it anymore
* cmake: make tests optionalAlexandre Bouvier2022-01-121-1/+4
|
* CMakeLists: Specify /Zm200 when compiling in MSVCMorph2021-12-071-0/+2
| | | | This increases the memory heap size for constructing precompiled headers to 2x the default.
* CMakeLists: Document the /GT compile optionMorph2021-10-291-0/+1
|
* Build System: Build with JCC Erratum MitigationFernando Sahmkow2021-09-151-0/+5
|
* shader: Initial recompiler workReinUsesLisp2021-07-231-0/+1
|
* CMakeLists: Treat -Wsign-compare as an error on GCC/ClangMorph2021-07-061-0/+1
| | | | Treats (un)signed comparison mismatches as errors to be consistent with MSVC
* Merge pull request #6537 from Morph1984/warningsbunnei2021-07-061-3/+12
|\ | | | | general: Enforce multiple warnings in MSVC
| * CMakeLists: Disable all warnings for external headersMorph2021-06-281-0/+5
| | | | | | | | | | | | This lets us avoid needing to wrap external headers with #pragma warning directives for warnings we treat as errors and avoids generating warnings for external code. Thanks to MerryMage for pointing this out.
| * CMakeLists: Enforce C4018, C4267, C4305, C4389Morph2021-06-281-3/+7
| |
* | CMakeLists: Enforce C4189Morph2021-07-031-0/+1
|/ | | | This supplements C4101 by detecting initialized but unreferenced local variables
* CMakeLists: Enforce C4715 on MSVCMorph2021-05-171-0/+1
| | | | This is similar to -Werror=return-type
* CMakeLists: Add /utf-8 compile option for MSVCMorph2021-03-051-0/+2
| | | | Ensures that the source and execution character sets are in UTF-8
* cmake: Enforce -Warray-bounds and -Wmissing-field-initializers globallyReinUsesLisp2021-01-241-0/+2
|
* Merge pull request #5352 from ReinUsesLisp/remove-testerLC2021-01-151-1/+0
|\ | | | | cmake: Remove yuzu_tester
| * cmake: Remove yuzu_testerReinUsesLisp2021-01-151-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.
* | cmake: Enforce -Wunused-function code-base wideReinUsesLisp2021-01-151-0/+1
|/
* cmake: Enforce -Werror=switch and -Werror=unused-variableMorph2021-01-131-0/+2
|
* cmake: Enforce C4101Morph2021-01-101-0/+1
| | | | This matches GCC's -Wunused-variable
* cmake: Enforce C4062, C4265, C4388, and C5038ReinUsesLisp2021-01-091-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.
* cmake: Enforce -WuninitializedReinUsesLisp2020-12-301-0/+1
|
* CMakeLists: disable -Winvalid-offsetofcomex2020-11-271-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).
* CMakeLists: Resolve MSVC build failuresLioncash2020-10-301-1/+0
| | | | Prevents the compiler tripping up about Windows headers.
* General: Catch more expressions with no effect on MSVCLioncash2020-10-301-0/+4
| | | | | MSVC lets us fine-tune catching expressions with no side-effects a little more.
* General: Make ignoring a discarded return value an errorLioncash2020-10-301-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.
* CMakeLists: Resolve #4478Lioncash2020-08-031-1/+6
| | | | | This switch is enabled by default in all recent versions of GCC and Clang.
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465)David2020-08-031-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
* Build System: Fix GCC & MINGW Build.Fernando Sahmkow2020-06-271-0/+4
|
* CMakeLists: Make missing declarations a compile-time errorLioncash2020-04-171-0/+1
| | | | Ensures that our code always has its linkage explicit.
* CMakeLists: Enable -Wmissing-declarations on Linux buildsLioncash2020-04-171-0/+1
| | | | | Allows catching cases where internal linkage isn't specified for helper functions when they should be marked as such.
* CMakeLists: Specify -Wextra on linux buildsLioncash2020-04-161-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.
* CMakeLists: Make -Wreorder a compile-time errorLioncash2020-04-151-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.
* CMake: Create thin archives on LinuxLéo Lam2020-01-191-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.
* yuzu_tester: Add project subdirectoryZach Hilman2019-06-101-0/+1
|
* Merge pull request #2460 from lioncash/volatileMat M2019-05-141-0/+2
|\ | | | | CMakeLists: Specify /volatile:iso for MSVC
| * CMakeLists: Specify /volatile:iso for MSVCLioncash2019-05-091-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.
* | Merge pull request #2450 from lioncash/warn-levelMat M2019-05-141-1/+4
|\ \ | |/ |/| CMakeLists: Explicitly specify -Wall for the non-MSVC case
| * CMakeLists: Explicitly specify -Wall for the non-MSVC caseLioncash2019-05-041-1/+4
| | | | | | | | Ensures that -Wall is always active as a compilation flag.
* | src/CMakeLists: Add /Zc:externConstexpr to the MSVC build flagsLioncash2019-05-071-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.
* | src/CMakeLists: Vertically order compilation flagsLioncash2019-05-071-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.
* CMakeLists: Ensure we specify Unicode as the codepage on WindowsLioncash2019-04-171-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.
* CMakeLists: Move off of modifying CMAKE_*-related flagsLioncash2019-03-171-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.
* CMakeLists: Move compilation flags into the src directoryLioncash2019-03-171-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.
* Port web_service from CitrafearlessTobi2018-10-021-0/+3
|
* audio_core: Add initial code for keeping track of audout state.bunnei2018-07-281-0/+1
|
* Massive removal of unused modulesJames Rowe2018-01-131-7/+2
|
* web_service: Add CMake flag to enable.bunnei2017-07-121-1/+3
|
* web_service: Add skeleton project.bunnei2017-07-101-0/+1
|
* Implement basic virtual Room support based on enet (#2803)B3n302017-07-071-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
* InputCommon: add Keyboardwwylele2017-03-011-0/+1
|
* tests: Infrastructure for unit testsMerryMage2016-05-191-0/+1
|
* Dependencies: Remove GLFW, Add SDL2MerryMage2016-03-021-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
* AudioCore: Skeleton ImplementationMerryMage2016-02-211-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.
* CMake cleanupYuri Kunde Schlesner2014-09-011-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.
* fixes to build on linuxbunnei2014-04-231-1/+2
|
* updated CMakeListsbunnei2014-04-101-0/+1
|
* renamed from citrus to citraShizZy2013-09-261-2/+2
|
* renamed project to 'citrus'ShizZy2013-09-141-2/+2
|
* adding initial project layoutShizZy2013-08-301-0/+7