Yao Wei Tjong 姚伟忠
a513b325c0
Initial multi-module setup for Android build.
2018-08-06 21:46:00 +08:00
Alexey Rassikhin
4dfd230f55
Remove '-ffast-math' option.
...
Remove GCC 8.x check in Matrix3x4.h
2018-07-05 19:31:09 +08:00
Yao Wei Tjong 姚伟忠
e7a1b4c069
Make the option not available for Release build config.
...
Due to how CMake works, this prevention only works for single-config generator.
2018-06-03 21:00:25 +08:00
Eugene Kozlov
47aba2aaa2
Merge pull request #2309 from eugeneko/hash-reverse
...
Add StringHash reverse support.
2018-06-03 15:12:42 +03:00
Eugene Kozlov
e78c1d7ff5
Merge pull request #2310 from eugeneko/move-containers
...
Make Urho3D.Containers move-friendly
2018-06-03 12:42:44 +03:00
Yao Wei Tjong 姚伟忠
f27c149779
For CI - explicitly set WASM to off when CI testing for asm.js.
...
When cache is clear then skip the samples build because build all samples from scratch now exceeds our free time limit from Travis.
Switch to upload the WASM variant of the web samples. This means the samples should run faster on dekstop browsers but might not work on mobile browsers at the moment.
2018-06-02 22:51:09 +08:00
Eugene Kozlov
774f62e4c3
Update docs and CMake description for URHO3D_HASH_DEBUG
2018-06-02 16:02:07 +03:00
Yao Wei Tjong 姚伟忠
40281539f0
Add a new build option to control auto addtion of HTML shell-file.
2018-06-02 17:37:28 +08:00
Yao Wei Tjong 姚伟忠
e65cdac59e
Add build support for Emscripten 1.38.x. Emit WASM by default.
2018-06-02 16:57:49 +08:00
Eugene Kozlov
025714ec4d
Change scope of URHO3D_HASH_DEBUG define.
2018-05-22 23:11:25 +03:00
Eugene Kozlov
b75e1015bd
Add Vector::Emplace. Fix HashMap::Populate signature. Disable MSVC warnings.
2018-05-03 00:56:09 +03:00
Eugene Kozlov
d0ce35d194
Add StringHash reverse support.
2018-04-29 19:58:10 +03:00
Nicholas Farshidmehr
20c047b743
Fix spelling mistake and remove some whitespace.
2018-03-10 09:52:24 +08:00
Yao Wei Tjong 姚伟忠
1420410edd
Revert back the configuration for VS to use SSE2 instead of AVX.
...
At the moment this would only disable SDL from using SSE3 instruction set for their audio conversion functions.
Close #2238 .
2018-02-26 22:11:46 +08:00
Yao Wei Tjong 姚伟忠
15c94742aa
Add version check logic for macOS deployment target build option.
...
[skip appveyor] [ci only: OSX]
2018-02-07 10:32:23 +08:00
Yao Wei Tjong 姚伟忠
26c8001480
Tune GCC/Clang to produce generic binary when -march is not specified.
2018-02-04 01:16:59 +08:00
Yao Wei Tjong 姚伟忠
f1c1f5aa42
For CI - setup the lint stage on the primary CI.
2018-01-24 02:06:23 +08:00
urho3d-travis-ci
70049ba582
Travis CI: bump copyright to 2018.
...
[cache clear]
2018-01-01 05:35:37 +00:00
Yao Wei Tjong 姚伟忠
40516e48c9
Add macro for checking the compiler's C++11 type trait templates.
...
Modify angelscript.h header file to use our custom compiler define based on the check result to cater for pre-standard Clang compiler toolchain.
2017-12-31 13:48:26 +08:00
Yao Wei Tjong 姚伟忠
92312b2886
Update Android project to cater for SDL upstream changes.
2017-12-17 01:51:32 +08:00
Yao Wei Tjong 姚伟忠
093a5b6105
Adjust compiler flags to enable SSE3 when it is supported.
2017-12-17 01:51:31 +08:00
Yao Wei Tjong 姚伟忠
3ffe7bfee9
Update existing custom CMake modules to work with SDL 2.0.7.
2017-12-17 01:51:31 +08:00
Yao Wei Tjong 姚伟忠
e745577b87
Add new CMake modules for detecting SDL audio/video drivers.
2017-12-17 01:51:31 +08:00
Yao Wei Tjong 姚伟忠
a075fd950f
Fix Web build. EMCC version 1.37.25 requires explicit runtime exports.
2017-12-16 22:11:25 +08:00
Yao Wei Tjong 姚伟忠
5af679a974
Fix RPI build. Only support Raspbian Stretch for now.
2017-12-16 08:11:26 +08:00
Yao Wei Tjong 姚伟忠
08b838022b
Add CMake messages for deprecated build option usage.
2017-12-15 23:32:46 +08:00
Yao Wei Tjong 姚伟忠
37cba9522d
Disable URHO3D_SSE by default (as original intended) for old MinGW.
2017-10-31 21:43:07 +08:00
Yao Wei Tjong 姚伟忠
192903ba32
Fix Android cross-compiling build on Windows host system.
...
Close #2148 .
2017-10-14 12:53:07 +08:00
Eugene Kozlov
c38a14c537
Use variadic SendEvent in Console::HandleTextFinished. Remove URHO3D_CXX11 define. Revert find_package (ODBC REQUIRED). Update porting notes.
2017-08-22 20:39:27 +03:00
Eugene Kozlov
b26903703a
Remove URHO3D_CXX11 guards.
2017-08-22 00:45:38 +03:00
Yao Wei Tjong 姚伟忠
9dfff67e97
Support Web build tree path with spaces.
...
Fix #2078 .
2017-08-19 15:12:33 +08:00
Yao Wei Tjong 姚伟忠
3e58ccf41c
Revert "Remove temporary workaround which appears to be redundant now."
...
This reverts commit 4068d2474e
.
2017-08-19 15:11:21 +08:00
Yao Wei Tjong 姚伟忠
0d7d0e573d
Generate a dummy/initial PCH when using out-of-source build tree only.
...
Fix #2068 .
2017-08-17 07:07:38 +08:00
Yao Wei Tjong 姚伟忠
4068d2474e
Remove temporary workaround which appears to be redundant now.
2017-08-10 23:22:56 +08:00
Yao Wei Tjong 姚伟忠
8cd8569243
Clean the generated PCH when 'clean' built-in target is invoked.
2017-08-06 12:59:36 +08:00
Yao Wei Tjong 姚伟忠
ba66888068
Fix PCH generation for the Web/MODULE lib type.
2017-08-06 12:59:36 +08:00
Yao Wei Tjong 姚伟忠
d0a51addf7
Generate PCH deps file using a naming convention expected by Clion.
...
Fix #2047 .
2017-08-06 12:59:36 +08:00
1vanK
8c11d7180c
Fix mklink test when current path is not sources dir (for example when used cmake-gui)
2017-07-24 16:06:42 +03:00
Lasse Öörni
dd1582dc6f
Merge branch 'webp'
2017-07-23 14:41:09 +03:00
Eugene Kozlov
32a3e1dd29
Enable multi-thread compilation in Visual Studio. Fixed #1407 .
2017-07-23 11:39:52 +03:00
Lasse Öörni
aa47eb13ba
Merge branch 'master' into webp
2017-07-22 13:36:51 +03:00
Yao Wei Tjong 姚伟忠
86a03ec62e
For CI - remove old hacks in the build scripts.
2017-07-21 23:54:28 +08:00
Lasse Öörni
51e49e6f7d
Default WebP on.
2017-07-20 22:26:14 +03:00
carnalis
3339e5012b
Initial commit of WebP image support
2017-07-20 00:43:15 -04:00
Yao Wei Tjong 姚伟忠
ec84cfdfd1
Remove the usage of add_compiler_export_flags() deprecated function.
...
Fix #1945 .
2017-07-13 23:17:09 +08:00
Yao Wei Tjong 姚伟忠
7fc9aa816a
Make clean for MinGW/Android/Web platforms.
...
The rest of the platforms are already taken care of by this commit, however, only tested explicitly on Linux native, RPI, and ARM.
2017-07-09 21:58:33 +08:00
Yao Wei Tjong 姚伟忠
ace4a00fea
Reinstate source group for VS and Xcode IDE.
...
The "resources being added into multiple groups" issue is not reproducible in Xcode IDE anymore, probably the more recent define_resources_dirs() macro has "properly" fixed it.
2017-07-07 23:31:42 +08:00
Yao Wei Tjong 姚伟忠
c7a0149dc9
Another sweep for tvOS conditional code branch.
2017-06-05 23:04:09 +08:00
Yao Wei Tjong 姚伟忠
75b8420a31
Initial work for porting Urho3D to AppleTV platform.
2017-06-05 23:04:09 +08:00
Yao Wei Tjong 姚伟忠
7ec6f94e06
Disable DCE for main module permanently.
2017-06-02 23:58:38 +08:00
Yao Wei Tjong 姚伟忠
e30de5eb5b
Temporarily disable the DCE on main module to make it runnable.
2017-05-21 20:21:27 +08:00
Yao Wei Tjong 姚伟忠
3d39061627
Simplify the build option for sharing pak-loader script and data.
2017-05-21 20:21:27 +08:00
Yao Wei Tjong 姚伟忠
c935c7dc3f
Glue main module and side module(s) together in final output.
2017-05-21 20:21:27 +08:00
Yao Wei Tjong 姚伟忠
363f68d36e
When the search path is required, search it as rooted and not-rooted.
2017-05-18 22:40:17 +08:00
Huy Nguyen
71d7325335
Updated UrhoCommon.cmake to link against CoreFoundation & SystemConfiguration, which is needed by GetLoginName().
2017-05-14 21:29:02 +07:00
Yao Wei Tjong 姚伟忠
380afddfba
Move creation logic for resource checker back to setup_main_executable.
2017-05-03 22:06:25 +08:00
Yao Wei Tjong 姚伟忠
f0d5914d20
Use alternative install command to avoid relinking of targets.
...
[skip appveyor] [ci only: Web]
2017-04-16 23:18:46 +08:00
Yao Wei Tjong 姚伟忠
6b1250485f
Rename to use the new Binaryen's trap mode setting.
...
Tested on Emscripten incoming SDK version 1.37.9.
2017-04-16 16:26:49 +08:00
Yao Wei Tjong 姚伟忠
db908c2be5
Add self-executable HTML shell-file hack.
...
This hack allows IDE to "run" the HTML output file for Web platform as if it is an executable. This hack only works on Unix-alike host system, sorry.
2017-04-16 16:26:49 +08:00
Yao Wei Tjong 姚伟忠
0e4060b61a
Use no_weak_imports linker flag to ignore weak symbol during detection.
2017-04-13 19:35:23 +08:00
Yao Wei Tjong 姚伟忠
1544a1631b
Skip try_compile test when the found lib does not the armv7 arch.
2017-04-13 19:35:23 +08:00
Yao Wei Tjong 姚伟忠
403f88da05
Fix Xcode complaining about same resources in multiple groups.
...
Tested on both Xcode and AppCode.
2017-04-09 23:35:31 +08:00
Yao Wei Tjong 姚伟忠
9daf887f10
Phasing out universal binary build for macOS platform.
...
Close #1895 .
2017-04-09 00:04:41 +08:00
Yao Wei Tjong 姚伟忠
7ec1448c07
Minor clean up to avoid code duplication.
2017-04-07 22:12:13 +08:00
Yao Wei Tjong 姚伟忠
3ad02295c7
Prevent resource symlink creation when performing resource packaging.
...
Incidentally, the extra symlinks in the Web CI build has caused static site generation error since yesterday. So this should fix that as well.
2017-04-07 00:13:59 +08:00
Yao Wei Tjong 姚伟忠
35138fbc33
Prevent the same resource directory from being installed twice.
...
Using parent scope is not good enough when multiple targets referencing a same resource directory are not located inside a same parent scope.
Using internal cache fixes this.
2017-04-05 23:33:00 +08:00
Yao Wei Tjong 姚伟忠
b7ea0502a9
Minor convention fix on CMake build scripts.
2017-04-05 18:16:50 +08:00
Yao Wei Tjong 姚伟忠
f9fe5bc4c2
Remove old/unused options from define_source_files() macro.
2017-04-05 18:16:49 +08:00
Yao Wei Tjong 姚伟忠
2efbcd570c
Rename "define_resource_files" macro to "define_resource_dirs".
...
Enhance it to take extra arguments for specifiying target-specific resource directories and other extra for Web platform support.
Close #809 .
2017-04-05 18:16:36 +08:00
Yao Wei Tjong 姚伟忠
a24a4f8a4e
For CI - fix MinGW AppVeyor CI to get the correct git version number.
2017-04-04 13:44:03 +08:00
Yao Wei Tjong 姚伟忠
a8dcfa2be9
Merge branch 'InverseKinematics' of https://github.com/TheComet93/Urho3D into TheComet93-InverseKinematics
2017-04-01 14:20:56 +08:00
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
Yao Wei Tjong 姚伟忠
5649e9b85b
Fix Emscripten build on Windows host system.
...
[ci skip]
2017-03-23 21:54:34 +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 姚伟忠
ff85c9522a
Rename the module and toolchain names to follow new naming convention.
2017-03-06 22:12:27 +08: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 姚伟忠
81d7b6a71b
Rename CMake/Emscripten toolchain file to follow new naming convention.
2017-03-05 08:46:33 +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 姚伟忠
75a5a06cd2
Make the CMake/Android toolchain file compatible with NDK 13c.
2017-03-05 08:46:22 +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
Yao Wei Tjong 姚伟忠
d64b2e9aeb
Fix auto-detection of host tool for Android cross-compiling build.
...
After using CMAKE_SYSROOT in the android.toolchain.cmake module, CMake will only find Doxygen when CMAKE_FIND_ROOT_PATH_MODE_PROGRAM is set to to NEVER. It is actually weird why it was working before when it was set to ONLY previously.
2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
ffd24cafa1
Take advantage of CMAKE_SYSROOT available in the newer CMake.
...
Use CMAKE_SYSROOT to manage the sysroot automatically when cross-compiling instead of adding the '--sysroot' flag manually everywhere. We only need to add it manually in places where CMake does not, like in our custom GCC/Clang response file for PCH.
Differentiate between setting up header search path for system headers and for application headers so that GCC/Clang may suppress compilation warnings from the former, if any.
2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
2738ca2546
Skip subsequent processing of toolchain file during inital config.
2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
4fbe1ff134
Add custom command to automatically strip main target on Release build.
2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
3b02eeb5eb
For CI - suppress all the 3rd-party libraries' warnings.
...
Somehow after bumping up the CMake minimum version, CMake configures Xcode to work "better" with xcpretty that now the warnings are piping through the xcpretty's filter. Unfortunately when performing CI build, this is undesirable because not only now the log size is swelling, the build is slower too.
2017-03-05 08:45:38 +08:00
Yao Wei Tjong 姚伟忠
73c97d9f64
Only add defines at the scope they are actually required.
2017-03-05 08:45:38 +08:00
Yao Wei Tjong 姚伟忠
3d9eb3f694
Bake CC and CXX env-vars in case they are short lived in init process.
2017-03-05 08:45:38 +08:00