mirror of
https://github.com/godotengine/godot
synced 2024-09-05 07:58:39 +00:00
![Andreia Gaita](/assets/img/avatar_default.png)
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 ```
371 lines
5.1 KiB
Plaintext
371 lines
5.1 KiB
Plaintext
# Godot .gitignore config
|
|
#
|
|
# Aims to encompass the most commonly found files that we don't want committed
|
|
# to Git, such as compilation output, IDE specific files, etc.
|
|
#
|
|
# It doesn't cover *all* thirdparty IDE extensions under the sun so if you have
|
|
# specific needs covered here, you can add them to:
|
|
# .git/info/exclude
|
|
#
|
|
# Or contribute them to this file if they're common enough that a good number of
|
|
# users would benefit from the shared rules.
|
|
#
|
|
# This file is organized by sections, with subsections ordered alphabetically.
|
|
# - Build configuration
|
|
# - Godot generated files
|
|
# - General build output
|
|
# - IDE and tool specific
|
|
# - Visual Studio specific
|
|
# - OS specific
|
|
|
|
###########################
|
|
### Build configuration ###
|
|
###########################
|
|
|
|
/custom.py
|
|
misc/hooks/pre-commit-custom-*
|
|
|
|
#############################
|
|
### Godot generated files ###
|
|
#############################
|
|
|
|
# Buildsystem
|
|
bin
|
|
*.gen.*
|
|
compile_commands.json
|
|
platform/windows/godot_res.res
|
|
|
|
# Generated by Godot binary
|
|
.import/
|
|
/gdextension_interface.h
|
|
extension_api.json
|
|
logs/
|
|
|
|
# Generated by unit tests
|
|
tests/data/*.translation
|
|
|
|
############################
|
|
### General build output ###
|
|
############################
|
|
|
|
# C/C++ generated
|
|
*.a
|
|
*.ax
|
|
*.d
|
|
*.dll
|
|
*.lib
|
|
*.lo
|
|
*.o
|
|
*.os
|
|
*.ox
|
|
*.Plo
|
|
*.so
|
|
# Binutils tmp linker output of the form "stXXXXXX" where "X" is alphanumeric
|
|
st[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]
|
|
|
|
# Python development
|
|
.venv
|
|
venv
|
|
|
|
# Python generated
|
|
__pycache__/
|
|
*.pyc
|
|
|
|
# Documentation
|
|
doc/_build/
|
|
|
|
# Android
|
|
.gradle/
|
|
local.properties
|
|
*.iml
|
|
.gradletasknamecache
|
|
project.properties
|
|
platform/android/java/*/.cxx/
|
|
platform/android/java/*/build/
|
|
platform/android/java/*/libs/
|
|
|
|
# iOS
|
|
*.dSYM
|
|
|
|
# Web platform
|
|
*.bc
|
|
platform/web/node_modules/
|
|
|
|
# Misc
|
|
*.debug
|
|
|
|
#############################
|
|
### IDE and tool specific ###
|
|
#############################
|
|
|
|
# Automake
|
|
.deps/*
|
|
.dirstamp
|
|
|
|
# ccls
|
|
.ccls-cache/
|
|
|
|
# clangd
|
|
.clangd/
|
|
.cache/
|
|
|
|
# CLion
|
|
cmake-build-debug
|
|
|
|
# Code::Blocks
|
|
*.cbp
|
|
*.layout
|
|
*.depend
|
|
|
|
# CodeLite
|
|
*.project
|
|
*.workspace
|
|
.codelite/
|
|
|
|
# Cppcheck
|
|
*.cppcheck
|
|
cppcheck-cppcheck-build-dir/
|
|
|
|
# Eclipse CDT
|
|
.cproject
|
|
.settings/
|
|
*.pydevproject
|
|
*.launch
|
|
|
|
# GCOV code coverage
|
|
*.gcda
|
|
*.gcno
|
|
|
|
# Geany
|
|
*.geany
|
|
.geanyprj
|
|
|
|
# Gprof
|
|
gmon.out
|
|
|
|
# Jetbrains IDEs
|
|
.idea/
|
|
.fleet/
|
|
|
|
# Kate
|
|
*.kate-swp
|
|
|
|
# Kdevelop
|
|
*.kdev4
|
|
|
|
# Mypy
|
|
.mypy_cache
|
|
|
|
# Qt Creator
|
|
*.config
|
|
*.creator
|
|
*.creator.*
|
|
*.files
|
|
*.includes
|
|
*.cflags
|
|
*.cxxflags
|
|
|
|
# SCons
|
|
.sconf_temp
|
|
.sconsign*.dblite
|
|
.scons_env.json
|
|
.scons_node_count
|
|
|
|
# Sourcetrail
|
|
*.srctrl*
|
|
|
|
# Tags
|
|
# https://github.com/github/gitignore/blob/master/Global/Tags.gitignore
|
|
# Ignore tags created by etags, ctags, gtags (GNU global) and cscope
|
|
TAGS
|
|
!TAGS/
|
|
tags
|
|
*.tags
|
|
!tags/
|
|
gtags.files
|
|
GTAGS
|
|
GRTAGS
|
|
GPATH
|
|
cscope.files
|
|
cscope.out
|
|
cscope.in.out
|
|
cscope.po.out
|
|
|
|
# Vim
|
|
*.swo
|
|
*.swp
|
|
|
|
# Visual Studio Code
|
|
.vscode/
|
|
*.code-workspace
|
|
.history/
|
|
|
|
# Xcode
|
|
xcuserdata/
|
|
*.xcscmblueprint
|
|
*.xccheckout
|
|
*.xcodeproj/*
|
|
|
|
##############################
|
|
### Visual Studio specific ###
|
|
##############################
|
|
|
|
# https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
|
# Ignore Visual Studio temporary files, build results, and
|
|
# files generated by popular Visual Studio add-ons.
|
|
|
|
# Actual VS project files we don't use
|
|
*.sln
|
|
*.vcxproj*
|
|
|
|
# User-specific files
|
|
*.rsuser
|
|
*.suo
|
|
*.user
|
|
*.userosscache
|
|
*.sln.docstates
|
|
|
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
|
*.userprefs
|
|
|
|
# Build results
|
|
[Dd]ebug/
|
|
[Dd]ebugPublic/
|
|
[Rr]elease/
|
|
[Rr]eleases/
|
|
x64/
|
|
x86/
|
|
|
|
[Ww][Ii][Nn]32/
|
|
[Aa][Rr][Mm]/
|
|
[Aa][Rr][Mm]64/
|
|
bld/
|
|
[Bb]in/
|
|
[Oo]bj/
|
|
[Ll]og/
|
|
[Ll]ogs/
|
|
|
|
# Do not ignore arch-specific folders anywhere under thirdparty libraries
|
|
!thirdparty/**/x64/
|
|
!thirdparty/**/x86/
|
|
!thirdparty/**/arm/
|
|
!thirdparty/**/arm64/
|
|
|
|
# Visual Studio 2015/2017 cache/options directory
|
|
.vs/
|
|
|
|
# Visual Studio 2017 auto generated files
|
|
Generated\ Files/
|
|
|
|
# Files built by Visual Studio
|
|
*_i.c
|
|
*_p.c
|
|
*_h.h
|
|
*.ilk
|
|
*.meta
|
|
*.obj
|
|
*.iobj
|
|
*.pch
|
|
*.pdb
|
|
*.ipdb
|
|
*.pgc
|
|
*.pgd
|
|
*.rsp
|
|
*.sbr
|
|
*.tlb
|
|
*.tli
|
|
*.tlh
|
|
*.tmp
|
|
*.tmp_proj
|
|
*_wpftmp.csproj
|
|
*.log
|
|
*.tlog
|
|
*.vspscc
|
|
*.vssscc
|
|
.builds
|
|
*.pidb
|
|
*.svclog
|
|
*.scc
|
|
|
|
# Visual C++ cache files
|
|
ipch/
|
|
*.aps
|
|
*.ncb
|
|
*.opendb
|
|
*.opensdf
|
|
*.sdf
|
|
*.cachefile
|
|
*.VC.db
|
|
*.VC.VC.opendb
|
|
|
|
# Visual Studio profiler
|
|
*.psess
|
|
*.vsp
|
|
*.vspx
|
|
*.sap
|
|
|
|
# Visual Studio Trace Files
|
|
*.e2e
|
|
|
|
# ReSharper is a .NET coding add-in
|
|
_ReSharper*/
|
|
*.[Rr]e[Ss]harper
|
|
*.DotSettings.user
|
|
|
|
# Visual Studio cache files
|
|
# files ending in .cache can be ignored
|
|
*.[Cc]ache
|
|
|
|
# Others
|
|
ClientBin/
|
|
enc_temp_folder/
|
|
~$*
|
|
*.dbmdl
|
|
*.dbproj.schemaview
|
|
*.jfm
|
|
*.pfx
|
|
*.publishsettings
|
|
orleans.codegen.cs
|
|
|
|
# Backup & report files from converting an old project file
|
|
# to a newer Visual Studio version. Backup files are not needed,
|
|
# because we have git ;-)
|
|
_UpgradeReport_Files/
|
|
Backup*/
|
|
UpgradeLog*.XML
|
|
UpgradeLog*.htm
|
|
ServiceFabricBackup/
|
|
*.rptproj.bak
|
|
|
|
# Hint file for IntelliSense
|
|
cpp.hint
|
|
|
|
###################
|
|
### OS specific ###
|
|
###################
|
|
|
|
# Linux
|
|
*~
|
|
.directory
|
|
|
|
# macOS
|
|
.DS_Store
|
|
__MACOSX
|
|
|
|
# Windows
|
|
# https://github.com/github/gitignore/blob/main/Global/Windows.gitignore
|
|
[Tt]humbs.db
|
|
[Tt]humbs.db:encryptable
|
|
ehthumbs.db
|
|
ehthumbs_vista.db
|
|
*.stackdump
|
|
[Dd]esktop.ini
|
|
$RECYCLE.BIN/
|
|
*.cab
|
|
*.msi
|
|
*.msix
|
|
*.msm
|
|
*.msp
|
|
*.lnk
|
|
*.generated.props
|