summaryrefslogtreecommitdiffstats
path: root/misc/msvs
Commit message (Collapse)AuthorAgeFilesLines
* Fixed the VS project creationToken Gamedev2024-10-182-5/+5
|
* SCons: Fix output with `vsproj=yes`Thaddeus Crews2024-06-291-4/+1
|
* Ensure all Visual Studio files are generated with CRLFAndreia Gaita2024-04-104-15/+21
|
* Merge pull request #88244 from shana/vs-improve-settingsRémi Verschelde2024-04-081-4/+4
|\ | | | | | | Visual Studio: Don't override user options. Add additional vs hint information
| * VS: Don't override user options. Add additional vs hintsAndreia Gaita2024-02-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Make sure we include any user-specified project settings in our project definitions, this way users can customize their VS environment to more closely match what they're building for, and they better can control debugging and deployment from VS. Add support for setting VS-only compiler defines, include paths, and additional linker options, as a hint to VS to use when loading projects and parsing code. VS would usually know these on non nmake projects, but for nmake projects we have to tell it about any implicit information that the compiler has, so it can resolve symbols in the editor.
* | VS: Fix user workflows with custom user VS configurationsAndreia Gaita2024-02-122-7/+5
|/ | | | | | | | | | | | | | Users can add additional VS project configurations with their own custom settings, but to support this workflow, we can't rely directly on $(Platform) and $(Configuration), because VS needs those to be both unique Configuration|Platform combos, and we need to allow for different combos of Configuration|Platform to point to the same scons build configuration. GodotPlatform and GodotConfiguration properties lets us decouple from the magic VS properties that we don't control, so users can add however many Platform|Configuration combos they want and still point to a specific GodotPlatform|GodotConfiguration build config.
* Add new VS proj generation logic that supports any platform that wants to opt inAndreia Gaita2024-01-314-0/+113
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 ```