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