Commit Graph

118 Commits

Author SHA1 Message Date
Yao Wei Tjong 姚伟忠
1bd123ecfb Disable exception handling codegen for Emscripten DEBUG build config.
Urho3D library does not use C++ exceptions feature. Emscripten already disables exception handling by default for -O1 and above.
2017-03-27 23:15:16 +08:00
Yao Wei Tjong 姚伟忠
9d84ccffe4 Initial attempt to support MODULE library type for Web platform.
Disallow memory growth when using MODULE lib-type.
Move the resource defining and checking logic into their own macros.
2017-03-26 22:18:35 +08:00
TheComet
cf30fb98c0 Adding IK library to Urho3D, enable/disable it with -DURHO3D_IK 2017-03-21 15:56:46 +01:00
Yao Wei Tjong 姚伟忠
4399c04d3a Add pre-js script to process request parameters as app's arguments.
Fix #1747. [ci only: Web]
2017-03-19 21:02:38 +08:00
Lasse Öörni
513f9592fa Prevent MSVC attempting to use the "strip" command when invoked through NMake in Release configuration. Closes #1851. 2017-03-10 13:45:33 +02:00
Yao Wei Tjong 姚伟忠
c9b45bf1f1 Allow generation of .js instead of .html as output for Web platform. 2017-03-05 08:46:37 +08:00
Yao Wei Tjong 姚伟忠
6eef852fe2 When targeting WASM, allow memory growth and code gen that could trap. 2017-03-05 08:46:33 +08:00
Yao Wei Tjong 姚伟忠
7102a25409 For CI - disable web run tests as they are not reliable on Travis. 2017-03-05 08:46:29 +08:00
Yao Wei Tjong 姚伟忠
d7eded9178 Add new build option to enable WASM support.
Remove redundant Emscripten build option for pre-generating the system libraries because newer Emscripten version has fixed the cache lock issue.
2017-03-05 08:46:29 +08:00
Yao Wei Tjong 姚伟忠
f1ac8a80e9 Minor refactor on CheckCompilerToolchain module. 2017-03-05 08:46:22 +08:00
Yao Wei Tjong 姚伟忠
0c88c99112 Allow possibility of building Urho3D without C++ exceptions feature.
Disallow Android build to turn off C++ RTTI feature.
2017-03-05 08:46:22 +08:00
Yao Wei Tjong 姚伟忠
2f8a80def4 Rewrite from scratch a new Android toolchain file.
The new toolchain file requires Android NDK r12b and above. Default to use 'arm-linux-androideabi-clang' toolchain and LLVM libc++ STL runtime.
Align all the compiler and linker flags according to new ndk-build configuration in Android NDK r12b, i.e. no more '-f[no-]strict-aliasing' and '-f[no-]omit-frame-pointer', but more stringent warnings check.
Improve over the old toolchain file where most of the options are now changeable after the initial configuration. The exceptions are ANDROID_NDK and ANDROID_TOOLCHAIN_NAME due to limitation of CMake.
Close #1441.
Other changes in this commit includes:
- Fix Android sample launcher app to support shared C++ STL runtime library.
- Remove temporary fix in FindUrho3D module as it is not required anymore with our new toolchain file.
- Fix Log::WriteRaw() method to pass the parameters correctly to __android_log_print() function.
- Fix enable_pch() macro to emit -fPIC compiler flags correctly based on target's POSITION_INDEPENDENT_CODE property.
- Fix linker flags for ld.bfd where it needs help to find the location of the rooted shared libraries. The flags are not required for ld.gold but they do no harm for gold linker.
- Enhance the CheckCompilerToolchain module to auto-detect if the NEON SIMD is enabled or not for Android build (based on the chosen ANDROID_ABI).
2017-03-05 08:45:40 +08:00
Yao Wei Tjong 姚伟忠
22542ec06d Adapt to newer CMake that identifies Clang on Apple as "AppleClang". 2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
06638436c0 Prevent *-PREFIX and *-SYSROOT changes after the initial configuration.
When in try_compile() mode, quickly obtain the previously cached values stored in the (inner scope) environment variables and bypass all the checks (which are already done when the toolchain file is being processed at the start of CMake run).
2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
f7e2303cab Use "SmileyHack" to inject CMake vars to get the right output suffix.
This fixes known issues with output binary suffix in the custom emscripten.toolchain.cmake and FindUrho3D.cmake modules.
2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
84ad86e79e Fix toolchain files to honor *-PREFIX and *-SYSROOT as build options.
Due to the CMake try_compile() limitation, initial build option values (i.e. not env-vars) were not visible to all the CMake checks during inital configuration, preventing the build option from functioning as expected.
2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
98bdf13583 Enhance toolchain files to first check on suitable ccache symlink.
If a suitable symlink is found in the standard ccache symlink directory then skip creating fallback symlink in the build tree.
2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
f32cbb72b0 Rename Urho3D-CMake-common.cmake module to UrhoCommon.cmake.
To be consistent with the other modules. Drop the '3D' simply because it sticks out in 'Urho3DCommon'.
2017-03-05 08:45:39 +08:00