Commit Graph
38 Commits
Author SHA1 Message Date
Yaya48 a77c156bc8 IOS: add Starlet LLE milestone through HBC
Boot original Wii firmware through boot0, boot1, boot2 and IOS on an emulated ARM Starlet. Model the required IPC, memory, SD, USB and Bluetooth hardware behavior, including IOS reload into IOS58, and add focused tests, launch utilities and architecture documentation.
2026-08-25 17:11:49 +02:00
Joshua Vandaële c1261e7406 CMake: Introduce Presets, replacing Settings
This introduces a CMakePresets file for both Unix-likes and Windows that replace the old CMakeSettings.

It adds presets for **Debug** and **Release** profiles for both **x64** and **ARM64** architectures, as well as **Generic builds**.
Presets can be used using[ Visual Studio's built-in CMakePresets support](https://learn.microsoft.com/en-us/cpp/build/cmake-presets-vs?view=msvc-170), or [Visual Studio Code's CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) extension.

They can also be used from the command line, like so:

- x64/Unix-like/Ninja:
  - Configure: `cmake --preset ninja-release-x64`
  - Build: `cmake --build --preset ninja-build-release-x64`
  - Configure + Build: `cmake --workflow --preset ninja-release-x64`
- ARM64/Windows/Visual Studio:
  - Configure: `cmake --preset visualstudio-release-arm64`
  - Build: `cmake --build --preset visualstudio-build-release-arm64`
  - Configure + Build: `cmake --workflow --preset visualstudio-release-arm64`

The Ninja generator is available to both Windows and Unix-likes, while the Visual Studio Generator is only available on Windows.

**Cross-compiling**

On **Windows**, the Visual Studio generator automatically takes care of everything, you just need to select an ARM64 preset.

On **Unix-likes**, to cross-compile you need to install a cross-compiler and (optionally) a sysroot of the target system.
Here is an example to compile from x64 to ARM64 with a sysroot:

- `cmake --preset ninja-release-arm64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SYSROOT=/opt/sysroots/aarch64-linux-gnu`
- `cmake --build --preset ninja-build-release-arm64`

You will need a sysroot to link against Qt, since we do not vendor it in on platforms other than Windows.

**User presets**

A `CMakeUserPresets.json` file may be created locally at the root of the project to further customize your presets.
For example, here are the user presets I used to test this PR on Arch Linux with a generic Arch Linux ARM sysroot:

```json
{
  "version": 10,
  "configurePresets": [
    {
      "name": "gcc-debug-arm64",
      "inherits": "ninja-debug-arm64",
      "cacheVariables": {
        "CMAKE_C_COMPILER": "aarch64-linux-gnu-gcc",
        "CMAKE_CXX_COMPILER": "aarch64-linux-gnu-g++",
        "CMAKE_EXE_LINKER_FLAGS": "-L/opt/sysroots/ArchLinuxARM/lib",
        "CMAKE_SYSROOT": "/opt/sysroots/ArchLinuxARM"
      }
    },
    {
      "name": "clang-debug-arm64",
      "inherits": "ninja-debug-arm64",
      "cacheVariables": {
        "CMAKE_C_COMPILER": "clang",
        "CMAKE_CXX_COMPILER": "clang++",
        "CMAKE_C_FLAGS": "-target aarch64-linux-gnu",
        "CMAKE_CXX_FLAGS": "-target aarch64-linux-gnu",
        "CMAKE_SYSROOT": "/opt/sysroots/ArchLinuxARM"
      }
    },
    {
      "name": "clang-debug-x64",
      "inherits": "ninja-debug-x64",
      "cacheVariables": {
        "CMAKE_C_COMPILER": "clang",
        "CMAKE_CXX_COMPILER": "clang++"
      }
    }
  ],
  "buildPresets": [
    {
      "name": "gcc-build-debug-arm64",
      "configurePreset": "gcc-debug-arm64"
    },
    {
      "name": "clang-build-debug-arm64",
      "configurePreset": "clang-debug-arm64"
    },
    {
      "name": "clang-build-debug-x64",
      "configurePreset": "clang-debug-x64"
    }
  ],
  "workflowPresets": [
    {
      "name": "gcc-debug-arm64",
      "steps": [
        { "type": "configure", "name": "gcc-debug-arm64" },
        { "type": "build", "name": "gcc-build-debug-arm64" }
      ]
    },
    {
      "name": "clang-debug-arm64",
      "steps": [
        { "type": "configure", "name": "clang-debug-arm64" },
        { "type": "build", "name": "clang-build-debug-arm64" }
      ]
    },
    {
      "name": "clang-debug-x64",
      "steps": [
        { "type": "configure", "name": "clang-debug-x64" },
        { "type": "build", "name": "clang-build-debug-x64" }
      ]
    }
  ]
}
```

They are then used like so:
Configure + Build with GCC: `cmake --workflow --preset gcc-debug-arm64`
Configure + Build with Clang: `cmake --workflow --preset clang-debug-arm64`
Configure + Build with Clang (x64): `cmake --workflow --preset clang-debug-x64`

*Addendum: It should also now be possible to cross-compile from Windows to Unix-likes, and Unix-like to other Unix-like (e.g. Linux -> FreeBSD), however this is untested.*
2026-07-24 03:45:13 +02:00
Ethan Uppal 4e55d2518a Config: Add Edit button to DSU server menu
Signed-off-by: Ethan Uppal <[email protected]>
2026-04-30 02:23:41 -04:00
OatmealDome 704c75a2f5 gitignore: Ignore flatpak-builder's cache directory 2024-11-11 12:17:53 -05:00
Dr. Dystopia ed62aec658 Update gitignore 2024-08-10 14:23:47 +02:00
Jonas Kalsvik 859ac40ca2 DolphinTool: Add an image extract command 2024-04-18 21:11:19 +02:00
Bonta 44aaf108d1 Externals: Integrate mGBA as a submodule 2021-07-13 16:39:29 +02:00
altimumdelta 6cede3bf79 Git: Also Ignore other derivatives of VS output 2019-11-09 20:37:04 +01:00
Mat M d95745ffdb Merge pull request #8331 from JosJuice/gitignore-enc-temp-folder
Add enc_temp_folder to .gitignore
2019-10-23 20:13:01 -04:00
JosJuice 7677e5608f Add /Source/Android/app/.cxx/ to .gitignore
Recent versions of Android Studio seem to put stuff here.
2019-10-14 20:05:24 +02:00
JosJuice 1edc45f67d Add enc_temp_folder to .gitignore
Not quite sure what this is, but Visual Studio creates it occasionally.
2019-08-24 14:20:02 +02:00
Scott Mansell c27ee22a15 Add vscode to .gitignore 2019-04-27 10:36:16 +12:00
JosJuice 2677806e95 Remove .tx from .gitignore
It contains a configuration that has no reason to be different
for different people. It's not used for storing things like
usernames or passwords.
2016-09-11 14:47:36 +02:00
JosJuice 91a95cde91 Update .gitignore for Visual Studio 2015 2016-04-16 17:26:17 +02:00
rabbott99 dddde80e33 .gitignore: ignore emacs temp files 2016-03-17 23:01:06 -04:00
Simon McFarlane 8adaab6eea Ignore vim swapfiles 2015-05-02 23:34:23 -07:00
Unknown W. Brackets 43d48809c4 Android: also ignore the libs left on the root.
Although, I don't really see why they are put here, outside the build dir.
2014-11-30 23:01:00 -08:00
archshift 0019519bd6 Added IDEA/Clion project dir to .gitignore 2014-10-26 21:19:19 -07:00
Tillmann Karras 7e39cf3b0d .gitignore: fix the build directory pattern 2014-03-17 02:55:56 +01:00
Tillmann Karras 154ad838f4 .gitignore: multiple build dirs and kdevelop stuff 2014-03-09 15:24:34 +01:00
Jasper St. Pierre 34692ab826 Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
Paul Olszewski d49f9ab80f Clean up and add info to .gitignore; also re-add the QtCreator CMakeLists.txt.user ignore. 2013-12-21 22:03:06 +01:00
Tony Wasserka 5bc080a1b2 Revert "Add CMakeLists.txt.user to the .gitignore file. Closes issue 6873." because no comment has been given on what that newly ignored file even is. If no dev knows what's going on and there's not even a comment explaining things, then that's bad.
This reverts commit 5443f14fe4.
2013-12-21 21:05:08 +01:00
Ryan Houdek 5443f14fe4 Add CMakeLists.txt.user to the .gitignore file. Closes issue 6873. 2013-12-12 12:54:36 -06:00
Jasper St. Pierre 9722be069b Update .gitignore 2013-12-07 14:54:02 -05:00
Matthew Parlane dab9af43a4 [Windows] Add missing dlls and enable OpenMP support. 2013-11-03 11:54:45 +13:00
Shawn Hoffman ccd30024b3 Update to VS2013 and a slew of build-related updates. Notes:
* Currently there is no DEBUGFAST configuration. Defining DEBUGFAST as a preprocessor definition in Base.props (or a global header) enables it for now, pending a better method. This was done to make managing the build harder to screw up. However it may not even be an issue anymore with the new .props usage.
* D3DX11SaveTextureToFile usage is dropped and not replaced.
* If you have $(DXSDK_DIR) in your global property sheets (Microsoft.Cpp.$(PlatformName).user), you need to remove it. The build will error out with a message if it's configured incorrectly.
* If you are on Windows 8 or above, you no longer need the June 2010 DirectX SDK installed to build dolphin. If you are in this situation, it is still required if you want your built binaries to be able to use XAudio2 and XInput on previous Windows versions.
* GLew updated to 1.10.0
* compiler switches added: /volatile:iso, /d2Zi+
* LTCG available via msbuild property: DolphinRelease
* SDL updated to 2.0.0
* All Externals (excl. OpenAL and SDL) are built from source.
* Now uses STL version of std::{mutex,condition_variable,thread}
* Now uses Build as root directory for *all* intermediate files
* Binary directory is populated as post-build msbuild action
* .gitignore is simplified
* UnitTests project is no longer compiled
2013-10-26 17:55:38 -07:00
Jasper St. Pierre 2244d351fc .gitignore: Prevent Debugger directory from being removed again 2013-10-08 15:44:28 -04:00
degasus 382be2aabd Merge branch 'master' into GLSL-master
Conflicts:
	.gitignore
2013-03-12 11:28:56 +01:00
Glenn Rice 91a4c9d899 Update translations from transifex.
Also add the transifix client configuration directory to gitignore.
2013-03-10 08:55:52 -05:00
degasus d60cc373d1 Revert "Revert 30dd9c2 e9d00bf db5f4c8 and bff0fae"
This reverts commit d0301ca89d.

Conflicts:
	.gitignore
2013-01-24 16:11:07 +01:00
Grant Paul 2f28d938cf Add support for the mouse cursor and mouse clicking events on OS X. 2013-01-17 23:32:07 -08:00
Ryan Houdek d0301ca89d Revert 30dd9c2 e9d00bf db5f4c8 and bff0fae 2013-01-07 13:47:34 -06:00
degasus c207422987 using of vao, warning: ARB_vertex_array_object is needed
Signed-off-by: Ryan Houdek <[email protected]>
2012-12-13 15:28:25 -06:00
Glenn Rice 614a994150 Instead of ignoring various subdirectories of the Binary directory, just
ignore that directory.
2012-05-02 15:48:14 -05:00
Shawn 7f56842a79 fixup scons (osx) to generate scmrev.h and build.
hopefully this will be the last code change committed directly to master for a while... :/
next is cmake to replace scons on osx hopefully. pointers anyone? (soren?)
2011-08-23 03:50:06 -07:00
Shawn Hoffman fc12633055 Make the jscript for writing out scmrev.h work on windows.
Add scmrev.h to .gitignore
Remove some SubWCRev.exe and it's template
2011-08-21 19:15:50 -07:00
Shawn Hoffman 6bc81f5ac4 git compat:
add git support to cmake and make_svnrev.h.js
add .gitignore
2011-08-14 13:17:57 -07:00