Commit graph

453 commits

Author SHA1 Message Date
Rémi Verschelde
c6c13eb8fc Merge pull request #6490 from zaps166/webm-pr
Add WebM support
2016-10-30 18:12:00 +01:00
Rémi Verschelde
1944635ac4 Merge pull request #6959 from RandomShaper/fix-big-libs
Adopt simpler strategy for big libs on Windows
2016-10-30 17:35:37 +01:00
Rémi Verschelde
e34a5324c8 scons: Move lib splitting method to methods.py
Apparently it might still be necessary for some console ports.
2016-10-30 17:04:07 +01:00
yg2f
f7773d499d fix bug introduced by #6501
( @Akien : this PR is for current HEAD only, not to be cherry-picked for 2.1.1 )

this is manual revertion of #6501 which introduced a bug that prevented
scons from detecting Mingw under Windows when MSVC was installed.
(thanks to @vnen for finding this)

AND
it fixes the actual bug that prevented scons from detecting MSVC standalone
compiler ( a confusions between ``VSINSTALLDIR`` and ``VCINSTALLDIR`` )

The freeware Standalone MSVC C++ Build Tools are available here :
http://landinghub.visualstudio.com/visual-cpp-build-tools
2016-10-26 19:29:30 +02:00
Błażej Szczygieł
d710b265f8 Add WebM module
Use already existing libraries: libvorbis and libopus. Also use newly
added libraries: libvpx, libwebm, libsimplewebm.
2016-10-23 02:46:06 +02:00
Błażej Szczygieł
ace18d28d2 "CCFLAGS" are for C and C++ compiler 2016-10-22 17:28:10 +02:00
Rémi Verschelde
ad07b31353 Merge pull request #6881 from vnen/msvc-project-output
Fix output binary paths for VS project generation
2016-10-22 13:07:37 +02:00
Rémi Verschelde
ee6c5c5c23 Merge pull request #6858 from zaps166/gcc-color-output
SCons: Use colored output if available, change "colored"->"verbose"
2016-10-22 12:59:45 +02:00
Rémi Verschelde
3dd405c517 Merge pull request #6857 from zaps166/disable-asserts-in-release
Disable asserts in release mode
2016-10-22 12:55:21 +02:00
George Marques
c8093678a0
Fix output binary paths for VS project generation 2016-10-20 19:02:10 -02:00
Rémi Verschelde
c23e8797f1 Merge pull request #6855 from vnen/xaudio2-driver
Isolate XAudio2 driver
2016-10-18 07:22:10 +02:00
George Marques
f3102160a1
Isolate XAudio2 driver
Now it's possible to compile for Windows platform if wanted. It's
supported only for Windows 8 or later, so it's not enabled by default.
2016-10-17 20:42:12 -02:00
Błażej Szczygieł
2bf4553fe0 SCons: Use colored output if available, change "colored"->"verbose" 2016-10-17 22:40:14 +02:00
Błażej Szczygieł
639ea563e0 Disable asserts in release mode 2016-10-17 20:31:01 +02:00
Rémi Verschelde
e96c49f849 Merge pull request #6850 from akien-mga/pr-scsub-shebang
SCsub: Add python shebang as a hint for syntax highlighting
2016-10-17 20:13:18 +02:00
Rémi Verschelde
fc8ccd5b8c SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Błażej Szczygieł
4ffa8f224d Theora: Don't compile unnecessary files, rename "x86_opt_*" 2016-10-16 22:31:27 +02:00
Rémi Verschelde
edbc0c0d0b freetype: Make it a module and split thirdparty library
Comment out the weird workaround for building on Windows at it might
not be needed anymore. Testing needed to confirm.
2016-10-15 18:10:17 +02:00
Rémi Verschelde
cbf52606f4 zlib: Split thirdparty files, simplify scons option 2016-10-15 12:20:47 +02:00
Rémi Verschelde
36738ddda4 glew: Split thirdparty files and isolate env
Not fully happy about the way this one interacts with the various
platforms. Maybe the platform_config.h should be generated by the
SCsub instead of passing a define just to know where is the header.
2016-10-15 12:01:28 +02:00
Rémi Verschelde
8311a78df5 squish: Move to a module and split thirdparty lib 2016-10-15 12:01:28 +02:00
Rémi Verschelde
5c12c9e69b mpc: Move to a module and split thirdparty libmpcdec 2016-10-15 11:50:42 +02:00
Rémi Verschelde
cfcc8a20e8 theora: Move to a module and split thirdparty lib
Same rationale as the previous commits.
2016-10-15 11:50:41 +02:00
Rémi Verschelde
422196759f openssl: Move to a module and split thirdparty lib
Same rationale as the previous commits.
2016-10-15 11:50:41 +02:00
Rémi Verschelde
d9a291f641 ogg/vorbis/opus: Make them modules and unbundle thirdparty libs
Took the opportunity to undo the Godot changed made to the
opus source. The opus module should eventually be built in its
own environment to avoid polluting others with too many include
dirs and defines.

TODO: Fix the platform/ stuff for opus.
2016-10-15 11:50:40 +02:00
Rémi Verschelde
ee3cf211c6 webp: Make it a module and unbundle libwebp thirdparty files
Note that there are two Godot-specific changes made to libwebp
for the javascript/HTML5 platform. They are documented in the
README.md.
2016-10-15 11:50:39 +02:00
Rémi Verschelde
b1e8889d96 dds/etc1/pbm/pvr: Make those modules and split thirdparty files
They are not particularly packaged in Linux distros so we do not
facilitate unbundling via SCons. There could be done if/when there
is interest.

Also s/pnm/pbm/, long-lived typo :)
2016-10-15 11:50:39 +02:00
Rémi Verschelde
c31ad71f10 enet: Split enet thirdparty files and allow unbundling
Building against shared libraries only implemented for Linux X11 so far.
TODO: Document Godot's modifications of upstream enet.
2016-10-15 11:50:39 +02:00
Rémi Verschelde
16ba665db6 jpg: Make it a module and split jpgd thirdparty files
Similar rationale as in previous commit.
2016-10-15 11:50:39 +02:00
Rémi Verschelde
5fef84a135 png: Split library to thirdparty dir and allow unbundling
Uses the new structure agreed upon in #6157, but the thirdparty/ folder
does not behave following a logic similar to that of modules/ yet.

The png driver can't be moved to a module as discussed in #6157, as it's
required by core together with a few other ImageLoader implementations
(see drivers/register_driver_types.cpp:register_core_driver_types())

Dropped the possibility to disable PNG support, it's a core component
of Godot.
2016-10-15 11:50:39 +02:00
Rémi Verschelde
d3d0507c05 Remove speex support, it is obsoleted by opus
As mentioned by upstream, Xiph.Org [0]:
> The Speex codec has been obsoleted by Opus. It will continue to be
> available, but since Opus is better than Speex in all aspects,
> users are encouraged to switch.

[0] http://www.speex.org/
2016-10-13 18:58:56 +02:00
George Marques
4bdbafabce
Fix Android build detection on Windows 2016-10-09 16:23:27 -03:00
Juan Linietsky
22d83bc9f6 Begining of GLES3 renderer:
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00
Rémi Verschelde
9fce85f9d7 Merge pull request #6501 from SuperUserNameMan/windows_compile_with_standalone_msvc
scons detects standalone MSVC on Windows
2016-10-03 11:36:44 +02:00
Emmanuel Leblond
cfd17de230 Add CC parameter to allow use of custom C compiler 2016-09-25 11:58:54 +02:00
yg2f
663d4ee7de scons detects standalone MSVC on Windows
Under Windows, Scons is now capable of detecting and compiling with
standalone MSVC compilers (aka "Visual C++ Build Tools").
http://landinghub.visualstudio.com/visual-cpp-build-tools

Tried with version 2015, and native x86 and x64 compilers under
Windows 10 pro 64 and Windows 8.1 64, with the default Win8 SDK
provided by the "Visual C++ Build Tools" web-installer.

Follow the same compiling instructions than for compiling with Visual
Studio, except that Visual Studio is no more required.

KNOWN ISSUES :
- ``methods.detect_visual_c_compiler_version()`` will emit a warning message
on computers where the ``VSINSTALLDIR`` environement variable is not present.
But it should compile just fine and still automatically detects the 32 or
64 bits according to the compiler you picked.

TODO :
- eventually, update ``platform/winrt/dectet.py`` with function
``methods.msvc_is_detected()`` and try to compile winrt/UWP with
these standalone compilers (if you did not select Win10 SDK when
installing the standalone tools, you can run it again).
- update doc to make users aware of "Visual C++ Build Tools" aka
"stadalone MSVC".
- eventually, update ``methods.detect_visual_c_compiler_version()``
2016-09-16 11:17:57 +02:00
volzhs
40d3234304 Add android_add_default_config for config.py
usage : env.android_add_default_config("applicationId 'com.godot.game'")
2016-07-07 04:03:50 +09:00
Juan Linietsky
5065e46381 Change method of storing folding, solves problems with inheritance, closes #3395 2016-06-28 13:10:15 -03:00
Juan Linietsky
fb9d1498bf Cleaner way to enable ptrcall 2016-06-26 11:59:25 -03:00
Ariel Manzur
10c512e46d added "arch" parameter, made iphone use it to build isim 2016-06-23 07:41:54 +02:00
Juan Linietsky
94a6ff3d7a -make freetype build for all platforms the same, default as builtin except on x11.
closes #5119
2016-06-09 21:28:07 -03:00
Pedro J. Estébanez
ad0af9d273 Keep the default environment variables as set by SCons 2016-06-06 13:49:28 +02:00
Aleksandar Danilovic
ca876191e5 Fix MS Visual Studio build settings
NMake was not setup by the vsproj=yes compilation
parameter. After attempting other possible options,
this is the best fix for our current requirements.
Compiling via NMake is implementing an alternative
to SCons, so this fix escapes out of NMake
environment while also supporting different target
builds and IDE error list integration.

Also sets -j setting to 2 so that it's easy for
people to change it to a propper value and speed it
up a bit for those that do not.

Adds two missing .gitignore Visual Studio temp files
present in Visual Studio's .gitignore.
2016-05-28 17:15:12 +02:00
marcelofg55
eeb83982e2 Added 'fat' option for bits param on scons for osx, this will produce a fat binary that contains both 32 bits and 64 bits binaries 2016-05-20 17:31:30 -03:00
Ariel Manzur
baaa74f215 cloning env for builtin_openssl _and_ openssl :) 2016-05-06 22:43:22 -03:00
Rémi Verschelde
f938793e78 Ignore invalid folders in platform
Fixes #4479
2016-04-29 18:58:37 +02:00
Rémi Verschelde
0a5472e697 Remove trailing spaces 2016-04-02 20:26:12 +02:00
Maxwell Huang-Hobbs
32391ffd73 inherit PKG_CONFIG_PATH from environment 2016-03-30 10:44:58 -04:00
Juan Linietsky
caddcca4f4 -Many fixes to windows build system with Mingw on Windows. Fixes #2690 2016-01-25 00:21:04 -03:00
Juan Linietsky
401622cc22 -Removed ANT build system for Android, as it was deprecated by Google
-Added new Gradle build system, as it is the required build system
2016-01-08 13:36:44 -03:00
Juan Linietsky
eff81965af Merge pull request #2956 from est31/add_system_wide_export_path
Add way to look for templates at system wide level too
2015-12-08 17:04:24 -03:00
Juan Linietsky
da113fe40d -Upgraded webp to a MUCH newer version. Hoping it fixes some bugs in the process. Keeping old version just in case for now.
-Added ability to convert xml and tscn scenes to binary on export, makes loading of larger scenes faster
2015-12-04 10:18:28 -03:00
est31
e1d02e4831 Make the setting unix-only.
For this, put the detection into the OS class and its subclass.
2015-11-30 02:35:59 +01:00
est31
15f6d3cebf Add way to look for templates at system wide level too
Useful for everybody wanting to package godot.
Fixes #1026.

-> Retain the old behaviour: path in error msg only when exporting.
-> User templates override system templates
2015-11-30 01:36:08 +01:00
Juan Linietsky
b987d2113b 0theora compilation fixes 2015-11-25 00:28:03 -03:00
Juan Linietsky
ccd40f76e8 -work in progress resourceparser and .tscn parser. Still non-functional
-fixed theora so it can compile theoralib but not theora
-fixed generation of windows icon in .rc, which didn't previously work in 32 bits
2015-11-24 10:42:05 -03:00
Juan Linietsky
dd09215c90 Revert "libao audio driver" 2015-11-19 20:05:26 -03:00
Juan Linietsky
43ce972ddb Merge pull request #903 from a12n/libao
libao audio driver
2015-11-19 19:31:56 -03:00
Anton Yabchinskiy
3b9868d2e4 Merge branch 'master' of github.com:okamstudio/godot 2015-11-02 20:25:01 +03:00
Rémi Verschelde
399b1b0474 Cosmetic fixes to SCons buildsystem
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39)
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00
George Marques
6e87314d83
Add support for Opus audio format 2015-10-02 14:25:38 -03:00
Juan Linietsky
700fdf5c0c fix build issue with ssl, closes #2384 2015-08-23 20:54:13 -03:00
Anton Yabchinskiy
dc8df8a91a Merge branch 'master' of github.com:okamstudio/godot 2015-07-29 23:01:36 +03:00
PeaceSells
9983ceecf2 Fixes compile bug for Android template on Windows. 2015-07-24 13:12:23 -06:00
Peace Sells
6edbab0a9f Setting build vs properties in scons. 2015-06-21 14:21:24 -06:00
Antony Jones
2a4da03f10 Added Visual Studio project generation. Use "vsproj=yes" in command line. This does not set up NMAKE properly. 2015-05-03 15:18:56 -06:00
Juan Linietsky
b135cdbf05 Merge pull request #1531 from vkbsb/h5_canvas_polygon_fix
H5 canvas polygon fix
2015-04-07 20:22:58 -03:00
yg2f
7ea3482c38 add scons extra suffix option
makes it possible to add a custom extra suffix to the base filename of
all generated binary files.

example :
scons p=windows extra_suffix=yourBranchName
or
scons p=windows bits=32 extra_suffix=v20150401_1642
or
scons p=windows extra_suffix=msvc2010_git20150401
2015-04-01 17:04:41 +02:00
V.VamsiKrishna
beab10ab9b Revert "Revert "Missed some things in prev commit.""
This reverts commit 2e59788aa9.
2015-03-20 11:48:21 +05:30
V.VamsiKrishna
eb3c88b3dd Revert "Revert "Removing etc1 from build for javascript platform.""
This reverts commit 9965e93f7e.
2015-03-20 11:47:56 +05:30
V.VamsiKrishna
2e59788aa9 Revert "Missed some things in prev commit."
This reverts commit d3280f91a1.
2015-03-20 11:12:59 +05:30
V.VamsiKrishna
9965e93f7e Revert "Removing etc1 from build for javascript platform."
This reverts commit 41b729ccff.
2015-03-20 11:12:13 +05:30
V.VamsiKrishna
d3280f91a1 Missed some things in prev commit. 2015-03-20 11:06:28 +05:30
V.VamsiKrishna
41b729ccff Removing etc1 from build for javascript platform.
Based on inputs from reduz
1) Made etc1 optional driver and default yes.
2) Reverted the hack in rg_etc1.cpp
3) Disabled etc1 for javascript plaform.
2015-03-20 10:18:13 +05:30
Anton Yabchinskiy
43713810de Merge branch 'master' of https://github.com/okamstudio/godot 2015-03-10 11:44:40 +03:00
Juan Linietsky
4d2198110b merges from okam repo 2015-03-03 14:39:13 -03:00
Anton Yabchinskiy
fa38e9b838 Merge branch 'master' of github.com:okamstudio/godot 2015-01-17 18:27:08 +03:00
hurikhan
f9a4e6890b SCons: colored compilation 2015-01-12 12:54:17 +08:00
Anton Yabchinskiy
a7875c586a Merge branch 'master' of github.com:okamstudio/godot 2015-01-05 23:56:24 +03:00
Juan Linietsky
6b5b95bb4e -added new code completion guess locations, closes #1032
-moved commandline fix to mingw-only, should fix #1064
2015-01-03 13:03:13 -03:00
Lee Zher Huei
645a038568 Fix for MinGW compilation 2014-12-27 16:42:37 +00:00
Anton Yabchinskiy
d45be7d9f4 Merge branch 'master' of http://github.com/okamstudio/godot 2014-12-04 16:35:00 +03:00
Thomas Sigurdsen
c981f5409f Remove multiprocessing from imports in SConstruct
Rationale: unused import, also prevented scons from building on my
setup.
2014-12-03 17:36:29 +01:00
Anton Yabchinskiy
05f6c73020 Add 'ao' build option 2014-11-22 13:37:40 +03:00
Juan Linietsky
e82dc40205 -Much improvement to baked light baker
-Fixed many bugs in stretch mode
-Fixes to camera project and unproject as consequence of the above
-added setget to script (documented in script doc)
-more fixes to collada exporter for blender
2014-10-27 22:54:32 -03:00
Juan Linietsky
0fa94a9690 Build System Changes
-=-=-=-=-=-=-=-=-=-=

Build System:
-Big clean up of SCons, changed how builds are done to a much cleaner method (check the Github Wiki for instructions).
-Deactivated BlackBerry10 (sorry), if no mantainer found (or BlackBerry does not send us a Passort ;), platform will be removed as we have no longer devices to test.

Engine:
-Removed deprecated object and scene format (was in there just for compatibility, not in use since a long time).
-Added ability to open scenes even if a node type was removed (will try to guess the closest type).
-Removed deprecated node types.
2014-10-07 01:31:49 -03:00
Juan Linietsky
1a2cb755e2 3D Physics and Other Stuff
-=-=-=-=-=-=-=-=-=-=-=-=-=

-New Vehicle (Based on Bullet's RaycastVehicle) - Vehiclebody/VehicleWheel. Demo will come soon, old vehicle (CarBody) will go away soon too.
-A lot of fixes to the 3D physics engine
-Added KinematicBody with demo
-Fixed the space query API for 2D (demo will come soon). 3D is WIP.
-Fixed long-standing bug with body_enter/body_exit for Area and Area2D
-Performance variables now includes physics (active bodies, collision pairs and islands)
-Ability to see what's inside of instanced scenes!
-Fixed Blend Shapes (no bs+skeleton yet)
-Added an Android JavaClassWrapper singleton for using Android native classes directly from GDScript. This is very Alpha!
2014-09-02 23:13:40 -03:00
Juan Linietsky
678948068b Small Issues & Maintenance
-=-=-=-=-=-=-=-=-=-=-=-=-=

-Begin work on Navigation Meshes (simple pathfinding for now, will improve soon)
-More doc on theme overriding
-Upgraded OpenSSL to version without bugs
-Misc bugfixes
2014-08-01 22:10:38 -03:00
Juan Linietsky
9b8696d3dd Light Baker!
-=-=-=-=-=-=

-Support for lightmap baker, have fun figuring out how it works before tutorial is published.
2014-06-11 10:41:03 -03:00
Juan Linietsky
6572d51288 -Fixes to OpenSSL compilation (more)
-Fix bug in GDScript, now static functions can call static functions.
2014-05-01 11:34:10 -03:00
Juan Linietsky
87f37bc5a3 -Added OpenSSL and HTTPS support
-Built-in version of the library for Windows, Android and iOS (other OSs use system one)
-Small fixes all around
2014-04-28 21:56:43 -03:00
marynate
7ca064c3d1 Set multi-jobs build option defaul to no 2014-03-17 11:43:43 +08:00
Moritz Wundke
f1b1a38af9 Do not set number of jobs if already specified 2014-03-08 18:50:24 +01:00
Moritz Wundke
1fd08ad1ac Fixed typo 2014-03-07 20:31:17 +01:00
Moritz Wundke
12a3989cd7 Speed build time up by 6 using multiple jobs
Adding aggresive build mode that spawns num_core+1 jobs. This speeds up
build time by 6. On my 8 core machine I'm down from 6m:16s to 1m:34s.
2014-03-07 20:20:06 +01:00
okamstudio
a9aae3000f Merge pull request #133 from vinzenz/master
More fixes to the build system
2014-02-26 11:18:44 -02:00
C4NCER
942f14747b Switch from using deprecated Options class to Variables 2014-02-25 19:33:09 +13:00
Juan Linietsky
4b07eb8deb -moved script to modules 2014-02-24 09:53:33 -03:00
Vinzenz Feenstra
8706fc85ef Fix handling for CFLAGS and LINKFLAGS like for CCFLAGS
Previously CFLAGS and LINKFLAGS were passed as a single
quoted argument to the compiler or linker. This patch splits the
paramters.

Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>
2014-02-22 13:34:40 +01:00
Juan Linietsky
f2a068984c -run script in editor
-add search docs dialog that returns places string was found
-added flash
2014-02-20 23:01:44 -03:00
Juan Linietsky
51c55b237b wtf 2014-02-19 18:09:52 -03:00
Vinzenz Feenstra
8b3fecb43d Fix CCFLAGS handling
Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>
2014-02-13 22:15:18 +01:00
Juan Linietsky
0b806ee0fc GODOT IS OPEN SOURCE 2014-02-09 22:10:30 -03:00