Commit Graph

479 Commits

Author SHA1 Message Date
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 姚伟忠
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
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 姚伟忠
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
Yao Wei Tjong 姚伟忠
bbbbdb0108 Check native compiler toolchain is available before proceeding.
Some cross-compiling build tree configuration needs native compiler toolchain for host tool building via ExternalProject_Add(). This additional check ensures the native compiler toolchain is available up front before the build tree is even generated. Close #1300.
2017-03-05 08:45:21 +08:00
Yao Wei Tjong 姚伟忠
9f19d51c08 Remove older constructs that have been earmarked previously. 2017-03-05 08:34:41 +08:00
Yao Wei Tjong 姚伟忠
f38487f14e Add new option to control how to share resources on web platform.
Related to #1762.
2017-02-23 07:46:41 +08:00
Yao Wei Tjong 姚伟忠
f77939e7ae For CI - separate MinGW build tree from VS build tree.
Test [cache clear].
2017-02-10 08:08:03 +08:00
Yao Wei Tjong 姚伟忠
c0f6b0dac7 Configure MinGW to use -O2 instead of -O3 for Release build config.
For some reason CMake/MinGW generator uses -O3 for newer MinGW versions. Explicitly set it to -O2 to prevent crashes on 32-bit mode.
Fix #1765.
2017-02-09 01:51:08 +08:00
Yao Wei Tjong 姚伟忠
68d8681c2b Always use export header for auto-discovering the build options.
Fix #1796.
2017-02-05 21:01:21 +08:00
Lasse Öörni
f7c7d4db3c Fix logo aspect ratio in Emscripten shell page. 2017-01-05 23:38:49 +02:00
urho3d-travis-ci
ee054a1507 Travis CI: bump copyright to 2017.
[ccache clear]
2017-01-01 13:01:31 +00:00
Yao Wei Tjong 姚伟忠
f1d1b757b8 Change all CMakeLists.txt to use LF for consistency sake. 2016-12-05 22:33:59 +08:00
Yao Wei Tjong 姚伟忠
9a57e71653 Fix OSX and iOS builds. 2016-11-09 23:10:02 +08:00
Yao Wei Tjong 姚伟忠
6e7dfb7ba9 Fix for Wayland support for Linux build, native & cross-compiling mode. 2016-11-09 23:10:02 +08:00
Yao Wei Tjong 姚伟忠
eff9109063 Use absolute output path for MinGW sysroot auto-detection.
Credit to matanshukry who reported and fixed this issue. Close #1674.
[ci only: master]
2016-11-08 00:26:10 +08:00
Johnathan Jenkins
d78fc4020f minor typos 2016-10-28 13:07:14 -07:00
Yao Wei Tjong 姚伟忠
62e67fbd02 Ensure the CMAKE_OSX_DEPLOYMENT_TARGET is set to empty for iOS build.
Fix #1628.
2016-10-06 23:22:14 +08:00
Yao Wei Tjong 姚伟忠
0ce83450fb Auto-turning off PCH on Android build when using Clang compiler.
This is a temporary workaround until the actual root cause that causes the build error is found and fixed.
2016-10-02 09:59:52 +08:00
Yao Wei Tjong 姚伟忠
201cfc991c Use CMake's regex instead of 'grep' because it is not universal.
The 'grep' command on macOS is from BSD which requires different option than Linux one to enable extended or Perl-compatible regex parsing.
[skip appveyor] [ci only: OSX]
2016-09-24 13:01:44 +08:00
Yao Wei Tjong 姚伟忠
1089763457 Automatically turning off PCH when using Clang on bad ccache version. 2016-09-21 23:51:36 +08:00
Yao Wei Tjong 姚伟忠
6db9b8ad85 Only do the "Bash on Ubuntu on Windows" detection once. 2016-09-13 00:13:04 +08:00
Yao Wei Tjong 姚伟忠
47b884bfc9 Add initial build support for "Bash on Ubuntu on Windows". 2016-09-12 15:41:20 +08:00
Yao Wei Tjong 姚伟忠
918c965c82 Fix FindUrho3D.cmake module to consider MinGW as multilib compiler.
Fix #1527.
2016-08-21 02:31:53 +08:00
Yao Wei Tjong 姚伟忠
11d3b69a2a Make URHO3D_64BIT build option applicable for MinGW compiler toolchain.
Fix #1525.
2016-08-20 18:52:44 +08:00
Yao Wei Tjong 姚伟忠
de3c2dc2b5 Fix cache datatype typo when caching the URHO3D_LIB_TYPE.
Credit to hsnabn. Close #1513.
2016-08-13 11:44:10 +08:00
Yao Wei Tjong 姚伟忠
44b0450268 Fix setup_xxx() macros not to wrongly replace linker flags.
This should solve the missing -pie linker flags for Android build.
2016-08-07 22:12:39 +08:00
Yao Wei Tjong 姚伟忠
b21ff1895e Fix overlinking of EGL library in FindVideoCore.cmake module.
Remove hardcoding of indirect dependency libraries list in the FindUrho3D.cmake module. Instead we now rely on the linker to find those indirect dependencies automatically with our hint via "-runpath-link" linker flag, especially when cross-compiling.
Also setup GLESv2 (and GLESv1_CM) for Raspberry-Pi in the same manner as generic ARM and Android platforms.
2016-08-07 18:22:46 +08:00
Yao Wei Tjong 姚伟忠
5419f37a60 Realign the new generic ARM "platform" name with the 1.6 changelog. 2016-08-05 19:54:06 +08:00
Yao Wei Tjong 姚伟忠
51c57a8ae3 Add '-fsigned-char' compiler flag for RPI and generic ARM builds.
To be consistent with other non-ARM platforms, this flag makes 'char' signed by default.
2016-08-05 18:54:22 +08:00
Yao Wei Tjong 姚伟忠
87bee872e8 Add extra linker flags to make 64-bit ARM cross-compiling possible.
When cross-compiling we have already defined '--sysroot' to find the direct library dependencies. However when a shared library has its own dependencies (DT_NEEDED) then we need to supply extra linker flags to help the linker to find those indirect library dependecies in the sysroot.
Actually we also had this problem for 32-bit ARM cross-compiling, but we cheated in the earlier CI build jobs by using Linaro/Raspbian compiler toolchain. Somehow the Raspbian's linker simply "ignores" those indirect library dependencies or it uses other mean to locate them (but I doubt that), and so it does not have linker issues with libreadline.so (depends on tinfo), libGLESv2.so (depends on glapi), etc. The other ARM compiler toolchains from Linaro seem to be more strict in this regard. Most likely the raspbian's linker is a gold linker.
This commit could also potentially fix a known issue in our FindUrho3D.cmake module where we have to hardcode the library dependencies that libUrho3D.so in turn depends on (to be investigated later).
2016-08-05 18:41:52 +08:00
Yao Wei Tjong 姚伟忠
a01ee5ec30 For CI - add new CI jobs for 32-bit generic ARM builds. 2016-08-05 18:33:35 +08:00
Yao Wei Tjong 姚伟忠
623511f19f Workaround emcc bug on Windows where it did not handle 'nul' correctly.
A new issue or PR will be submitted to Emscripten upstream to have this bug fixed properly. Until such time we can do a emcc version check to skip this workaround when it is not required anymore.
Also add new compiler flag for Clang to suppress the unused '-mno-sse' warnings.
2016-08-03 14:36:25 +08:00
Yao Wei Tjong 姚伟忠
69fc081d1c Only perform the cleanup process on non-Windows host systems. 2016-08-03 01:16:01 +08:00
Yao Wei Tjong 姚伟忠
d56bd40492 Perform clean up to ensure the headers are correctly "installed". 2016-08-03 00:17:45 +08:00
Yao Wei Tjong 姚伟忠
f9b23104dd Fix Mir and Wayland auto-detection to also check on EGL. 2016-08-03 00:16:25 +08:00
Yao Wei Tjong 姚伟忠
576b6ea7cf Better multiarch support in auto-detection.
This should also solve the problem with cross-compiling other target triplets as there is no more hardcoding.
2016-08-03 00:16:25 +08:00
Yao Wei Tjong 姚伟忠
7c90c2c0ec Simplify command to detect predefined macros of the chosen compiler.
Add new CMake module for detecting host capability.
2016-08-03 00:16:23 +08:00
Yao Wei Tjong 姚伟忠
9fee916c55 For documentation - use https protocol when it is available. 2016-07-24 13:39:14 +08:00
Yao Wei Tjong 姚伟忠
20da34f21b Auto-generate Urho3DAll.h header file. Close #1472. 2016-07-18 22:40:45 +08:00
Yao Wei Tjong 姚伟忠
9183bdfc4e Fix URHO3D_PACKAGING support for Android build.
When the option is enabled, PackageTool host tool will be built and used to package the assets into pak files.
2016-07-08 22:38:08 +08:00
Yao Wei Tjong 姚伟忠
3b1575fe0b Fix memory linker flags setup for Web build.
This is a regression issue. We used to configure it globally before moving it to setup_target() macro. There is a pro and con on where to configure the memory linker flag. If we do it globally then we cannot alter the total memory size per target application (if a project has multiple targets). However, since there is a bug in its current implementation in the setup_target() macro, the logic is moved back again to global section a quick fix for this bug. This means we could not have alternative memory size in any of the sample targets, which we do not do anymore after the default memory size has been increased to 128 MB.
2016-07-08 21:53:27 +08:00
Yao Wei Tjong 姚伟忠
fff8b782b1 Fix cross-compiling builds using readline shared library. 2016-06-22 18:06:21 +08:00
Yao Wei Tjong 姚伟忠
ff64de61be Initial support for Linux on generic ARM cross-compiling.
Close #1384.
2016-06-10 19:14:34 +08:00
Yao Wei Tjong 姚伟忠
5bdd519ce7 Another attempt to reenable AS wrapper for 64-bit ARM platform.
For CI - switch all the Android CI jobs to use Clang compiler toolchian instead of GCC compiler toolchain. The old GCC 4.9 is not able to handle C++11 standard for AS wrapper. Besides, the latest change log in Android NDK has marked GCC as deprecated and recommended developers to migrate to Clang.
2016-06-10 17:17:21 +08:00
Yao Wei Tjong 姚伟忠
64d975ba1a Add initial build support for generic ARM platform.
Add a new build option "ARM_ABI_FLAGS" for supplying additional ABI compiler flags when targeting generic arm.
Fix Linux build from using OpenGLES instead of GLEW, fix RPI build from using wrong OpenGLES library, fix iOS build from using arm-specific compiler flags directly which would cause problem in universal binary build containing iphonesimulator archs as well.
And other minor refactoring.
2016-06-10 17:17:21 +08:00
proller
0dc85f14a9 compile on arm arch with opengles2 2016-06-10 17:17:20 +08:00
Yao Wei Tjong 姚伟忠
3afe44678c Set the compiler flags at the target level when enabling PCH.
We do not support disabling PCH per compilation unit anymore so we do not need to use custom compiler flags per compilation unit. Using this kind of configuration would result in unwanted target rebuild when the list of compilation unit gets changed due to new/deleted source files for the target in question.
2016-06-09 20:42:22 +08:00
Lasse Öörni
84eca64c6b Use rfc1034identifier modifier for the bundle name so that Urho3D samples build successfully for iOS out of the box. 2016-06-08 20:37:09 +03:00
Yao Wei Tjong 姚伟忠
9345cff42e Remove custom memory adjustment as the default is set to 128 MB now. 2016-06-05 13:17:28 +08:00
Lasse Öörni
98dfaf3c75 Add Boost Preprocessor library to Source/ThirdParty. Force C++11 for AngelScript / Emscripten combo. Default to CharacterDemo instead of NinjaSnowWar in Urho3DPlayer on Emscripten due to missing Network subsystem. 2016-06-02 20:55:52 +03:00
nathan
30f9d91bdd Formatted stuff in a format more appropriate for Urho. See previous commit message for build instructions.
Note that I quadrupled the default emscripten memory size as I found the 32 MB was all but always too small.
2016-05-31 00:26:39 +02:00
nathan
d7b0604d93 Made Angelscript work on the Emscripten build. Not thoroughly tested!!!
-Has been tested by running Urho3DPlayer with the 12_PhysicsStressTest script
 (the file copied in place of NinjaSnowWar.as requested)
-built with "-std=gnu++14 -I/usr/include/boost" for the CMAKE_CXX_FLAGS
 and "-I/usr/include/boost" for the CMAKE_C_FLAGS.
  ** /usr/include/boost contains a simlink pointing to itself so that boost/
     preprocessor____ can be found
-Networking still doesn't work, so NinjaSnowWar shouldn't work
-Debug builds did not work for me: see http://urho3d.prophpbb.com/topic2151.html
-Defining FORCE_AS_PORTABLE can be used to force it to use the generic build
 with, for example, a gcc build (which should allow more apples-to-apples
 testing of the efficiency of the bindings)
-Discussion of this work originally at http://urho3d.prophpbb.com/topic2044.html
2016-05-30 22:32:48 +02:00
Yao Wei Tjong 姚伟忠
965e646fb5 Minor clean up on build script. 2016-05-08 09:44:32 +08:00
Yao Wei Tjong 姚伟忠
83a1f3889b Enhance buildsystem to support MSVC to be used in other build tools.
Related to #1328.
2016-05-07 18:09:05 +08:00
Yao Wei Tjong 姚伟忠
fb47f495da For CI - check the time each minute instead of at each post build step.
This should fix 2 things: 1) long running glew compilation being killed by Travis CI due to absent of output; 2) long running universal binary for Urho3D library target on iOS build overshoot the build time limit.
2016-04-16 20:24:34 +08:00
Yao Wei Tjong 姚伟忠
8d77644a7e Create the symlink for the "Autoload" directory in the build tree. 2016-04-15 23:08:25 +08:00
Yao Wei Tjong 姚伟忠
f657a70b18 Fix STBI_NO_SIMD wrongly being defined on iOS build. 2016-04-07 23:15:13 +08:00
Yao Wei Tjong 姚伟忠
9181173e43 For Travis - do not split the time when reaching each make's target.
Tighten up to only perform more granular timeup check on the longest build process on Xcode as it may overshoot due to universal binary build.
2016-04-06 13:24:46 +08:00
Yao Wei Tjong 姚伟忠
01b86ba68a For Travis CI - more granular timeup check to avoid timeout error.
[ci only: OSX] [skip appveyor]
2016-04-05 16:36:33 +08:00
Yao Wei Tjong 姚伟忠
9571cfe2a8 Only give MinGW compiler version too low warning once.
[ci skip]
2016-04-05 07:34:31 +08:00
Yao Wei Tjong 姚伟忠
e6121551bc Refactor SIMD support. Related to #1293. 2016-04-05 06:35:47 +08:00
Yao Wei Tjong 姚伟忠
c9de118b01 For MSVC compiler, make COMPILER_VERSION synonym to MSVC_VERSION. 2016-04-01 07:43:46 +08:00
Yao Wei Tjong 姚伟忠
ce434a5057 Attempt to fix nanodbc library build using VS2015.
Disable URHO3D_DATABASE_ODBC build option when MSVC compiler version is less than 14.0 (VS2015).
[skip travis]
2016-03-31 13:29:51 +08:00
Yao Wei Tjong 姚伟忠
929d8acbae Misc. bug fixes and refactoring in configuring SDL library build.
- Fix the regex to get the shared library soname correctly.
- Use the GCC_ATOMIC and CLOCK_GETTIME whenever they are available.
- Reorganize the if-else block in the SDL CMakeLists.txt to prevent Unix-like platforms (e.g. Android) from entering the block meant for genuine Unix/Linux.
- and more.
2016-03-30 07:15:20 +08:00
Yao Wei Tjong 姚伟忠
41dc3142aa Fix performance issue on Emscripten build due to wrong SSE detection.
[ci package]
Close #1259.
2016-03-21 12:55:45 +08:00
Yao Wei Tjong 姚伟忠
771ee02b64 Also install copy of runtime DLL to the tool directory as necessary.
Close #1214.
2016-03-20 13:23:52 +08:00
Yao Wei Tjong 姚伟忠
650238cb0b Fix the XAudio2 detection logic on Windows platform. 2016-03-20 11:20:49 +08:00
Yao Wei Tjong 姚伟忠
d4fb578645 Misc. bug fixes on the new FindDirectX.cmake module.
The module does not use any of the internal Urho3D CMake variables now, so in theory it could be used for other projects too.
Close #1261. Close #1254.
2016-03-19 19:31:33 +08:00
Yao Wei Tjong 姚伟忠
ccbc15f6a6 Fix MinGW build on Windows host system.
Close #1247. Close #1251.
2016-03-18 00:38:13 +08:00
Yao Wei Tjong 姚伟忠
be2ae85427 Fix all the cross-compiling builds due to bugs in SDL CMakeLists.txt.
Fix SDL library build on iOS platform.
2016-03-16 01:45:09 +08:00
Yao Wei Tjong 姚伟忠
06bcfbeb7b Fix all the cross-compiling builds due to bugs in SDL CMakeLists.txt.
Fix SDL library build on Web platform.
2016-03-16 01:45:08 +08:00
Yao Wei Tjong 姚伟忠
3e40a5ebeb Fix all the cross-compiling builds due to bugs in SDL CMakeLists.txt.
Fix SDL library build on Windows platform.
2016-03-16 01:45:08 +08:00
Yao Wei Tjong 姚伟忠
f5fcfc48f1 Set CMake minimum version to 3.2.3 for Windows platform.
This is in preparation to use optional components feature of find_package() command for FindDirectX.cmake module (was FindDirect3D).
2016-03-16 01:45:08 +08:00
Yao Wei Tjong 姚伟忠
71efb146cb Refactor the CPU instruction extensions detection mechanism.
Fix SDL build on the latest Raspbian Jessie release.
2016-03-16 01:45:08 +08:00
Yao Wei Tjong 姚伟忠
14d4e0d378 Fix all the cross-compiling builds due to bugs in SDL CMakeLists.txt.
Fix SDL library build on Linux, Android, and RPI platforms.
2016-03-16 01:45:08 +08:00
Yao Wei Tjong 姚伟忠
a09a153f5e Integrate SDL's original CMakeLists.txt into Urho3D build system.
Close #1046. Close #1123. Close #1172.
2016-03-16 01:44:11 +08:00
Yao Wei Tjong 姚伟忠
ccf6648eb3 Utilize new SDLActivity's get arguments feature. 2016-03-16 01:42:01 +08:00
Yao Wei Tjong 姚伟忠
5bcd5e4b1d Merge SDL 2.0.4
- Revert back commits from PR #191. The media keys support on Linux/x11 platform will be reinvestigated later.
- Add additional include dir for RPI platform. This change is to keep the original SDL/src/video/raspberry/SDL_rpivideo.h header file happy. Previously we were using a slightly altered header file.
- Merge changes from SDL's android-project template.
- Add new source files for Android platform into SDL's CMakeLists.txt. Use new SDL hint to separate mouse and touch events on Android platform. Strangely though a similar hint does not exist on iOS platform, so we retain our local changes to suppress emulated events on iOS platform.
- Adjust OSX and iOS linker flags to include more frameworks.
- Turn ARC on when compiling Objective-C on iOS platform.
- Enable SDL_WINDOW_ALLOW_HIGHDPI on all Apple platforms. Replace all the SDL_WindowGetSize() call with SDL_GL_GetDrawableSize() call in all the graphics backend implementation classes. The former now returns the number in screen coordinates while the latter returns the number in pixels suitable for setting up the glViewport.
- Always use fullscreen mode for iOS platform. Revert back local changes in SDL src/video/uikit/SDL_uikitviewcontroller.m.
2016-03-16 01:09:49 +08:00
Yao Wei Tjong 姚伟忠
d5d4409bc1 Update OSX and iOS bundle info plist.
Set the iOS initial device orientation and status bar flag to match with what will be set programatically later to avoid unwanted artifacts during app launches. Also set the new iOS key "UIRequiresFullScreen" to opt out from iOS 9 Slide-Over and Split-View. User making non-gaming apps using Urho3D may want to remove this iOS key though.
[ci skip]
2016-02-04 12:07:44 +08:00
Yao Wei Tjong 姚伟忠
361e426704 Fix post build script to only do copy when it is absolutely required.
[ci only: master, AppVeyor, OSX]
2016-02-03 00:02:01 +08:00
Yao Wei Tjong 姚伟忠
1e311acb6a Speed up build for Debug configuration by building only active arch. 2016-02-02 22:19:57 +08:00
Yao Wei Tjong 姚伟忠
a854b58371 Remove CMake workaround for enabling c++11 standard for Clang.
The bug appears to be fixed already in the latest CMake version.
2016-02-01 12:48:49 +08:00
Yao Wei Tjong 姚伟忠
cb82cf181c Do not search for Readline on Android, iOS, and Web platforms. 2016-02-01 11:12:27 +08:00
Yao Wei Tjong 姚伟忠
a30c075189 Use stronger hint for 64bit Debian-based distro for finding 32bit lib. 2016-01-27 14:21:08 +08:00
urho3d-travis-ci
c4f6f315ff Travis CI: bump copyright to 2016.
[ccache clear]
2016-01-26 13:55:03 +00:00
Yao Wei Tjong 姚伟忠
2d9502496b Adapt the ODBC_LIBRARIES for Windows platform based on nanodbc. 2016-01-25 16:13:02 +08:00
Yao Wei Tjong 姚伟忠
90c97b95c4 Fix try_run logic in FindUrho3D module to support MSVC static runtime.
Close #1140.
2016-01-22 19:13:51 +08:00
Yao Wei Tjong 姚伟忠
d267c5ee3c Fix build system to find 32-bit readline package correctly on Debian. 2016-01-22 13:41:29 +08:00
Yao Wei Tjong 姚伟忠
1066c52fb6 Fix build system to find 32-bit packages correctly on Linux. 2016-01-22 12:01:23 +08:00
Yao Wei Tjong 姚伟忠
105aa2699e Use Readline library when it is found for Lua and isql. 2016-01-22 02:05:30 +08:00
Yao Wei Tjong 姚伟忠
295c4c6a05 For Travis CI - new commit msg pattern to trigger 64-bit only build. 2016-01-22 00:15:45 +08:00
Yao Wei Tjong 姚伟忠
cff5fe2d3d For Travis CI - enable URHO3D_LUAJIT build option on iOS CI builds.
Upgrade to CMake 3.4.1 for OSX CI build jobs.
Close #1146
2016-01-21 19:28:02 +08:00
Yao Wei Tjong 姚伟忠
17734a1b77 Enable LuaJIT universal binary build on iOS platform. 2016-01-21 10:56:58 +08:00
Yao Wei Tjong 姚伟忠
44e7322e4e Enable LuaJIT universal binary build on OSX platform.
Enable universal binary executables by default when targeting 64-bit OSX platform.
2016-01-21 10:56:58 +08:00
Yao Wei Tjong 姚伟忠
da3a82979b Bake URHO3D_TESTING to ensure downstreams get consistent struct size. 2016-01-21 00:01:28 +08:00
Yao Wei Tjong 姚伟忠
e61cf6fc40 Upgrade to LuaJIT v2.1 (unstable) branch. 2016-01-13 01:22:01 +08:00
Yao Wei Tjong 姚伟忠
5a97c68a49 Fix a regression issue caused by external project target renaming.
Close #1137.
2016-01-09 19:25:44 +08:00
Yao Wei Tjong 姚伟忠
df2e152a6c Fix 64-bit ABI detection on iOS platform again.
Older Xcode/lipo tool may not recognize 64-bit ARM arch as 'arm64' yet, so use 'x86_64' as the grep keyword instead.
[skip appveyor] [ci only: OSX]
2016-01-07 16:16:12 +08:00
Yao Wei Tjong 姚伟忠
e9570d33b4 Enable color diagnostics for GCC 4.9.1+. 2016-01-06 16:38:59 +08:00
Yao Wei Tjong 姚伟忠
21b01fcd5b Refactor how the EXE and SHARED linker flags are being setup. 2016-01-06 16:38:59 +08:00
Yao Wei Tjong 姚伟忠
bc64b053a3 Bake URHO3D_LUAJIT as downstream project needs extra linker flags.
Without these extra linker flags the executable would most likely get a runtime error, especially when targeting 64-bit OSX platform.
2016-01-06 16:38:59 +08:00
Yao Wei Tjong 姚伟忠
3c7b37c972 For Travis CI & AppVeyor - simplify SDK installation process.
The wait_for_block() was originally needed for iOS platform as it used to install very slowly (exceeds 10 minutes) due to configuration mistake. It should install just in a few minutes now.
2016-01-06 16:38:58 +08:00
Yao Wei Tjong 姚伟忠
f2e7eec61a Fix compiler ABI detection for iOS platform. 2016-01-06 16:38:58 +08:00
Yao Wei Tjong 姚伟忠
431559c2bd For Travis CI & AppVeyor - unified 'ci' rake task and spring cleaning. 2016-01-06 16:38:58 +08:00
Yao Wei Tjong 姚伟忠
891bde9325 Fix try_run() logic on WIN32 platform with both Release and Debug libs. 2015-12-28 17:01:35 +08:00
Yao Wei Tjong 姚伟忠
bf50a58a0a Fix clang-tools build.
[skip appveyor] [ci only: Annotate]
2015-12-27 15:51:28 +08:00
Yao Wei Tjong 姚伟忠
108705d0e2 Bake compiler defines used by the database subsystem.
The auto-discovered variables are removed as build options from cmake-gui when it is invoked by Urho3D downstream projects.
Still, ensure the auto-discovered variables prevail over conflicting values potentially specified by user manually or via CLI.
2015-12-26 19:38:17 +08:00
Lasse Öörni
afd95f09d3 Do not copy shader compiler DLL in OpenGL build. 2015-12-25 16:17:14 +02:00
Lasse Öörni
564647df8a Fix SDL compilation missing DX includes when using OpenGL and DirectX SDK. 2015-12-25 16:17:13 +02:00