Commit Graph

504 Commits

Author SHA1 Message Date
Yao Wei Tjong 姚伟忠
e537dd4467 For Travis CI - remove the unrecognized flag to keep Travis-CI happy.
Current MinGW version on Ubuntu 12.04 LTS is too old. [ci only: master]
2015-10-29 14:43:59 +08:00
Yao Wei Tjong 姚伟忠
8a0a2ecc7c Attempt to use -O3 for MingGW 64-bit and 32-bit Release build.
On 32-bit when SSE is not on then -O3 flag is supplemented with flags to turn off auto-vectorize optimization.
2015-10-29 12:59:01 +08:00
Yao Wei Tjong 姚伟忠
fa82c55efd Suppress warnings on MinGW build. 2015-10-29 11:24:03 +08:00
Yao Wei Tjong 姚伟忠
db5cb36057 Remove the quick fix now that the ABI is correctly detected for MinGW.
Related to #872 and commit 6ca3bdbb1c.
2015-10-28 19:15:59 +08:00
Yao Wei Tjong 姚伟忠
6ca3bdbb1c Rectify the 64-bit detection logic for MinGW compiler toolchain.
Only use stackrealign flag on MinGW SSE 32-bit build.
For Travis CI - fix documentation build on all Windows builds. Fix #951.
2015-10-23 23:07:26 +08:00
Yao Wei Tjong 姚伟忠
6ccf70be10 Add Windows Kit detection for Windows 10.
Close #911.
2015-10-23 22:54:35 +08:00
Yao Wei Tjong 姚伟忠
d3bf75aafc Minor documentation update on desktop deployment target build option.
[ci only: master]
2015-10-18 12:16:57 +08:00
Yao Wei Tjong 姚伟忠
60e971eefe For Travis CI - add new CI job for RPI2 with NEON switch on. 2015-10-17 11:39:19 +08:00
Yao Wei Tjong 姚伟忠
8a447c7eda Enable BT_USE_SSE on Linux platform & BT_USE_NEON on Android platform.
Add new build option URHO3D_NEON to enable/disable NEON code branch.
Fix a bug where previously URHO3D_SSE was also erroneously being used to switch off BT_USE_NEON on iOS.
Add new build option URHO3D_DEPLOYMENT_TARGET to set the GCC/Clang target arch (-march compiler flag). Default value is 'native'. Setting this to any cpu type higher than Pentium 4 may influence the effective SSE level being used in the build. The BulletPhysics library may switch to use higher level SSE as the result, for instance.
2015-10-16 16:32:28 +08:00
Lasse Öörni
f2713d93f1 Force stack realignment on MinGW with SSE. Closes #954. 2015-10-15 15:03:54 +03:00
Yao Wei Tjong 姚伟忠
c5c78603da Remove the workaround command for setting linker flags.
[ci skip]
2015-10-13 09:53:53 +08:00
Yao Wei Tjong 姚伟忠
0e4ba63687 Only initialize the URHO3D_DEFAULT_SSE variable only once. 2015-10-13 09:30:52 +08:00
Jukka Jylänki
f24af4ee9b Enable setting -DURHO3D_SSE=1 on Emscripten, but leave it disabled by default. 2015-10-13 00:30:09 +03:00
Lasse Öörni
52805e2709 Merge remote-tracking branch 'juj/sse_matrix_math' 2015-10-12 11:49:14 +03:00
Yao Wei Tjong 姚伟忠
08e0b3bd62 Switch off SSE when targeting iOS/iPhoneSimulator as well. 2015-10-11 12:54:19 +08:00
Yao Wei Tjong 姚伟忠
c44ff392df Minor clean up to remove redundant linker flag.
[ci skip]
2015-10-11 09:52:00 +08:00
Lasse Öörni
1a317e63ce Actually allow to enable the threading option on Emscripten platform. Define the required compiler & linker flag when enabled. 2015-10-11 01:11:56 +03:00
Jukka Jylänki
00be823f71 Update URHO3D_SSE to denote SSE2. 2015-10-11 00:12:13 +03:00
Lasse Öörni
af7ed744f0 URHO3D_THREADING build option. Closes #939. 2015-10-10 23:17:03 +03:00
Yao Wei Tjong 姚伟忠
ec125f2952 Switch off SSE for 64-bit arm platforms as well.
[ci only: Android, OSX, Coverity]
2015-10-10 23:15:48 +08:00
Yao Wei Tjong 姚伟忠
ace1f1155b Avoid hardcoding the conditional list for URHO3D_SSE build option.
Android on Intel Atom will now have this option and defaulted to true.
2015-10-10 19:16:14 +08:00
Yao Wei Tjong 姚伟忠
fde2ad45ac Fix Android and Raspberry-Pi build by always disabling SSE support.
[ci only: RPI, Android]
2015-10-10 17:49:29 +08:00
Yao Wei Tjong 姚伟忠
9b041c061a Add warning to user on Windows host system without MKLINK privilege.
[ci skip]
2015-10-06 12:15:02 +08:00
Yao Wei Tjong 姚伟忠
86918f97ce When falling back on Windows host system makes a copy immediately.
Close #918.
2015-10-05 19:36:20 +08:00
Yao Wei Tjong 姚伟忠
ff1ee0e4ad Fix the Urho3D DLL installation for targets in external projects. 2015-10-02 14:24:06 +08:00
Yao Wei Tjong 姚伟忠
47526dd443 Attempt to workaround all the limitations for Urho3D DLL installation. 2015-10-01 19:21:29 +08:00
Yao Wei Tjong 姚伟忠
cdb94b1eda Limit the install of Urho3D DLL for CMake version 3.0 or higher.
[ci only: master]
2015-10-01 00:56:55 +08:00
Yao Wei Tjong 姚伟忠
66c6ed92eb Limit the copy/install of Urho3D DLL to targets within Urho3D project. 2015-10-01 00:38:36 +08:00
Yao Wei Tjong 姚伟忠
929c842b57 Copy/Install Urho3D shared library to the runtime dir outside of 'bin'.
Fix doc target dependencies to include other non-generated dox files.
2015-10-01 00:15:26 +08:00
Yao Wei Tjong 姚伟忠
9de78c0a3d Refactor dependency setup for 'doc' target. Close #879.
The doc target now only really does its build action when it detects its documentation is out of date, similar to how other targets behaves.
2015-09-30 10:04:30 +08:00
Lasse Öörni
43c9120e33 Do not use system paths when searching for the d3dcompiler DLL, to avoid using the wrong architecture. 2015-09-29 00:11:45 +03:00
Yao Wei Tjong 姚伟忠
8538620437 Fix Emscripten build using incoming branch 1.34.10.
Close #905.
2015-09-26 12:52:34 +08:00
Yao Wei Tjong 姚伟忠
ba837af5a4 Add skeleton project for AutoBinder tool.
[ci only: Annotate]
2015-09-24 19:57:18 +08:00
Yao Wei Tjong 姚伟忠
dbd23c17a1 Add new wrapper target to invoke the newly added clang-query tool.
It seems there is a bug in the rewriter that prevents it to save the source files with replacements out to disk, so at the moment nothing get changed yet in the source tree.
[ci only: Annotate]
2015-09-19 17:21:02 +08:00
Yao Wei Tjong 姚伟忠
f2289b10e1 Avoid hardcoding to improve the chance of using it on Windows host.
[ci annotate]
2015-09-15 14:57:06 +08:00
Yao Wei Tjong 姚伟忠
440bc484e7 Add skeleton project for Annotator tool.
Currently it just dumps the AST out instead of actually annotating.
[ci only: master, Annotate]
2015-09-14 20:13:26 +08:00
Yao Wei Tjong 姚伟忠
71a8f6d104 Parameterise the asset directory indicator character(s) using env-var. 2015-09-10 00:51:58 +08:00
Yao Wei Tjong 姚伟忠
ac2b2ba121 Add new JNI function to interface with AssetManager.list() method.
Fix #855.
2015-09-08 22:37:45 +08:00
aster2013
fc2a3805ea Remove line end spaces.[ci skip] 2015-09-07 12:22:29 +08:00
aster2013
60dff27440 Merge branch 'spine-spriter-new' 2015-09-07 12:19:24 +08:00
Yao Wei Tjong 姚伟忠
a3e0072e79 Suppress policy CMP0054 dev warnings on Android build.
Enhance android rake task to have additional option to install the APK before testing it.
[ci only: Android]
2015-09-06 13:05:30 +08:00
Yao Wei Tjong 姚伟忠
0a34f1cc97 Fix FindUrho3D.cmake to look for *.bc extension in Emscripten build.
[ci only: Emscripten]
2015-09-06 06:17:26 +08:00
aster2013
5dedc993a9 Remove URHO3D_SPINE option, if exists ThirdParty/spine make URHO3D_SPINE enabled. 2015-09-05 23:44:45 +08:00
aster2013
0cded698e4 Merge from spine-spriter branch.
Main changes:
     Make spriter as a lib
     Enable spine support in AnimatedSprite2D and Animation2D.
2015-09-05 22:23:35 +08:00
Yao Wei Tjong 姚伟忠
3e765ba446 Minor code clean up for build system.
Suppress tolua++ tool not found message in the stderr stream on initial build.
Raise a fatal error message when user attempting to generate VS2008 project with spaces in the source/build tree path.
2015-09-04 13:14:52 +08:00
Yao Wei Tjong 姚伟忠
bf6ae1a0a3 Make the new ABI build option unavailable for MSVC compiler.
[ci skip]
2015-09-04 11:33:57 +08:00
Yao Wei Tjong 姚伟忠
c4a138ae4f Add new build option to allow host tool building to use native ABI.
Possibly fix issue #872.
2015-09-04 11:20:26 +08:00
Yao Wei Tjong 姚伟忠
2731e48405 Improve build robustness. Prevent make clean to remove toluabind.c. 2015-09-03 20:14:23 +08:00
Yao Wei Tjong 姚伟忠
86194164b5 Avoid name clash with EMSCRIPTEN environment variable. Close #871.
[ci only: Emscripten]
2015-09-03 13:41:31 +08:00
Yao Wei Tjong 姚伟忠
4ff826ddf8 Support spaces in source and/or build tree path for Windows build.
Close #779.
2015-08-31 16:15:46 +08:00
Yao Wei Tjong 姚伟忠
a234ab4e6e Support spaces in source and/or build tree path for Linux build. 2015-08-30 16:40:41 +08:00
Yao Wei Tjong 姚伟忠
0e031852d1 Suppress most of the false positive on out-of-bound access.
The affect of this change can only be checked after the next Coverity Scan run on this Thursday.
2015-08-16 16:44:19 +08:00
Yao Wei Tjong 姚伟忠
842de2fe48 Exposed the database subsystem API to scripting.
Add AngelScript version of the database demo.
Add Lua versio nof the database demo. WIP.
2015-08-10 01:51:26 +08:00
Yao Wei Tjong 姚伟忠
33145bf18f Use numCols to determine whether a result object impl has resultset.
Only supports one resultset per execution at the moment.
Enhance db sample demo to accept connectiong string setting to connect to different database during runtime.
[skip ci]
2015-08-10 01:51:26 +08:00
Yao Wei Tjong 姚伟忠
d39a80b1a9 Pass compiler defines from the ODBC config tool to our build system.
Make FindODBC module to prefer unixODBC over libiodbc when both ODBC driver managers are available.
2015-08-10 01:51:26 +08:00
Yao Wei Tjong 姚伟忠
f420b14ad2 Make URHO3D_DATABASE_ODBC suppresses URHO3D_DATABASE_SQLITE.
Correct a typo in the database demo.
[ci skip]
2015-08-10 01:51:26 +08:00
Yao Wei Tjong 姚伟忠
0e2af9c788 Initial ODBC API support.
Enhance db demo to work with ODBC database connectioon string.
2015-08-10 01:51:25 +08:00
Yao Wei Tjong 姚伟忠
560ef3bb37 Add Database subsystem. Add new build option to enable it.
Initial C++ sample database demo using execute immediate mode.
2015-08-10 01:51:25 +08:00
Yao Wei Tjong 姚伟忠
d29d5f188e Enable GCC/Clang support for multithreading with pthread library. 2015-06-30 23:13:43 +08:00
Yao Wei Tjong 姚伟忠
7a80b37c22 Fix URHO3D_PACKAGING build option on Windows platform with SHARED lib.
[ci scan]
2015-07-12 19:04:19 +08:00
Yao Wei Tjong 姚伟忠
f0d107d3db Add new build option to support non-PCH build.
In order to achieve this, the Precompiled.h is now included back in all the Urho3D implementation source file. So, when the Precompiled.h is not being force-included in the PCH build, then the compiler is still able to find all the required symbol declarations. By doing so, it should also fix the indexer in some IDEs to index all the Urho3D declared symbols correctly whether it is a PCH build or not.
2015-07-07 23:43:56 +08:00
Yao Wei Tjong 姚伟忠
7547b0213a Only find Direct3D package when not using OpenGL on Windows platform.
Fix #756.
2015-06-27 06:37:46 +08:00
David Feltell
414e92dad2 Tidied/updated Lua raw script loader CMake definition and documentation.
* Tidied CMake definition and defaulted to disabled for
multi-configuration build types.
* Added CMake variable to table in "Building Urho3D" docs page.
* Added a section on "Debugging script files" to the "Lua scripting"
docs page.
2015-06-15 23:59:38 +01:00
David Feltell
67b6f0d533 Add luaL_loadfile support, with CMake option to prefer this strategy.
* Added `LuaScript::LoadRawFile` and `LuaScript::ExecuteRawFile` to load
files using `luaL_loadfile` rather than via the resource cache
(`luaL_loadbuffer`).  This strategy makes the source available to Lua
debuggers (e.g. eclipse LDT) for setting breakpoints, etc.
* Added a CMake option `URHO3D_LUA_RAW_SCRIPT_LOADER` to make
`luaL_loadfile` the default script loading strategy.
  - `LuaScript::ExecuteFile` will thus prefer the `luaL_loadfile`
strategy, aiding in debugging as above, but without needing to change
method calls.
  -  `LuaScript::Loader` will also prefer the `luaL_loadfile` strategy,
so that scripts `require`d in the main script are also amenable to
debugging.
  - If a script file cannot be loaded from the file system, then it will
fall back on the default resource cache `luaL_loadbuffer` strategy (e.g.
for packaged scripts).
2015-06-14 20:13:03 +01:00
Yao Wei Tjong 姚伟忠
99a6ef3a68 Fix a typo. Sorry.
Related to commit 0d3de0117e.
2015-06-12 01:06:34 +08:00
Yao Wei Tjong 姚伟忠
62aeb13cf2 Rectify the comment in the FindDirect3D CMake module.
The purpose of the module is to find the Direct3D installation (not the DirectX itself).
[ci skip]
2015-06-11 21:14:56 +08:00
Yao Wei Tjong 姚伟忠
0d3de0117e Fix MinGW STATIC Direct3D build in a newly scaffolded project.
[ci only: master]
2015-06-11 16:12:58 +08:00
Yao Wei Tjong 姚伟忠
a7c1dae794 Minor clean up to avoid redundant code. Also copy DLL to build tree.
Related to commit 58332565ea.
2015-06-11 14:26:26 +08:00
Yao Wei Tjong 姚伟忠
1829e1e81d Fix MinGW Direct3D build.
Related to commit 58332565ea.
[ci only: master]
2015-06-10 20:56:31 +08:00
Yao Wei Tjong 姚伟忠
58332565ea Install d3dcompiler_xx.dll to the runtime bin directory on MSVC build.
Close #738.
2015-06-10 18:39:38 +08:00
Yao Wei Tjong 姚伟忠
ae59d55580 Fix Emscripten toolchain file for determining EMCC version in Windows. 2015-05-30 00:42:57 +08:00
Yao Wei Tjong 姚伟忠
bee87b25a9 Minor code comment. Test [ci package] [ci only: Emscripten]. 2015-05-22 21:45:23 +08:00
Yao Wei Tjong 姚伟忠
cfdd7902e8 Fix URHO3D_PACKAGING option to ensure bash subshell is being used.
[ci only: Emscripten, OSX]
2015-05-22 18:51:07 +08:00
Yao Wei Tjong 姚伟忠
0627d83f3a For Travis CI - attempt to migrate Emscripten CI build to new infra.
[ci only: Emscripten]
2015-05-22 18:51:07 +08:00
Yao Wei Tjong 姚伟忠
5d3aa98b3b Merge upstream change on Android/CMake toolchain. Add NDK r10e support.
[ci only: Android]
2015-05-20 14:32:06 +08:00
Yao Wei Tjong 姚伟忠
a6528e0bbf For Travis CI - fail the Emscripten CI job when test run segfaulted.
But let it passes when the test run bailed out due to emrun timeout.
[ci only: master, Emscripten]
2015-05-14 16:26:27 +08:00
Yao Wei Tjong 姚伟忠
5cd6272bf6 Fix iOS "unsupported architecture" issue when precompiling PCH.
When using Xcode, instead of precompiling PCH using our own build rules, simply switch on the Xcode support for PCH and delegate the task to it.
2015-05-13 16:41:26 +08:00
Yao Wei Tjong 姚伟忠
b009106ab8 Fix Emscripten version check for enabling the separate metadata option. 2015-05-12 10:30:55 +08:00
Yao Wei Tjong 姚伟忠
f55d06bc6b For Travis CI - attempt to enable ccache on OSX CI build.
[ci only: OSX]
2015-05-10 23:42:54 +08:00
Yao Wei Tjong 姚伟忠
1d52a2e079 For Travis CI - last attempt to stabilize Emscripten CI build. 2015-05-05 13:48:06 +08:00
Yao Wei Tjong 姚伟忠
530513750a For Travis CI - allow initial Coverity-Scan branch creation on demand.
[ci skip]
2015-04-29 13:10:14 +08:00
Yao Wei Tjong 姚伟忠
9a198604a6 Workaround for Coverity scan which failed to compile code with PCH. 2015-04-27 07:10:56 +08:00
Yao Wei Tjong 姚伟忠
98863e183a Code clean up to remove temporary workaround for Emscripten. 2015-04-26 16:20:29 +08:00
Yao Wei Tjong 姚伟忠
cf68e3900e Use CMake construct instead of '|grep' to determine emcc version.
So that, the detection logic works on Windows host system too.
2015-04-26 11:54:32 +08:00
Yao Wei Tjong 姚伟忠
f9060b7831 Only perform ccache configuration during initial project configuration.
Determine the Emscripten's emcc version and use it to determine whether ccache could be enabled without caveat.
The changes for adding new '--use-metadata' option for Emscripten' file-packager.py has just been submitted to Emscripten upstream as PR (https://github.com/kripken/emscripten/pull/3410) today. Not sure how long it will take to be reviewed and merged (if at all). Tentatively assume it will be in incoming 1.31.4. With the immutable jsoutput file, the linker does not retriggered unnecessarily after changing the resource dirs content.
2015-04-25 21:42:31 +08:00
Yao Wei Tjong 姚伟忠
f2b21ee816 Enable ccache support for Emscripten (incoming) without the caveat.
The upstream issue https://github.com/kripken/emscripten/issues/3365 has been fixed now in Emscripten's incoming branch.
2015-04-22 10:14:22 +08:00
Yao Wei Tjong 姚伟忠
9a5dea71e1 Update documentation on ccache to explain its usage is optional.
Add simple diagnostic message to help user to rectify ccache configuration error.
2015-04-19 14:20:38 +08:00
Yao Wei Tjong 姚伟忠
c16ed4073c Suppress Clang compiler warnings when using ccache. 2015-04-18 15:56:01 +08:00
Yao Wei Tjong 姚伟忠
2dd22c82ef Attempt to enable ccache support for Emscripten compiler toolchain.
Minor documentation update again on ccache usage.
2015-04-17 17:33:33 +08:00
Yao Wei Tjong 姚伟忠
5b7297669a Fix Xcode build. It does not like absolute path PCH include. 2015-04-17 09:59:40 +08:00
Yao Wei Tjong 姚伟忠
8776eb3c2d Merge branch 'fix_pch_build' of https://github.com/evolarium/Urho3D. 2015-04-17 07:25:34 +08:00
Yao Wei Tjong 姚伟忠
bfa54ece21 Need to stringify to guard against undefined environment variable. 2015-04-17 07:17:58 +08:00
Yao Wei Tjong 姚伟忠
fd7d667b21 Enhance Emscripten toolchain file to support ccache (but disabled).
It can only be enabled later when Emscripten has fixed https://github.com/kripken/emscripten/issues/3365.
2015-04-17 01:24:39 +08:00
Yao Wei Tjong 姚伟忠
167f00771f Enhance Android toolchain file to support ccache (our way). 2015-04-17 00:58:22 +08:00
Jordan Patterson
ebbb9d3e05 Fix PCH build with Clang
Clang doesn't use include path (-I) when looking for PCH files.  Use full path to header instead.  Tested on Ninja and Make builds using GCC and Clang.
2015-04-16 07:11:19 -06:00
Yao Wei Tjong 姚伟忠
541c6e0e29 Enhance Raspberry-Pi toolchain file to support ccache. 2015-04-16 17:52:46 +08:00
Yao Wei Tjong 姚伟忠
f94d4d26d1 Enhance MinGW toolchain file to support ccache.
This is in preparation for using ccache in the container-based CI builds later.
Reinstate MinGW 32-bit D3D9 build jobs which were accidentally got deleted.
2015-04-16 14:34:06 +08:00
Yao Wei Tjong 姚伟忠
2a75dbbe2f For Travis CI - revert back the multiplier as it is still not enough.
Instead set the EMRUN timeout to the maximum value possible before the testing process being timeout by Travis CI itself.
2015-04-13 21:31:52 +08:00
Yao Wei Tjong 姚伟忠
67ce3e48bd Increase the multiplier for the EMRUN time out setting.
Emscripten has just released version 1.30 which, among others, fixes the EMRUN time out handling. In the previous version it did not time-out as expected. But now as EMRUN times out correctly, the build test failed on our Emscripten build due to Travis CI latency.
2015-04-13 17:26:10 +08:00
Yao Wei Tjong 姚伟忠
b7f0a1807f Minor documentation update on the build options section.
Add a simple usage instruction on build scripts error.
Related to issues #697 and #698.
2015-04-09 22:27:51 +08:00
Yao Wei Tjong 姚伟忠
b285bd2325 Enhance the rake make task to also support Ninja. 2015-04-08 17:09:55 +08:00
Yao Wei Tjong 姚伟忠
8ab5ffac52 Add a small chapter on how to setup ccache to work correctly. 2015-04-02 00:06:44 +08:00
Yao Wei Tjong 姚伟忠
41d9ab29a9 For Travis CI - add CI build jobs for Direct3D 11.
Fix Emscripten build due to earlier faulty fix on MinGW build to support building of PackageTool for both host and target systems.
2015-03-30 23:02:01 +08:00
Yao Wei Tjong 姚伟忠
377fd30e9a Minor code cleanup on handling of URHO3D_D3D11 and URHO3D_OPENGL. 2015-03-30 20:22:26 +08:00
Yao Wei Tjong 姚伟忠
02c2b57cea Minor tweaks and fixes for Emscripten build settings. 2015-03-30 18:36:42 +08:00
Lasse Öörni
d06ffe1445 Merge pull request #680 from urho3d/render-refactor
Render refactor
2015-03-24 23:34:39 +02:00
Lasse Öörni
b7f76ea711 Search for DirectX SDK also on OpenGL build to fix build failure on old Visual Studio (2008/2010) if the SDK is not set as a VS default include directory.
Conflicts:
	CMake/Modules/FindDirect3D.cmake
2015-03-22 15:03:00 +02:00
Lasse Öörni
f9d02e7299 Search for DirectX SDK also on OpenGL build to fix build failure on old Visual Studio (2008/2010) if the SDK is not set as a VS default include directory. 2015-03-22 14:51:40 +02:00
Yao Wei Tjong 姚伟忠
d2ea0ca934 Finetune the default test timeout value for Emscripten platform.
We have a time constraint on Travis CI side for all our CI builds and tests. Default value of 10 for Emscripten and 5 for native platform is also inline with Emscripten's claim that asm.js is about 50% slower than native speed.
2015-03-14 12:46:15 +08:00
Yao Wei Tjong 姚伟忠
3503a1069e Fix test case setup. Only add test case when URHO3D_TESTING is enabled. 2015-03-12 18:58:31 +08:00
Yao Wei Tjong 姚伟忠
8a77399bd0 Fix integration tests execution for Emscripten platform.
A test case is considered passed when the html exits as the result of emscripten_force_exit() function being called, which happens when the engine's elapsed time reaches URHO3D_TEST_TIMEOUT seconds. When something goes wrong, the engine's elapsed time does not progress as per normal, in this case the emrun's timeout would kick in and terminate the test case with failed exit status. The EMRUN'S timeout is set to be 2 times URHO3D_TEST_TIMEOUT auotmatically.
Add new build option EMSCRIPTEN_EMRUN_BROWSER to select which browser to use for testing. Default is 'firefox'. Refer to https://github.com/kripken/emscripten/issues/3234 to apply the recommended Firefox preference setting for emrun.
2015-03-12 18:04:16 +08:00
Yao Wei Tjong 姚伟忠
10e18da92e Slightly improve code size and startup speed for Emscripten platform. 2015-03-12 11:30:47 +08:00
Lasse Öörni
988f1fdc33 Merge branch 'master' into render-refactor 2015-03-07 17:59:37 +02:00
Yao Wei Tjong 姚伟忠
693aeb97a8 Add '--emrun' to general linker flag var instead of just for debug. 2015-03-07 12:14:53 +08:00
Yao Wei Tjong 姚伟忠
0fe597223f Add initial support for integration tests on Emscripten platform.
At the moment the 'make test' cannot be run non-interactively yet on Linux host and Mac OS X host systems due to what-could-be a bug in 'emrun' script. The issue with 'emrun' has been reported to upstream (https://github.com/kripken/emscripten/issues/3234).
2015-03-07 12:00:47 +08:00
Yao Wei Tjong 姚伟忠
6a145befa5 Misc. clean up. [ci skip] 2015-03-05 21:57:31 +08:00
Yao Wei Tjong 姚伟忠
6c3d32d64a Use Urho3D custom HTML shell for Emscripten build.
Simplify the custom command for share data generation since we are not going to "fix" the UUID issue of the file_packager.py anymore. Although this would mean the slightest change in the output JS file caused by UUID change could force a long relink process in our build.
For Travis CI - upload Emscripten HTML5 samples to Urho3D main website.
[ci package]
2015-03-05 16:23:59 +08:00
Yao Wei Tjong 姚伟忠
e7f6e04eec Preserve the JS output file timestamp to avoid unnecessary re-link.
At the moment a re-link may still take place due to a limitation of Emscripten's file_packager.py tool.
2015-03-04 00:28:59 +08:00
Yao Wei Tjong 姚伟忠
4d34d0a626 Add new Emscripten build option for creating shared data file. 2015-03-03 23:32:27 +08:00
Yao Wei Tjong 姚伟忠
2a6401eb54 Code cleanup on setup_emscripten_linker_flags CMake macro. 2015-03-03 13:14:49 +08:00
Yao Wei Tjong 姚伟忠
02572a9ec5 Add generic support for embedding and loading files for Emscripten.
Via the following source file property "EMCC_OPTION". The supported property values are: js-library, pre-js, post-js, embed-file, preload-file, shell-file. The files are added as link dependency so a relink will automatically occur when they are modified (have newer timestamp than target).
2015-03-03 01:16:40 +08:00
Yao Wei Tjong 姚伟忠
3af78c291b Code cleanup on CMake/Emscripten toolchain file.
Remove hardcoding that we don't need.
2015-03-01 00:23:24 +08:00
Yao Wei Tjong 姚伟忠
52ac4912b4 Minor code clean up on setting up the RPI supported ABIs.
[ci skip]
2015-02-28 12:19:01 +08:00
Yao Wei Tjong 姚伟忠
536b0a5429 Add new build option for better targeting Raspberry Pi platform. 2015-02-27 22:19:44 +08:00
Yao Wei Tjong 姚伟忠
e6908cf859 Add Emscripten 'aggessive variable elimination' flag on Release build. 2015-02-26 16:14:07 +08:00
Yao Wei Tjong 姚伟忠
ddcdf8ed10 For Travis CI - speed up Emscripten Debug configuration build. 2015-02-26 15:54:10 +08:00
Lasse Öörni
a936eab7c7 Initial D3D11 constant buffer handling. If URHO3D_D3D11 option given, disable OpenGL, but error out on non-Windows platforms. 2015-02-26 02:50:59 +02:00
Lasse Öörni
9f129ecd51 Merge branch 'master' into render-refactor 2015-02-23 01:43:02 +02:00
Lasse Öörni
281809121c Skeleton of D3D11 graphics classes. Does not render anything visible yet and many functions lack implementation. 2015-02-22 22:44:12 +02:00
Yao Wei Tjong 姚伟忠
10e477bbc8 Add flag to consider 'unresolved symbol' as an error. 2015-02-16 14:51:28 +08:00
Yao Wei Tjong 姚伟忠
d3f90cbe08 Make the URHO3D_LUA build option available for Emscripten build. 2015-02-16 07:23:10 +08:00
Yao Wei Tjong 姚伟忠
b594db841f Fix MinGW build regression issue. 2015-02-13 23:08:22 +08:00
Yao Wei Tjong 姚伟忠
34de545b4d For Travis CI - Fix Emscripten CI build with Debug build configuration. 2015-02-13 21:31:59 +08:00
Yao Wei Tjong 姚伟忠
c48a46303b Use -g4 flag for Emscripten Debug configuration build.
[ci package]
2015-02-13 21:31:59 +08:00
Yao Wei Tjong 姚伟忠
24e70ecd60 For Travis-CI - reduce number of samples in Emscripten build.
Also remove CI build for shared lib type. It is anyway just an emulation as Emscripten does not support dynamic library (yet) and our earlier issue with emar for static lib type has been fully resolved. Test [ci package] for Emscripten.
2015-02-13 21:31:59 +08:00
Yao Wei Tjong 姚伟忠
a77e24d8ad Enable external project macro users to find and use PackageTool.
Adjust software packaging for Emscripten.
2015-02-13 21:31:59 +08:00
Yao Wei Tjong 姚伟忠
bb438ac6d9 Fetch the Emscripten SDL2 port in an orderly fashion. 2015-02-13 21:31:59 +08:00
Yao Wei Tjong 姚伟忠
85c893a83d Attempt to enable CI build for Emscripten. 2015-02-13 21:31:59 +08:00
Yao Wei Tjong 姚伟忠
ef38543b5a Merge custom output command into custom target for resource packaging.
Add additional logic on Windows host to prevent unnecessary re-linking due to repackaging on each build. There is still no easy way on Windows host to skip repackaging though.
Eliminate the 'Application::GetSubsystem<Engine>()' call on each frame.
2015-02-13 21:31:59 +08:00
Yao Wei Tjong 姚伟忠
a66df72ff5 Fix host tool building and relinking dependency.
Also fix an issue with CMake reconfiguration where the internal cache work against the regeneration of the custom RESOURCE_CHECK target.
2015-02-13 21:31:59 +08:00
Yao Wei Tjong 姚伟忠
8471dcf3e4 Add option to package resource dirs and treat those dirs as build deps.
Fix static library building using emar instead of ar (from host compiler toolchain).
2015-02-13 21:31:59 +08:00
Yao Wei Tjong 姚伟忠
639b4ec3f7 Revert back the Urho3D CMake common module. 2015-02-13 21:31:59 +08:00
hdunderscore
92fe5d3c89 -The suffix is important on Windows when running CMake 'execute_process' in enable_pch, otherwise execute_process will not recognize the compiler as a file.
-Also reduced usr/bin/ar to ar, as it was invalid on Windows.
2015-02-13 21:29:10 +08:00
Yao Wei Tjong 姚伟忠
6e0ff48059 Suppress linker warnings. Minor doc update. 2015-02-13 21:23:05 +08:00
Yao Wei Tjong 姚伟忠
19ab396e74 Add new Emscripten/CMake toolchain file based on Urho3D convention.
Use EMSCRIPTEN_ROOT_PATH environment variable to specify the root path to the emscripten, instead of the original EMSCRIPTEN environment variable exported in emsdk_set_env.sh.
This is because the original EMSCRIPTEN environment variable name clashes with our build scripts.
2015-02-13 21:23:05 +08:00
Yao Wei Tjong 姚伟忠
6763207787 Complet the rebase to master branch. 2015-02-13 21:23:05 +08:00
badpixels
7061421425 Make sure -s USE_SDL=2 is part of compiler command line when building Urho3D library 2015-02-13 21:23:05 +08:00
t
395191e991 eliminate some compiler warnings 2015-02-13 21:23:05 +08:00
Lasse Öörni
b18ae1809c Hack fix for build failing on MinGW due to -include Precompiled.h option included multiple times for the generated Lua API .cpp files without a space in between. 2015-02-07 23:54:46 +02:00
Yao Wei Tjong 姚伟忠
564b77c39f Fix Ninja build by adding directory containing PCH to its search path.
Officially add Ninja build support. Close #653.
2015-02-06 13:49:32 +08:00
Yao Wei Tjong 姚伟忠
1e7ec258d2 Better CMake error message when compiler not able to handle the flags.
With the precompiled header support now properly enabled for GCC (including all other cross-compiling toolchains based on GCC) and Clang, any incompabitility between the C++ compiler and the compiler flags required by Urho3D will be thrown out earlier at the time when CMake is about to generate the build tree, which is a good thing. Previously user would probably only know this much later when trying to build the project.
2015-02-03 22:38:27 +08:00
Lasse Öörni
4d69285422 Update to kNet master branch latest revision, with Urho's custom flow control re-applied on top. Fixes #645. 2015-02-03 01:56:07 +02:00
Yao Wei Tjong 姚伟忠
060801abcc Correct MinGW sysroot path for RedHad-based host system.
[ci skip]
2015-02-02 20:42:23 +08:00
Yao Wei Tjong 姚伟忠
cfff44873f Bump missed out files. [ci skip]
$ for f in `git grep -l '2008-2014 the Urho3D project'`; do perl -pi -e 's/2008-2014 the Urho3D project/2008-2015 the Urho3D project/g' $f; done
2015-02-01 08:16:05 +08:00
Lasse Öörni
bb2ebf7568 Bump copyright to 2015. 2015-01-31 21:03:53 +02:00
Yao Wei Tjong 姚伟忠
88220f4f8a Simplify the variables used in two-phase setups of enable_pch() macro. 2015-01-30 11:46:07 +08:00
Yao Wei Tjong 姚伟忠
8e81d3ff36 Use regex replacement to handle path with spaces in between correctly.
Enhance build scripts to handle source tree and build tree with spaces.
Fix PCH generation with incorrect compiler flags caused by -fPIC and -fpic from being added at the same time.
Fix compiler warning on Android platform with PCH enabled on the external main project due to CMake bug in 'VISIBILITY_INLINES_HIDDEN' implementation.
Close #637.
2015-01-29 20:15:13 +08:00
Yao Wei Tjong 姚伟忠
4db362f95c Use the actual dependency list returned by the compiler. 2015-01-29 16:13:43 +08:00
Yao Wei Tjong 姚伟忠
9c61a7673b Add option to exclude individual C++ source file from using PCH.
Clean up enable_pch() macro and minor update on code comments.
2015-01-29 16:13:43 +08:00
Yao Wei Tjong 姚伟忠
51178c4328 Enable PCH for Assimp library with GCC/Clang compilers too.
Simplify to always use force include when enabling the PCH.
2015-01-29 16:13:43 +08:00
Yao Wei Tjong 姚伟忠
e0bab60f46 On MSVC also enable PCH in two phases to cater for generated C++ files. 2015-01-29 16:13:43 +08:00
Yao Wei Tjong 姚伟忠
7ddd46b172 Move GenerateExportHeader module inclusion to Urho3D common module. 2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
11814c9cc6 Add check so that precompiled header is only included for C++ sources. 2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
18261e3d2a Use Cmake function to determine whether to add compiler export flags. 2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
f50ffaff8c Fix precompiling header file for Clang. [ci rebase] 2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
8f2ac49cb0 Suppress GCC/Clang warning on pragma once on main file.
Fix precompiling header file on MinGW builds.
2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
fdcd44381a Keep the CMake version less than 2.8.12 happy. 2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
8743413816 Attempt to enable precompiled header support for GCC and Clang. 2015-01-29 16:13:41 +08:00
Yao Wei Tjong 姚伟忠
b82fe08521 Fix wrong include search path for Bullet and Lua. Fix #640. 2015-01-27 16:46:52 +08:00
Yao Wei Tjong 姚伟忠
fd84488a73 Add new build option to setup main executable as console application.
The new build option is only applicable for Windows platform only.
2015-01-21 16:50:09 +08:00
Yao Wei Tjong 姚伟忠
69fdf1edfb Fix cross-compiling build due to incorrect CMake conditional check.
Related to commit f9158a045e.
2015-01-18 22:52:28 +08:00
Yao Wei Tjong 姚伟忠
f9158a045e Install binaries to the "bin" subdir relative to install prefix.
Fix the Android installing and packaging steps which previously failed to install all the sample libs.
Close #616.
2015-01-18 22:29:57 +08:00
Yao Wei Tjong 姚伟忠
05dd995b85 Refactor all the codes and scripts to use the renamed 'bin' subdir. 2015-01-18 21:40:54 +08:00
Yao Wei Tjong 姚伟忠
b86c4927aa Enhance setup_main_executable() to support MACOSX_BUNDLE individually.
When the URHO3D_MACOSX_BUNDLE build option is not set, passing the MACOSX_BUNDLE explicitly when setting up a main executable target will make the corresponding target to be built as a bundle.
2015-01-18 15:59:11 +08:00
Yao Wei Tjong 姚伟忠
33d17b6abb Clean up the file formatting on the new template files. 2015-01-17 18:50:12 +08:00
Yao Wei Tjong 姚伟忠
8a421a4012 Add new files for URHO3D_MACOSX_BUNDLE build options. 2015-01-17 18:41:33 +08:00
Yao Wei Tjong 姚伟忠
1b2dcac1d2 Add new URHO3D_MACOSX_BUNDLE build option to build bundled apps on OSX. 2015-01-17 18:34:22 +08:00
Yao Wei Tjong 姚伟忠
c6045b99b7 Skip header installation when destination include dir is not defined.
This should prevent cross-compiling with host tool building from installing header files for the host target.
2015-01-16 13:59:37 +08:00
Yao Wei Tjong 姚伟忠
8682ba781a Install header files for Lua/LuaJIT and tolua++ 3rd party libraries.
Fixes #610.
2015-01-16 13:20:44 +08:00
Yao Wei Tjong 姚伟忠
bffa727e2e Attempt to suppress Xcode multi-group resource reference warnings. 2015-01-14 13:32:11 +08:00
Yao Wei Tjong 姚伟忠
1f0897ec9c Fix the dumb version of post-CMake command to always exit successfuly.
External project may not have install steps defined but the post-CMake fix is still being applied causing build failure previously.
2015-01-11 22:01:42 +08:00
Yao Wei Tjong 姚伟忠
8bb7d680ed Dumb down the post-CMake fix for iOS platform. Fixes #602.
The post-CMake fix is now reapplied on each iOS build without first checking it needs the fix or not. But since the 'sed' fix is harmless to be repeated, it is ok to do so.
The original 'smart' post-CMake fix uses shell [] operator but have to be removed to keep the CMake 3.0.0 and 3.0.1 users happy.
[ci skip]
2015-01-11 13:50:45 +08:00
Yao Wei Tjong 姚伟忠
3ae2942ad2 Move the cricial post-CMake fix into CMake rules for iOS platform.
This should ensure the Xcode project generated from user calling cmake-gui directly or cmake directly (not via our build scripts) would also geting the critical fix, and also whenever CMake performs a rerun internally then our post-CMake fix is reapplied automatically.
2015-01-09 18:02:42 +08:00
Yao Wei Tjong 姚伟忠
35307869ee Clean up to remove unused CMake variables.
LIBS is now defunct. No more dual purpose usage.
INCLUDE_DIRS_ONLY is renamed to INCLUDE_DIRS.
LINK_LIBS_ONLY is renamed to LIBS.
2015-01-07 21:51:00 +08:00
Yao Wei Tjong 姚伟忠
bde0b2bcfe Fix Android build on Windows host system without MKLINK capability. 2015-01-06 22:20:04 +08:00
Yao Wei Tjong 姚伟忠
2e9d9f4806 Fix MinGW build on Windows host system. 2015-01-06 17:25:58 +08:00
Yao Wei Tjong 姚伟忠
71862e42c1 Reinstate the MSVC "workaround" include path fix. 2015-01-04 22:40:40 +08:00
Yao Wei Tjong 姚伟忠
2b353512c3 Fix freetype2 headers installation - missed one file earlier. 2015-01-04 22:40:40 +08:00
Yao Wei Tjong 姚伟忠
4c17b03173 Remove existing include path abstraction.
Remove engine's sub-CMakeLists.txt.
2015-01-04 22:32:42 +08:00
Yao Wei Tjong 姚伟忠
1cbbb6b805 Finalize SDK-like include dirs clean up. Fix build using MSVC. 2015-01-04 22:32:41 +08:00
Yao Wei Tjong 姚伟忠
a4a4cde236 Refactor all CMake toolchains to reset CMAKE_INSTALL_PREFIX variable.
Add new build options for specifying tool-prefix and target-sysroot in cross-compiling build.
Add new IOS_SYSROOT variable to store the path to iOS sysroot and use it to set CMAKE_FIND_ROOT_PATH variable.
Now also generate pkg-config Urho3D.pc for iOS platform.
For Travis CI - simplify SDK installation logic. Use DESTDIR=~ to avoid sudo.
2015-01-04 22:32:41 +08:00
Yao Wei Tjong 姚伟忠
1b465fb704 Clean up FindUrho3D.cmake module.
Add new build options to override 64-bit Linux package setup for Debian and Redhad -based host systems.
For Travis CI - fix 64-bit RPM package generation to install library in /usr/lib64, also fix external project build test using Urho3D library from SDK.
2015-01-04 22:32:41 +08:00
Yao Wei Tjong 姚伟忠
4feb135281 Clean up SDK include dirs. Refactor FindUrho3D CMake module.
For Travis CI - add new steps to install the Urho3D SDK and to reference Urho3D library from the installed SDK.
2015-01-04 22:32:41 +08:00
Yao Wei Tjong 姚伟忠
16e05862ab Preparation for SDK include dir cleaning up. 2015-01-04 22:32:40 +08:00
Yao Wei Tjong 姚伟忠
325a4f7365 Refactor to use the newly renamed Source/Urho3D directory. 2015-01-04 22:32:40 +08:00
Yao Wei Tjong 姚伟忠
8e6fe0da14 Refactor LuaJIT build scripts - no more generated CMakeLists.txt. 2015-01-04 22:32:39 +08:00
Yao Wei Tjong 姚伟忠
67e415acc8 Fine tune LuaJIT target arch detection logic. 2015-01-04 22:32:39 +08:00
Yao Wei Tjong 姚伟忠
4db162eb62 Lua/LuaJIT host tool building while cross-compiling in one go.
For Travis CI - reenable CI build with Lua/LuaJIT build option turned on.
2015-01-04 22:32:39 +08:00
Yao Wei Tjong 姚伟忠
d75c592bd2 Add new engine parameter to set the location of resource prefix path.
Remove temporary measure instead use the new URHO3D_PREFIX_PATH environment variable to set the resource prefix path for testing the executables.
2015-01-04 22:32:38 +08:00
Yao Wei Tjong 姚伟忠
98d410091e Fix temporary measure for creating asset dir symlink in Ubuntu host.
Also:
- fix Android-CI build which does not need the symlink creation in the first place.
- fix an existing Xcode build configuration bug which was left undetected until now.
2015-01-04 22:32:38 +08:00
Yao Wei Tjong 姚伟忠
20e21050e9 Rename everything 'RASPI' to 'RPI'. [ci rebase] 2015-01-04 22:32:38 +08:00
Yao Wei Tjong 姚伟忠
d8a3b8b4f4 Make repo root is also CMake source tree for the Urho3D project.
Build tree location is now fully user defined. The build tree location could also be the same as source tree, although it is not recommended.
2015-01-04 22:32:38 +08:00
Yao Wei Tjong 姚伟忠
514847fb99 Adjust batch files and shell scripts to take build tree as user input.
Refactor to use a single generic batch file/shell script that does the actual work.
2015-01-04 22:32:38 +08:00
Yao Wei Tjong 姚伟忠
4f60123516 Move CMake modules and toolchains to the new source tree. 2015-01-04 22:32:38 +08:00