summaryrefslogtreecommitdiffstats
path: root/platform/windows/detect.py
Commit message (Collapse)AuthorAgeFilesLines
* Replace HTTP links with HTTPS for sites with HTTPS versionsAaron Franke2021-08-221-1/+1
|
* Use "volk" instead of statically linked Vulkan loader.bruvzg2021-08-121-6/+2
|
* Windows: Fix build with SCons 4.2.0Rémi Verschelde2021-08-011-1/+1
|
* Remove unnecessary 'pass' statementluz paz2021-07-251-1/+0
| | | ref: https://lgtm.com/projects/g/godotengine/godot/?mode=tree&ruleFocus=910088
* Merge pull request #46966 from qarmin/faster_releaseRémi Verschelde2021-03-201-4/+6
|\ | | | | Allow to not optimize release build
| * Allow to not optimize release buildRafał Mikrut2021-03-141-4/+6
| |
* | Add `use_asan` option for MSVC to enable AddressSanitizerAndrii Doroshenko (Xrayez)2021-03-121-0/+7
|/ | | | | | | Exposes AddressSanitizer support in MSVC compiler. Can be installed via individual components in the Visual Studio 2019 Installer. Disabled by default. Compile the engine with `scons use_asan=yes`.
* Use /Zi and /FS for including debugger symbols on Windows with MSVCBastiaan Olij2021-02-091-2/+3
|
* SCons: Fix debug_symbols tests after switch to BoolVariableRémi Verschelde2021-02-081-3/+3
| | | | | | Bug introduced in #45679. Fixes part of #45816.
* SCons: Add `production=yes` option to use production defaultsRémi Verschelde2021-02-031-1/+1
| | | | | | | | | | | | | | | | | | | This is meant for users making custom builds to match the options used on optimized, official builds. This enables, on the platforms which support them: - `use_static_cpp=yes` (portable binaries for Linux and Windows) - `use_lto=yes` (link time optimizations - note: requires a lot of RAM!) - `debug_symbols=no` (no debug symbols, smaller binaries) Also abort when using MSVC with `production=yes`, as: - It cannot optimize the GDScript VM like GCC or Clang do, leading to significant performance drops. - Its LTO support is unreliable, at least used to trigger crashes last we tried it extensively. All options can still be overridden if specified, and the `dev=yes` option was changed to also support overrides.
* SCons: Add only selected platform's opts to envRémi Verschelde2020-12-161-3/+1
| | | | | | | | | | | Otherwise we can get situations where platform-specific opts with the same name can override each other depending on the order at which platforms are parsed, as was the case with `use_static_cpp` in Linux/Windows. Fixes #44304. This also has the added benefit that the `scons --help` output will now only include the options which are relevant for the selected (or detected) platform.
* Don't handle BaseException in build scriptsMarcel Admiraal2020-12-121-1/+1
|
* Add 'use_static_cpp' option for MinGW and MSVC buildsLyubomir Vasilev2020-12-031-5/+12
|
* SCons: Remove unnecessary $LINK overridesRémi Verschelde2020-11-191-4/+3
| | | | | | | | | | As of SCons 4.0.1, the default value for $LINK is $SMARTLINK, which itself is a function that will use $CXX as linker for C++: https://github.com/SCons/scons/blob/4.0.1/SCons/Tool/link.py#L327-L328 https://github.com/SCons/scons/blob/4.0.1/SCons/Tool/link.py#L54-L76 So we don't need to manually specify the same value as $CXX for $LINK.
* Remove `debug_symbols=full` in favor of `debug_symbols=yes`Hugo Locurcio2020-11-091-6/+2
| | | | | | | | `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.
* [Windows, MSVC] Correctly set source file encoding.bruvzg2020-10-091-1/+1
|
* SCons: Refactor and cleanup warnings definitionRémi Verschelde2020-10-081-2/+2
|
* SCons: Add windows_subsystem=default, restores original behaviorRémi Verschelde2020-10-061-1/+14
| | | | | | We want debug builds to have a console and easy stdout redirection by default. Windows makes reading the stdout/stderr stream from gui applications too cumbersome (and most users don't know about it, and just wonder why they don't see a thing).
* Fix typos with codespellRémi Verschelde2020-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using codespell 1.17.1. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
* Only display the Windows toggle console option if it can actually be usedHugo Locurcio2020-09-141-0/+2
|
* Add Windows Subsystem build option.bruvzg2020-08-171-5/+16
|
* Revert "[Windows] Attach to parent console instead of creating new one."bruvzg2020-08-171-4/+5
| | | | This reverts commit 4f7a49db53c6aaabeca70fe8901144af708fb6b2.
* [Windows] Attach to parent console instead of creating new one.bruvzg2020-08-111-5/+4
|
* CI: Install master version of psf/blackRémi Verschelde2020-07-261-1/+3
| | | | | | | Until https://github.com/psf/black/pull/1328 makes it in a stable release, we have to use the latest from Git. Apply new style fixes done by latest black.
* SCons: Remove unused DEBUG_MEMORY_ENABLED defineRémi Verschelde2020-07-231-2/+2
| | | | | | | Its last use was removed in Godot 3.0, so it no longer makes sense to define. Also removed `D3D_DEBUG_INFO` for Windows as it's likely a left over from a long time ago pre-opensourcing when Godot had some form of Direct3D 9 support?
* SCons: Format buildsystem files with psf/blackRémi Verschelde2020-03-301-186/+239
| | | | | | | | | | | | | | | | | | | | | 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.
* Make stack size on Windows match Linux and MacOSPedro J. Estébanez2020-03-171-0/+6
|
* SCons: Streamline Vulkan buildsystem + fixupsRémi Verschelde2020-02-111-6/+4
| | | | | | | | | | | - Renamed option to `builtin_vulkan`, since that's the name of the library and if we were to add new components, we'd likely use that same option. - Merge `vulkan_loader/SCsub` in `vulkan/SCsub`. - Accordingly, don't use built-in Vulkan headers when not building against the built-in loader library. - Drop Vulkan registry which we don't appear to need currently. - Style and permission fixes.
* Add runtime GLES2 / Vulkan context selection.bruvzg2020-02-111-18/+17
|
* Add static Vulkan loader.bruvzg2020-02-111-5/+29
| | | | | Initial Vulkan support for Windows. Initial Vulkan support for macOS.
* SCons: Split libmodules.a in folder-based libsRémi Verschelde2020-02-071-6/+1
| | | | | This removes the need for the hacky split_libmodules logic on Windows, since all libs are now of manageable size.
* SCons: Add 'split_libmodules' option to workaround linker issueRémi Verschelde2019-12-111-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | The new 'split_libmodules=yes' option is useful to work around linker command line size limitations when linking a huge number of objects. We're currently over 64k chars when linking libmodules.a on Windows with MinGW, which triggers issues as seen in #30892. Even on Linux, we can also reach linker command line size limitations by adding more custom modules. We force this option to True for MinGW on Windows, which fixes #30892. Additional changes to lib splitting: - Fix linking of the split module libs with interdependent symbols, hacking our way into LINKCOM and SHLINKCOM to set the `--start-group` and `--end-group` flags. - Fix Python 3 compatibility in `methods.split_lib()`. - Drop seemingly obsolete condition for 'msys' on 'posix'. - Drop the unnecessary 'split_drivers' as the drivers lib is no longer too big since we moved all thirdparty builds to modules. Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
* Added support for vertical syncing via the Windows OS compositor (DWM.)TerminalJack2019-12-041-2/+3
|
* Specify MINGW_HAS_SECURE_API=1Yeongho Kim2019-10-251-1/+1
|
* Add "llvm/thinlto" options to MinGW build.bruvzg2019-10-221-8/+26
|
* SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor definesRémi Verschelde2019-07-031-8/+5
| | | | | | | | It's the recommended way to set those, and is more portable (automatically prepends -D for GCC/Clang and /D for MSVC). We still use CPPFLAGS for some pre-processor flags which are not defines.
* SCons: Always use env.Prepend for CPPPATHRémi Verschelde2019-04-301-3/+3
| | | | | | Include paths are processed from left to right, so we use Prepend to ensure that paths to bundled thirdparty files will have precedence over system paths (e.g. `/usr/include` should have lowest priority).
* SCons: Review uses of CCFLAGS, CXXFLAGS and CPPFLAGSRémi Verschelde2019-04-241-7/+10
| | | | | | | | | | | | | | | | | | | | | | | Many contributors (me included) did not fully understand what CCFLAGS, CXXFLAGS and CPPFLAGS refer to exactly, and were thus not using them in the way they are intended to be. As per the SCons manual: https://www.scons.org/doc/HTML/scons-user/apa.html - CCFLAGS: General options that are passed to the C and C++ compilers. - CFLAGS: General options that are passed to the C compiler (C only; not C++). - CXXFLAGS: General options that are passed to the C++ compiler. By default, this includes the value of $CCFLAGS, so that setting $CCFLAGS affects both C and C++ compilation. - CPPFLAGS: User-specified C preprocessor options. These will be included in any command that uses the C preprocessor, including not just compilation of C and C++ source files [...], but also [...] Fortran [...] and [...] assembly language source file[s]. TL;DR: Compiler options go to CCFLAGS, unless they must be restricted to either C (CFLAGS) or C++ (CXXFLAGS). Preprocessor defines go to CPPFLAGS.
* Fixes build for Windows cross-compilationKenneth Lee2019-04-231-1/+1
| | | | Fixes #28299
* Ignore '/utf-8' flag on vs2013Windy Darian2019-04-151-1/+3
|
* Force utf-8 source file encoding in MSVCWindy Darian2019-04-101-1/+1
| | | | On Windows, when "Language for non-Unicode programs" were set to "Japanese (Japan)", MSVC would by default use Shift JIS (code page 932) to interpret source files, which would result in test_string failing to compile because of characters in `test_34()`. Forcing utf-8 for MSVC fixes the issue
* Remove unused importsHendrikto2019-04-061-1/+0
|
* Drop RtAudio driver on WindowsRémi Verschelde2019-02-201-3/+3
| | | | | | | | | | | | We've been defaulting to WASAPI since 3.0 and it's superior to RtAudio in all aspects. Obsoletes and closes #25503. Also enable WINMIDI on MinGW, this had been missed initially. Fix os_windows.cpp and crash_handler_windows.cpp which had weird dependencies on RtAudio.h's includes (ugh).
* Fix compiling with use_mingw flag on WindowsMarcelo Fernandez2019-02-191-2/+2
|
* Set WINVER and _WIN32_WINNT values in VS projectMarcin Zawiejski2019-01-221-2/+2
| | | | | While looking into a different issue, I've noticed that Visual Studio Intellisense does not work well for Godot project when using Windows Vista+ APIs (e.g. CreateThreadpool), i.e. it does not recognise the APIs because they are defined in Windows header files for Vista+ only. This is because the WINVER and _WIN32_WINNT symbols don't have their values set in the generated Godot project file. This fixes the problem by setting the values when generating the project file.
* Raised executable priority on windows to avoid stuter, helps #25162Juan Linietsky2019-01-221-2/+2
|
* SCons: Properly set bits variable as string for MSVC detectionRémi Verschelde2018-12-041-2/+2
|
* Remove trailing whitespaceRémi Verschelde2018-11-201-2/+2
| | | | | With `sed -i $(rg -l '[[:blank:]]*$' -g'!thirdparty') -e 's/[[:blank:]]*$//g'` (+ manual revert of some thirdparty code under `platform/android`).
* Fix libwebsockets 32-bits UWP builds.Fabio Alessandrelli2018-09-131-2/+2
| | | | Also fix bogus windows detect.py
* SCons: Disable min/max WinDef.h macros on MSVCRémi Verschelde2018-08-241-0/+1
| | | | Fixes #21370.