summaryrefslogtreecommitdiffstats
path: root/platform/windows/SCsub
Commit message (Collapse)AuthorAgeFilesLines
* Delete old unused code for VS project generationYevhen Babiichuk (DustDFG)2024-11-121-10/+0
| | | | | | Also ensured that sorting of files for hashing actually happens Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
* Windows: Expand `godot.natvis` type coverageThaddeus Crews2024-11-111-0/+3
|
* Merge pull request #97250 from Garetonchick/windows-drag-and-drop-fixThaddeus Crews2024-11-051-0/+1
|\ | | | | | | Windows: Fix dragging and dropping files from compressed files into editor
| * fix drag-and-drop in windowsGaretonchick2024-10-241-0/+1
| |
* | SCons: Add unobtrusive type hints in SCons filesThaddeus Crews2024-09-251-0/+1
|/
* D3D12: Get rid of DXIL.dll!Pedro J. Estébanez2024-07-111-12/+0
|
* SCons: Fix `RES` race conditionThaddeus Crews2024-05-241-0/+2
|
* Update pre-commit hooks configuration to use `ruff` instead of `black`Jakub Marcowski2024-05-211-0/+1
|
* [Windows] Enable crash reporter on MinGW builds, use libbacktrace to ↵bruvzg2024-04-221-1/+5
| | | | generate stack trace from DWARF symbols.
* Add renaming of PDB files to avoid blocking themDmitriySalnikov2024-04-051-0/+1
|
* [NativeMenu] Implement native popup menu support on Windows.bruvzg2024-03-131-0/+1
|
* SCons: Convert remaining `run_in_subprocess` to `env.Run`Thaddeus Crews2024-03-101-3/+2
|
* Merge pull request #79875 from bruvzg/mingw_force_sep_dsRémi Verschelde2024-02-131-1/+1
|\ | | | | | | [MinGW] Force separate debug symbols if executable size is larger than 1.9 GB.
| * [MinGW] Force separate debug symbols if executable size is larger than 1.9 GB.bruvzg2023-12-031-1/+1
| |
* | Finish splitting functionality of the Vulkan and D3D12 backends into ↵Dario2024-02-121-1/+1
| | | | | | | | RenderingDeviceDriver.
* | Add new VS proj generation logic that supports any platform that wants to opt inAndreia Gaita2024-01-311-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Custom Visual Studio project generation logic that supports any platform that has a msvs.py script, so Visual Studio can be used to run scons for any platform, with the right defines per target. Invoked with `scons vsproj=yes` To generate build configuration files for all platforms+targets+arch combinations, users should call ``` scons vsproj=yes platform=XXX target=YYY [other build flags] ``` for each combination of platform+target[+arch]. This will generate the relevant vs project files but skip the build process, so that project files can be quickly generated without waiting for a command line build. This lets project files be quickly generated even if there are build errors. All possible combinations of platform+target are created in the solution file by default, but they won't do anything until each one is set up with a scons vsproj=yes command for the respective platform in the appropriate command line. This lets users only generate the combinations they need, and VS won't have to parse settings for other combos. Only platforms that opt in to vs proj generation by having a msvs.py file in the platform folder are included. Platforms with a msvs.py file will be added to the solution, but only the current active platform+target+arch will have a build configuration generated, because we only know what the right defines/includes/flags/etc are on the active build target currently being processed by scons. Platforms that don't support an editor target will have a dummy editor target that won't do anything on build, but will have the files and configuration for the windows editor target. To generate AND build from the command line, run ``` scons vsproj=yes vsproj_gen_only=no ```
* | [D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX ↵bruvzg2024-01-261-2/+2
| | | | | | | | runtime opt-in.
* | Add a python script to install Direct3D 12 SDK components.MrBBBaiXue2024-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it much faster to get started with Direct3D 12 builds, as you only need to run `python .\misc\scripts\install_d3d12_sdk_windows.py` then run `scons d3d12=yes`. This installs DirectX Shader Compiler, Mesa NIR, WinPixEventRuntime and DirectX 12 Agility SDK. - Define a default path that uses the locations from the script. - Now the default path is in "%LOCALAPPDATA%\Godot\build_deps\" - Updated CI to use this new python script. Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
* | run Clean in Windows SCsub to clean up debug filesAlex Drozd2023-12-141-0/+16
| |
* | [D3D12] Add missing DLL architecture paths for the 32-bit builds.bruvzg2023-12-131-5/+24
| |
* | Add Direct3D 12 RenderingDevice implementationPedro J. Estébanez2023-12-121-1/+37
|/
* [macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add ↵bruvzg2023-09-211-1/+3
| | | | | | EGL_ANDROID_blob_cache caching. Co-authored-by: Riteo <riteo@posteo.net>
* [Windows] Add main executable to the console wrapper dependencies to prevent ↵bruvzg2023-08-231-0/+1
| | | | simultaneous linking.
* Add console wrapper app to handle console i/o redirection on Windows.bruvzg2022-10-311-0/+25
|
* Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and ↵bruvzg2022-04-281-0/+1
| | | | | | Windows. Implement TextServer word break method.
* Add GLES2 2D renderer + Linux display managerlawnjelly2021-10-301-1/+1
| | | | | | | | | First implementation with Linux display manager. - Add single-threaded mode for EditorResourcePreview (needed for OpenGL). Co-authored-by: clayjohn <claynjohn@gmail.com> Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
* SCons: Fix debug_symbols tests after switch to BoolVariableRémi Verschelde2021-02-081-1/+1
| | | | | | Bug introduced in #45679. Fixes part of #45816.
* Remove `debug_symbols=full` in favor of `debug_symbols=yes`Hugo Locurcio2020-11-091-1/+1
| | | | | | | | `debug_symbols=yes` will now behave like `debug_symbols=full` did before. The difference in compressed file sizes is not that large, which means there isn't much point in having two different values. This helps make the buildsystem easier to understand.
* Add all headers to VS ProjectBartłomiej T. Listwon2020-09-271-3/+3
|
* SCons: Format buildsystem files with psf/blackRémi Verschelde2020-03-301-5/+5
| | | | | | | | | | | | | | | | | | | | | Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
* Separate DisplayServer from OS on WindowsJuan Linietsky2020-03-261-0/+1
|
* Remove incomplete battery status/power APIRémi Verschelde2020-02-141-1/+0
| | | | | | | | | | | It was initially implemented in #5871 for Godot 3.0, but never really completed or thoroughly tested for most platforms. It then stayed in limbo and nobody seems really keen to finish it, so it's better to remove it in 4.0, and re-add eventually (possibly with a different API) if there's demand and an implementation confirmed working on all platforms. Closes #8770.
* Add runtime GLES2 / Vulkan context selection.bruvzg2020-02-111-6/+3
|
* Add static Vulkan loader.bruvzg2020-02-111-1/+5
| | | | | Initial Vulkan support for Windows. Initial Vulkan support for macOS.
* iOS modular build and export implementation.bruvzg2019-12-011-1/+0
|
* Adding a new Camera Server implementation to Godot.BastiaanOlij2019-06-151-0/+1
| | | | | | This is a new singleton where camera sources such as webcams or cameras on a mobile phone can register themselves with the Server. Other parts of Godot can interact with this to obtain images from the camera as textures. This work includes additions to the Visual Server to use this functionality to present the camera image in the background. This is specifically targetted at AR applications.
* Platform: Ensure classes match their header filenameRémi Verschelde2019-02-121-6/+5
| | | | | | | | | | | | | | | | | | | | Also drop some unused files. Renamed: - `platform/iphone/sem_iphone.h` -> `semaphore_iphone.h` (same for `osx`) - `platform/uwp/gl_context_egl.h` -> `context_egl_uwp.h` - in `platform/windows`: `context_gl_win.h`, `crash_handler_win.h`, `godot_win.cpp`, `joypad.h` and `key_mapping_win.h` all renamed to use `windows`. Some classes renamed accordingly too. - `EditorExportAndroid` and `EditorExportUWP` renamed to `EditorExportPlatformAndroid` and `EditorExportPlatformUWP` - `power_android` and `power_osx` renamed to `PowerAndroid` and `PowerOSX` - `OSUWP` renamed to `OS_UWP` Dropped: - `platform/windows/ctxgl_procaddr.h`
* SCons: Build thirdparty code in own env, disable warningsRémi Verschelde2018-09-281-3/+1
| | | | | Also remove unnecessary `Export('env')` in other SCsubs, Export should only be used when exporting *new* objects.
* Initial version of VS natvis fileelasota2018-09-171-0/+1
|
* Fix bad res file include in VS project and simplify a bitelasota2018-09-011-5/+6
|
* Running builder (content generator) functions in subprocesses on WindowsViktor Ferenczi2018-07-271-10/+3
| | | | | | | | | | | | | | | | | | | | | - Refactored all builder (make_*) functions into separate Python modules along to the build tree - Introduced utility function to wrap all invocations on Windows, but does not change it elsewhere - Introduced stub to use the builders module as a stand alone script and invoke a selected function There is a problem with file handles related to writing generated content (*.gen.h and *.gen.cpp) on Windows, which randomly causes a SHARING VIOLATION error to the compiler resulting in flaky builds. Running all such content generators in a new subprocess instead of directly inside the build script works around the issue. Yes, I tried the multiprocessing module. It did not work due to conflict with SCons on cPickle. Suggested workaround did not fully work either. Using the run_in_subprocess wrapper on osx and x11 platforms as well for consistency. In case of running a cross-compilation on Windows they would still be used, but likely it will not happen in practice. What counts is that the build itself is running on which platform, not the target platform. Some generated files are written directly in an SConstruct or SCsub file, before the parallel build starts. They don't need to be written in a subprocess, apparently, so I left them as is.
* PEP3101 applied with changing old type string formatting as new onesBTaskaya2018-02-141-3/+3
|
* Make separate debug symbols opt-inHein-Pieter van Braam2018-01-261-1/+1
| | | | | | | This adds a separate_debug_symbols option to the x11, windows, and osx targets. This will default to adding normal debugging symbols to the artifacts and only splits them when separate_debug_symbols=yes on the Scons command line.
* Rename the debug symbol files to .debugsymbolsHein-Pieter van Braam2017-12-161-2/+2
| | | | Some users were confused by the '.debug' suffix for the symbols.
* Move windows networking class to drivers/windows/Fabio Alessandrelli2017-12-151-3/+0
| | | | | Also rename stream_peer_winsock.* to stream_peer_tcp_winsock.* and StreamPeerWinsock to StreamPeerTCPWinsock.
* Use MinGW specific binutils for debug symbols separationbruvzg2017-12-111-3/+8
|
* disable caching for targets using helper functionsRhody Lugo2017-11-281-2/+1
|
* use the same cache for all branches for appveyorRhody Lugo2017-11-281-2/+3
|
* Merge pull request #11568 from endragor/loggersAndreas Haas2017-10-021-0/+1
|\ | | | | Extract logging logic
| * Extract logging logicRuslan Mustakov2017-09-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously logging logic was scattered over OS class implementations with plenty of duplication. Major changes in this commit: - Extracted logging logic into a separate Logger hierarchy. It allows easy configuration of logging mechanism depending on compile-time or run-time configuration. - Implemented RotatedFileLogger which is usually used with StdLogger, providing persistency of logs. It is often important to be able to obtain logs of the game even in production to be able to understand what happened prior to some problem. On mobile there previously was no way to obtain the logs aside from having the device connected to your machine. - flush() is not performed in release mode for every logged line. It is only performed for errors.