Commit Graph

613 Commits

Author SHA1 Message Date
Lasse Öörni
c2e6904a6b Reduce kNet worker thread wait time for potentially less network latency. 2014-02-16 22:23:07 +02:00
Yao Wei Tjong 姚伟忠
8ef4dc47eb Better integration of MinGW cross-compiling build process.
- Runtime and archive output directories change to mingw-Bin and mingw-Lib, respectively.
- Enable SCP_TO_TARGET build option for all cross-compiling build process (except Android).
- Enable LuaJIT support for MinGW cross-compiling build.
- Cache MinGW toolchain path and sysroot.
- Fix "object file is too big" issue when building Assimp library in debug build using MinGW.
- Reorder the build processes documentation section to match the Readme.txt file.
2014-02-15 13:34:42 +08:00
Lasse Öörni
964d9acb9e Merge remote-tracking branch 'remotes/wibbe/mingw-cross-compile-toolchain' 2014-02-13 22:47:14 +02:00
Daniel Wiberg
0bcd1cfc5f Changed includes of Windows.h to windows.h so it's possible to cross-compile on Linux 2014-02-13 14:54:42 +01:00
Lasse Öörni
77129bb9cb Added statements for SDL modification to comply with the license. 2014-02-13 15:23:46 +02:00
OvermindDL1
13e07265db Er, right, C code, no static_cast... 2014-02-12 03:03:22 -07:00
OvermindDL1
9f8a1ab977 Tabs to spaces indention changes to match everything else... 2014-02-12 02:48:20 -07:00
OvermindDL1
1ea3e8b0f9 *cough* ignore the duplicate comma... 2014-02-12 02:41:44 -07:00
OvermindDL1
d7f3c9ae66 Added support for raw keyboard keys to all other platforms, passes 0 for ones where there is not a raw code that makes sense, else passes in something sensible. 2014-02-12 02:33:54 -07:00
OvermindDL1
dba4216c86 Changed SDL to support unknown keys and pass them as the unused/raw keysym field as it seems that it used to do...
Will fix Urho3D to read that field and pass it to the Variant event for the systems to process if wanted.
2014-02-12 02:12:25 -07:00
Yao Wei Tjong 姚伟忠
0c41be144f Use CMake path instead of native path. Closes #188. 2014-02-11 23:53:29 +08:00
aster2013
9def6c0541 Fixed typo. 2014-02-11 23:53:06 +08:00
aster2013
b7990b94da Modify tolua_isnumber and tolua_isstring function to fixed issue #182. 2014-02-11 23:49:20 +08:00
Yao Wei Tjong 姚伟忠
327ab9af76 Minor tweak to link lua/luajit tool without Urho3D dependency libs.
These changes should also reduce prerequisite for building 32-bit luaJIT VM (for Android and RASPI) on 64-bit host/build system.
2014-02-11 13:47:36 +08:00
Yao Wei Tjong 姚伟忠
8c898864d4 Fix Android build. Closes #181. 2014-02-08 20:46:46 +08:00
Yao Wei Tjong 姚伟忠
c5fe4a5698 Fix LuaJIT build script to add dependency files for luajit executable.
The luajit executable should now be able to generate Lua bytecode files in Bin/ directory under the project root directory or in any directory when Urho3D SDK is installed in the filesystem.
2014-02-08 00:36:07 +08:00
Yao Wei Tjong 姚伟忠
50556078d6 Fix Raspberry-PI build.
- Add RASPI define to reduce the number vertex uniforms (total uniforms must not exceed 136).
- Exclude GCC fastmath compiler option in order to pass a check in the latest AngelScript library version.
- Remove unsupported GCC attribute to suppress the warnings when building Assimp library.
2014-02-06 15:06:21 +08:00
Lasse Öörni
0bcb95e6a2 Refactored techniques + more GLSL & HLSL shaders. Fixed shader code loading for cases where only vertex or pixel shader source is present. 2014-02-03 00:19:13 +02:00
Lasse Öörni
caf080ecbb Initial refactoring of Direct3D9 shaders. ShaderCompiler removed. Bytecode not cached into files yet. 2014-02-02 14:54:46 +02:00
Lasse Öörni
ea334e4393 Merge branch 'master' into shader-refactor 2014-02-01 16:14:11 +02:00
Lasse Öörni
6ccb31f6f5 Update to Bullet 2.82. 2014-02-01 15:59:25 +02:00
Lasse Öörni
d50403798a Update AngelScript to 2.28.1. 2014-02-01 15:05:53 +02:00
Lasse Öörni
6d5ddc23e0 Bump the copyright for 2014. 2014-02-01 14:37:21 +02:00
Yao Wei Tjong 姚伟忠
e91307ce51 Clean up build scripts to adhere to format convention. 2014-01-13 17:36:00 +08:00
Yao Wei Tjong 姚伟忠
be85ee454c Add AngelScript header into built-in 'install' target. Closes #121. 2014-01-13 14:11:14 +08:00
Lasse Öörni
9a3f8e5aa5 Call SetProcessDPIAware() function on SDL video initialization to prevent Windows 8.1 from scaling & blurring the window on high DPI settings. Closes #83. 2013-12-22 21:35:31 +02:00
Lasse Öörni
f74dae18c1 Update assimp to newest revision from git. 2013-12-22 19:11:30 +02:00
Yao Wei Tjong 姚伟忠
60dad27d5f Fix Mac OS X and iOS build from external CMake project.
Since the CMake minimum is bumped up, set the policy CMP0022 to NEW. Incidentally it is also required to be so to stop the static libraries dependency from being transitively get included to other targets that links to Urho3D shared library.
2013-12-17 08:00:11 +08:00
Lasse Öörni
3ec6f66fae Do not use PCH on AssImp contrib source files, as they're not all prepared for that. 2013-12-15 14:01:54 +02:00
Yao Wei Tjong 姚伟忠
963c46d15b Refactor build scripts.
- Close issue #67, Urho3D iOS library should be built correctly now (either as single arch or as multiple archs Mach-O universal binary). Urho3D library build for Mac OS X and iOS platforms do not rely on CMake hack 'object-collecting' approach anymore. It uses Apple static linker 'ld' tool to merge all objects from third-party *.a directly.
- Add new custom target (Urho3D_universal) for iOS platform to build a single Mach-O universal binary library consists of both iphoneos (universal ARM archs) and iphonesimulator (i386 arch).
- Introduce PLATFORM_PREFIX (ios-, raspi-, android-) to prefix the build and output directories (Build, Bin, Lib).
- Correct Xcode-specific build setting for Mac OS X desktop build to use the latest OS X SDK but set deployment target to current OS X of the build system, unless CMAKE_OSX_DEPLOYMENT_TARGET is set explicitly to build for other target.
- Temporary workaround for CMake/Xcode generator bug where it always appends '/build' path element to SYMROOT attribute and as such the items in Products are always rendered as red as if they are not yet built.
- Change Assimp target to use setup_library() macro so that it gets the same settings (and workaround) as all other targets.
- Add a conditional check to prevent MSVC to build 'buildvm-android' target as it is not supported at this moment.
2013-12-15 18:25:00 +08:00
Yao Wei Tjong 姚伟忠
ac6d9f40b0 Fix documentation build on platforms that do not have tool targets.
- Prevent 'make clean' or its equivalent to remove the generated ScriptAPI.dox and LuaScriptAPI.dox in the 'Docs' subdirectory.
- Always refresh the generated API Doxygen files before building 'doc' target when the tools are available.
- Move document-build binary directory into the respective project main binary directory.
2013-11-27 18:14:45 +08:00
Yao Wei Tjong 姚伟忠
7fa4c0bc41 Clean up build script. 2013-11-27 00:55:26 +08:00
Yao Wei Tjong 姚伟忠
484f855127 Build Lua and LuaJIT standalone interpreter and bytecode compiler.
Use the internal standalone lua/luajit interpreter for dumping LuaScript API doxygen file.
2013-11-27 00:28:59 +08:00
Lasse Öörni
3c2110b81a Check for compound shape with zero child shapes to prevent Bullet assert. Closes #47. 2013-11-18 17:19:50 +02:00
Yao Wei Tjong 姚伟忠
e83d98f016 Fix Urho3D.pc file for Windows and Raspberry Pi platforms.
Document cross-compiling example using pkg-config for Raspberry Pi platform.
Disable Urho3D.pc file generation for Android and iOS platform.
2013-11-17 21:26:44 +08:00
Yao Wei Tjong 姚伟忠
36620dd819 Avoid hardcoding of include dirs in the Urho3D.pc.in input file.
Also revert decision to use smaller letter case cmake destination directory in previous commit :).
2013-11-16 16:21:13 +08:00
Yao Wei Tjong 姚伟忠
d7942132f1 Configure and install Urho3D.pc file for pkg-config tool.
This is useful for Urho3D library user via SDK installation without having CMake installed.
2013-11-15 18:33:51 +08:00
Lasse Öörni
3168019a5f Updated to AngelScript 2.28.0. Added dictionary addon from AngelScript SDK. Closes #46. 2013-11-14 00:16:56 +02:00
Yao Wei Tjong 姚伟忠
a96a94a4f6 Fix FindUrho3D.cmake module to include back SDL headers as dep.
Install SDL headers for all platforms (not just Android).
2013-11-06 08:04:48 +08:00
Yao Wei Tjong 姚伟忠
bd3ee3f932 Fix the destination template dir for GCC only.
Android build on Windows platform should also use the same template location installed in the NDK or standalone toolchain.
2013-11-05 17:05:31 +08:00
Yao Wei Tjong 姚伟忠
24c11dda23 Revert "Setup Android template directory for both Windows and non-Windows."
This reverts commit 06f7d73922.
2013-11-05 17:00:43 +08:00
Yao Wei Tjong 姚伟忠
06f7d73922 Setup Android template directory for both Windows and non-Windows. 2013-11-05 16:36:14 +08:00
Yao Wei Tjong 姚伟忠
8a571ae437 Document how to install library and how to find it from installed SDK. 2013-11-05 15:52:37 +08:00
Yao Wei Tjong 姚伟忠
e8fbcf8a82 Add 'install' option for cross-compiling build and IOS as well.
Note: there is a known bug in CMake/Xcode generator that prevents iOS targets (library and bundle) to be installed correctly (see http://public.kitware.com/Bug/bug_relationship_graph.php?bug_id=12506&graph=dependency).
2013-11-04 00:13:49 +08:00
Yao Wei Tjong 姚伟忠
b45de628e7 Reduce 3rd-party headers installation to as minimum as possible. 2013-11-03 06:28:41 +08:00
Lasse Öörni
6133c24a53 Official fix for the void assert from AngelScript SVN. 2013-11-02 19:47:01 +02:00
Lasse Öörni
bdd2d03c81 Fixed AngelScript assert/crash if void value is attempted to be cast explicitly. Closes #33. 2013-11-02 17:23:41 +02:00
Yao Wei Tjong 姚伟忠
52ff881c54 Add 'install' option (currently only available for native build).
Also enhance FindUrho3D.cmake module to find Urho3D library in the Urho3D SDK installation location.
2013-11-02 16:45:44 +08:00
Yao Wei Tjong 姚伟忠
95a9c71a21 Fixed runtime issue on Raspberry Pi with Pidora as OS. 2013-10-30 12:31:32 +08:00
Yao Wei Tjong 姚伟忠
953f87d052 Fixed mouse motion spin bug.
This bug only manifests itself when the SDL video driver has "WarpMouse" function implemented, like RPI video driver, in conjuction with call to SDL_SendMouseMotion() with relative event position.
2013-10-29 23:48:03 +08:00
Yao Wei Tjong 姚伟忠
9e09e958dc Fixed event handling for Raspberry Pi. 2013-10-29 13:58:47 +08:00
Yao Wei Tjong 姚伟忠
6cf19fa9ce Fixed Raspberry Pi error (could open Window). 2013-10-28 22:30:01 +08:00
Lasse Öörni
c1a1864a40 Fixed black window on subsequent application starts on Android. Removed GL synchronization before swapping buffers, which should be unnecessary. 2013-10-28 05:06:23 +02:00
Lasse Öörni
e74ee4ce52 Fixed exiting on Android. 2013-10-28 01:45:44 +02:00
Lasse Öörni
f299c0d815 Fixed Android GL context destroy / restore. Removed project.properties file, as it's generated by the command "android update project". 2013-10-27 14:58:41 +02:00
Lasse Öörni
afa6c4ccc3 Initial SDL 2.0.1 merge. Windows tested OK. Android will crash when returning to the application. 2013-10-27 03:11:36 +03:00
Yao Wei Tjong 姚伟忠
9070746b56 Fix Xcode AssetImpoter linker error caused by both freetype and assimp emitting same symbols. 2013-10-21 19:36:41 +08:00
Yao Wei Tjong 姚伟忠
d33ac02538 Refactor build scripts to build Urho3D library as main target.
Other changes in the commit:
- Change build option from URHO3D_BUILD_TYPE to URHO3D_LIB_TYPE. Default value is STATIC.
- Automatically add compiler definition 'URHO3D_STATIC_DEFINE' when linking with Urho3D library statically.
- Move LuaScript subsystem from Extra/ to Engine/.
- Enable FindUrho3D module to also detect Urho3D library target when the FindUrho3D module is being used internally by Urho3D project.
- Configure to build all the samples for iOS and Android platforms also when option to build samples is enabled.
- Export all the Register*Library() global functions.
- Rewrite all the tools, samples, and extras targets to link against Urho3D library.

TODOs:
- Combine engine sub-libraries into one.
- Test builds on non-Linux platforms.
2013-10-21 02:28:29 +08:00
Yao Wei Tjong 姚伟忠
c37ac56ec3 Added license notice. 2013-10-19 22:24:25 +08:00
Lasse Öörni
0b938bf1ae Further iOS FreeType fix. 2013-10-17 13:12:07 +03:00
Lasse Öörni
9667886273 Restored the previous architecture check for whether to use arm assembly in FreeType. 2013-10-17 12:18:45 +03:00
Yao Wei Tjong 姚伟忠
cfe7ccf21c Replaced the logic to use VARIANT variable instead.
The CMAKE_CROSSCOMPILING variable cannot be used here because it will be always false since 'buildvm-*' is only built natively (not cross-compiling).
2013-10-16 00:44:57 +08:00
Yao Wei Tjong 姚伟忠
7a562a4e6c Fixed tolua++ 64-bit Mac Os X build when LuaJIT is enabled.
The tolua++ executable segfaults when it is generated without proper linker flags.
2013-10-16 00:17:32 +08:00
Yao Wei Tjong 姚伟忠
aed0da5161 Fixed FreeType debug build. 2013-10-15 22:56:49 +08:00
Lasse Öörni
bc6dd70fae Update FreeType version in documentation, and FreeType's own documentation. Enabled FreeType subpixel hinting. Restored old BlueHighway.ttf. Removed FreeType .mk and jamfiles. 2013-10-14 23:15:52 +03:00
Lasse Öörni
efefbca976 Merge remote-tracking branch 'remotes/friesencr/bump_freetype' 2013-10-14 22:39:09 +03:00
Yao Wei Tjong 姚伟忠
5896e52552 Filter target architecture information if the tool is available.
The initial target architecture detection for LuaJIT on Raspberry Pi native build was painfully slow due to the amount of output produced by compiler.
The filter reduces the number of output rows and speeds up the process significantly.
2013-10-14 10:39:31 +08:00
Chris Friesen
12d22bd8cc update freetype 2013-10-13 16:18:28 -05:00
Yao Wei Tjong 姚伟忠
405e89b5f2 Fixed LuaJIT native build on Raspberry Pi.
Missed out one more condition check before applying -m32/64 flag.
2013-10-14 00:22:32 +08:00
Yao Wei Tjong 姚伟忠
441ab9e5d4 Fixed LuaJIT native build on Raspberry Pi.
Only set the assembler flag to either -m32 or -m64 when the target architecture is X64.
2013-10-13 21:46:58 +08:00
Lasse Öörni
9d0eb0ffae If a rigid body is kinematic, set it to never deactivate itself. 2013-10-12 21:22:47 +03:00
Lasse Öörni
8d5aa5bbd2 Fix UNICODE define in SDL not taking effect properly with new MinGW. 2013-10-12 18:37:58 +03:00
Yao Wei Tjong 姚伟忠
74601477fe Support LuaJIT amalgamated build.
Added new build option ENABLE_LUAJIT_AMALG.
2013-10-12 22:26:43 +08:00
Lasse Öörni
752051b86f Correct kNet winsock2.h include order. Fixes #16. 2013-10-12 16:58:52 +03:00
Lasse Öörni
30ce75fd68 LZ4 compressed package file support. Closes #6. 2013-10-12 15:03:17 +03:00
Yao Wei Tjong 姚伟忠
b5836237e9 Remove dependency on Lua when LuaJIT is enabled.
Change build option name from ENABLE_LUA_JIT to ENABLE_LUAJIT.
Change tolua++ lua scripts to be compatible with both LuaJIT and Lua. Replace toluabind.c with the corresponding bytecode.
2013-10-11 02:02:08 +08:00
Yao Wei Tjong
76ba362179 Rephrased instructions to overcome CMake error for LuaJIT cross-compilation build. 2013-10-09 00:59:19 +08:00
Yao Wei Tjong
756728d5d1 Fixed 32-bit LuaJIT compilation on Linux platform. 2013-10-08 23:26:02 +08:00
Lasse Öörni
f6213623ed Workaround for VS2008 64-bit mode. 2013-10-08 12:45:49 +03:00
Yao Wei Tjong
28ab693b6a Fixed LuaJIT CMake error on Windows platform. 2013-10-08 15:47:14 +08:00
Yao Wei Tjong
2b90804c6e Fixed LuaJIT build on Linux, both native and cross-compiling.
The following platforms should be now supported:
Windows, Linux, Mac OS X, IOS, Android, and Raspberry Pi. Not all platforms are fully tested yet.

Cross-compilation may work on GCC/CLang only.
2013-10-08 12:22:56 +08:00
weitjong
598c24a4aa Corrected usage of message() command for showing CMake status. 2013-10-06 14:01:10 +08:00
Lasse Öörni
9a5632f745 Use kNet debug memory leak check on MSVC only. Fixes #1. 2013-10-02 20:29:51 +03:00
Aster Jian
68a081f0b5 Fix minilua link error on Linux. 2013-10-01 05:58:11 +00:00
Aster Jian
11674b421a Fix LuaJIT CMakeLists.txt. 2013-09-30 05:09:44 +00:00
Lasse Öörni
56b453c25e Update to AngelScript 2.28.0 WIP to fix a ternary operator crash bug. 2013-09-29 15:47:55 +00:00
Aster Jian
eccf0fefdd Set generated file to CMAKE_CURRENT_BINARY_DIR/generated folder. 2013-09-29 15:01:28 +00:00
Aster Jian
a570bb8ad6 Add LuaJIT support in LuaScript module, please use ENABLE_LUA_JIT to enable it, just test on Windows. 2013-09-29 14:38:03 +00:00
Wei Tjong Yao
09ba853aba Keep CMakeCache.txt in between build script invocation to speed things up. Correct typo error. 2013-09-26 20:56:42 +00:00
Lasse Öörni
e5b7b6c916 Re-enable Lua's default loaders. Register own loader last into the table. 2013-09-26 07:23:09 +00:00
Lasse Öörni
49319ddb57 Disable Lua's inbuilt loaders. This fixes LuaScript's own loader possibly failing on Linux. 2013-09-25 19:44:35 +00:00
Aster Jian
bbf193dd5f Move tolua++ Urho3D extension in a file, Move PushParameters function in ToluaUrho3DEx and change return type to bool. 2013-09-23 05:29:03 +00:00
Wei Tjong Yao
e376dc4562 Identity the maintainer of the Urho3D/Lua fork. Regenerate toluabind.c and toluabind.h using bootstrap process. Only call 'standard' script functions when they are available and be silent about it when they are not defined in the Lua script. 2013-09-18 21:49:04 +00:00
Wei Tjong Yao
9b023ae862 Add BCM VideoCore include directories globally for RASPI build. 2013-09-18 10:15:22 +00:00
Wei Tjong Yao
7594f8105a Applied Raspberry Pi patch sent by Colin Barrett. 2013-09-15 23:35:13 +00:00
Aster Jian
26fb71536a Add Urho3D::String support in tolua++. 2013-09-13 05:41:55 +00:00
Lasse Öörni
554355ab63 Disable Engine::Exit() on iOS.
Disable Engine::SetAutoExit(false) on iOS and Android.
On Android, request activity finish from the Java side instead of directly exiting.
2013-09-10 13:01:07 +00:00
Lasse Öörni
26fabce801 Added Civetweb library for HTTP requests.
Implemented basic HTTP request functionality. Not exposed to script yet.
2013-09-09 21:58:24 +00:00
Lasse Öörni
506915adca Applied physics patch from amadeus_osa. Do not make a copy of triangle mesh collision data, improved constraint behavior under external forces (fix from Bullet SVN.) 2013-08-25 17:01:41 +00:00
Wei Tjong Yao
463ce2a65d Enabled option to build Urho3D static and shared library (without main entry point) for Android. Fixed debug compiler flags being defined multiple times for Android build. Added post-build command to strip the generated Urho3D shared library if it is built for embedded devices. Enhanced cmake_gcc.sh to automatically fix the generated Eclipse project setting files for Android build. 2013-08-25 08:08:52 +00:00
Wei Tjong Yao
309218444d Fixed keyboard event handler for Raspberry Pi platform - have to translate native scancode to SDL scancode first for key modifiers to work. 2013-08-21 15:33:19 +00:00
Lasse Öörni
1590de8b63 Removed offending function from SDL which prevented proper startup when Urho3D was built as a shared library on Windows. 2013-08-19 00:37:28 +00:00
Wei Tjong Yao
dfd142c7d2 Added Raspberry Pi bootstrap back to fix raspi build. Moved the xmlstarlet logic to cmake_gcc.sh for code reuse. Added ANDROID_ABI into build options documentation. 2013-08-17 06:27:32 +00:00
Wei Tjong Yao
ccd6a926ae Added Urho3D library build option for IOS. 2013-08-16 08:56:55 +00:00
Lasse Öörni
ce9154d545 Added missing URHO3D_API defines to some derived classes.
Fixed obj file copying when building Urho3D library on VS and not using USE_MKLINK.
2013-08-15 21:02:54 +00:00
Lasse Öörni
e903c5edff Before closing an OpenGL SDL window, set it to windowed to fix annoying transition effect on OS X. 2013-08-15 00:00:25 +00:00
Lasse Öörni
0900977b78 Applied some post-SDL 2.0.0 fixes from SDL official repository. 2013-08-14 22:49:34 +00:00
Lasse Öörni
8f0182d1e9 In case SDL's window resize event is handled late, use the current window size at the time of handling, not the event parameters.
Removed unnecessary OS X SDL modification.
2013-08-14 21:42:59 +00:00
Wei Tjong Yao
3fd0638d62 Removed no-warn-unused-cli option as it hid typo error in passing build options. 2013-08-13 23:11:36 +00:00
Lasse Öörni
5bfde24e0b Updated to stable SDL 2.0. 2013-08-13 13:20:59 +00:00
Lasse Öörni
972124649e Include only one haptic driver (either windows or dummy) on Windows to fix MinGW build without DX joystick support, and to ensure no duplicate object file names. 2013-08-11 20:47:50 +00:00
Wei Tjong Yao
a01faa3ef2 Fixed static and shared library build using Xcode. 2013-08-09 16:19:58 +00:00
Wei Tjong Yao
02512cecf9 In order to move the out-of-source 'build' directory back to Urho3D project root directory, all the source codes sub-directories are now moved down one level to a new directory under project root called 'Source'. 2013-08-09 10:29:22 +00:00