Commit Graph

504 Commits

Author SHA1 Message Date
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 姚伟忠
c4a92e97b0 Adapt the 'legacy' Android toolchain file to support Android NDK r12b.
This will be the last time we modify this toolchain file for Urho3D project. We are forced to touch it one last time because we need to bump the NDK version in urho3d/android-ndk repository.
2016-07-18 22:01:10 +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 姚伟忠
3ab69da3af Use __ANDROID__ compiler define consistently. 2016-06-10 20:28:07 +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 姚伟忠
bfa62a0575 Enhance Android/CMake toolchain file to support NDK r11 new layout. 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 姚伟忠
bdd9b5f7fc Update CMake/Android toolchain file to support NDK r11c.
[ci only: Android] [skip appveyor]
2016-05-04 22:34:12 +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
Yao Wei Tjong 姚伟忠
1c640da5d4 Document all the possible output variables.
[ci skip]
2015-12-25 22:22:40 +08:00
Yao Wei Tjong 姚伟忠
5af983234f Check the compiler defines at the time when the lib is built instead. 2015-12-25 17:55:17 +08:00
Yao Wei Tjong 姚伟忠
68e2813298 Attempt to use try_run logic to auto-discover build options.
For AppVeyor - let URHO3D_D3D11 be auto-discovered when scaffolding.
Close #1066.
2015-12-25 10:37:56 +08:00
Yao Wei Tjong 姚伟忠
a2122c3063 For downstream - fix try_compile logic on iOS build.
[skip appveyor] [ci only: OSX]
2015-12-22 22:15:14 +08:00
Yao Wei Tjong 姚伟忠
a3f24a38cb For downstream - fix try_compile logic on Android build.
[skip appveyor] [ci only: Android, Emscripten]
2015-12-20 23:23:59 +08:00
Yao Wei Tjong 姚伟忠
a66ad9b384 Cache the GCC c++11 standard test result. Remove redundant linker flag. 2015-12-20 13:00:22 +08:00
Yao Wei Tjong 姚伟忠
ed28d2b24f Attempt to fix Android build with PCH enabled targeting API >= 16.
Fix #1100.
[skip appveyor] [ci only: Android, OSX, Emscripten]
2015-12-19 17:37:07 +08:00
Yao Wei Tjong 姚伟忠
ff1278051f Fix the problem of enabling C++11 standard for MinGW on Windows host. 2015-12-18 15:12:12 +08:00
Yao Wei Tjong 姚伟忠
ad170b5893 For downstream - show try_compile output in case of compilation error.
[ci skip]
2015-12-18 00:00:51 +08:00
Yao Wei Tjong 姚伟忠
6e50708301 Modify the try_compile syntax to the one that CMake 2.8.7 supports.
Temporarily still exclude iOS and Android.
2015-12-17 22:27:03 +08:00
Yao Wei Tjong 姚伟忠
df18e41ee6 Fix try_compile execution for MinGW STATIC build and 32-bit build.
[ccache clear]
2015-12-16 23:37:57 +08:00
Yao Wei Tjong 姚伟忠
f471dd66dd Refactor installation structure for Windows platform.
Attempt to reenable the try_compile logic to verify if the found Urho3D
library is ABI-compatible with the chosen compiler toolchain.
2015-12-16 22:21:24 +08:00
Yao Wei Tjong 姚伟忠
4014a8c074 Temporarily disable try_compile as it does not work on older CMake. 2015-12-15 00:38:04 +08:00
Yao Wei Tjong 姚伟忠
20ed4836cd Use try_compile construct that is recognized by older CMake version.
Temporarily exclude the ABI check for MSVC as well. Sorry.
2015-12-15 00:12:40 +08:00
Yao Wei Tjong 姚伟忠
1b9b928de0 Temporarily exclude try_compile check for iOS build. 2015-12-14 23:47:55 +08:00
Yao Wei Tjong 姚伟忠
1cd242273e Verify found Urho3D library has matching ABI with the chosen compiler.
Check the CMake minimum version before setting project name as recommended by CMake.
Minor documentation update on how to setup downstream projects using Urho3D library as external library.
For AppVeyor - attempt to add scaffolding test using Urho3D SDK.
2015-12-14 22:43:00 +08:00
Yao Wei Tjong 姚伟忠
94469e689e Fix RPI static build. 2015-12-13 22:36:57 +08:00
Yao Wei Tjong 姚伟忠
55286eb820 Fix host-tool building.
[skip appveyor]
2015-12-13 17:43:54 +08:00
Yao Wei Tjong 姚伟忠
72f954dad0 Enhance Urho3D-CMake-common module to auto find Urho3D library. 2015-12-13 17:13:07 +08:00
Yao Wei Tjong 姚伟忠
32b0b9de1c Fix OSX build for shared library type.
Documentation clean up. Do not need to remind on the URHO3D_STATIC_DEFINE anymore for downstream projects as it is now baked into the export header.
2015-12-12 00:27:16 +08:00
Yao Wei Tjong 姚伟忠
b90c3ba444 For downstream - fix macro redefinition warning on VS static build.
[ci only: AppVeyor]
2015-12-11 23:04:52 +08:00
Yao Wei Tjong 姚伟忠
13e4cc332e For downstream - auto detect Urho3D lib type from build artifact. 2015-12-11 22:54:30 +08:00
Yao Wei Tjong 姚伟忠
b7e777d707 Enhance FindUrho3D module to auto-reconfigure when URHO3D_HOME changes. 2015-12-09 16:01:56 +08:00
Yao Wei Tjong 姚伟忠
3229bcbfe1 Fix bug in FindUrho3D module to prevent issue when being invoked twice.
Fix evaluation of compiler support for gnu++11/gnu++0x standard.
Fix space-in-path support for URHO3D_HOME environment variable.
2015-12-08 22:38:42 +08:00
Yao Wei Tjong 姚伟忠
44609cc90a Fix the FindDirect3D.cmake module to be compatible with older CMake.
[ci only: master, AppVeyor]
2015-11-29 15:01:14 +08:00
Yao Wei Tjong 姚伟忠
2d49c2acaa Correct a missing closing parenthese.
[ci skip]
2015-11-29 14:46:02 +08:00
Yao Wei Tjong 姚伟忠
2e538aa424 Minor refactor of FindXXX CMake modules to use caches more effectively. 2015-11-29 14:34:47 +08:00
Yao Wei Tjong 姚伟忠
dac28acac9 Correct minor typo error in the FindPulseAudio module.
[ci skip]
2015-11-27 01:24:15 +08:00
Yao Wei Tjong 姚伟忠
510f7e31df Add new CMake module to detect PulseAudio development library.
[ccache clear] [ci only: RPI]
2015-11-27 01:17:29 +08:00
Yao Wei Tjong 姚伟忠
7b49e63dc5 Skip installing Emscripten data files when destination var not defined.
For Travis CI - Speed up the CI builds on Mac OSX VM by removing build test for 32-bit OSX build. All OSX since Lion are 64-bit only.
[ci only: Emscripten, OSX] [skip appveyor]
2015-11-23 22:36:05 +08:00
Yao Wei Tjong 姚伟忠
90edf01c7c For Travis CI - avoid CMake 3.4 to fix #1043.
Another attempt to fix Android Intel Atom CI builds.

[skip appveyor] [ci package] [ci only: OSX, Android]
2015-11-22 16:47:38 +08:00
Yao Wei Tjong 姚伟忠
d4929af473 For Travis CI - attempt to fix Android Intel Atom CI builds.
Alter the debug print for troubleshooting iOS CI builds.
[ci package] [skip appveyor] [ci only: Android, OSX]
2015-11-22 12:01:27 +08:00
Yao Wei Tjong 姚伟忠
3ff517743b For Travis CI - set URHO3D_DEPLOYMENT_TARGET build option to 'generic'. 2015-11-22 09:48:43 +08:00
Yao Wei Tjong 姚伟忠
45dcf63f19 Fix build system to install/package Emscripten share js and data files. 2015-11-22 09:48:43 +08:00
Lasse Öörni
e4b5140cab Eliminate KNET_UNIX define from kNet build and consequently from Urho3D client programs. 2015-11-16 14:31:05 +02:00
Lasse Öörni
5b4493f4dc Fix situation where user has MS SDK installed but chooses to use VS2010 or earlier; in this case the DirectX headers/libs from the MS SDK are not found automatically, but rather the DX SDK has to be searched for. 2015-11-12 21:30:51 +02:00
Yao Wei Tjong 姚伟忠
36a93d0680 Refactor URHO3D_64BIT build option handling for MSVC.
For AppVeyor - setup both 32-bit and 64-bit builds.
2015-11-05 00:13:37 +08:00
Yao Wei Tjong 姚伟忠
95580f6ba0 For Appveyor - first attempt to enable 32-bit CI jobs on Windows host. 2015-10-31 23:13:19 +08:00
Yao Wei Tjong 姚伟忠
92b2d9c23e Fix to ensure 'bin' dir in build tree exists before symlink creation. 2015-10-30 22:21:55 +08:00
Yao Wei Tjong 姚伟忠
2ce57b31aa Create symlinks to the asset directories in the build tree.
Enable URHO3D_SAMPLES and URHO3D_LUA by default.
Close #994.
2015-10-30 19:20:16 +08:00
Yao Wei Tjong 姚伟忠
e537dd4467 For Travis CI - remove the unrecognized flag to keep Travis-CI happy.
Current MinGW version on Ubuntu 12.04 LTS is too old. [ci only: master]
2015-10-29 14:43:59 +08:00
Yao Wei Tjong 姚伟忠
8a0a2ecc7c Attempt to use -O3 for MingGW 64-bit and 32-bit Release build.
On 32-bit when SSE is not on then -O3 flag is supplemented with flags to turn off auto-vectorize optimization.
2015-10-29 12:59:01 +08:00
Yao Wei Tjong 姚伟忠
fa82c55efd Suppress warnings on MinGW build. 2015-10-29 11:24:03 +08:00
Yao Wei Tjong 姚伟忠
db5cb36057 Remove the quick fix now that the ABI is correctly detected for MinGW.
Related to #872 and commit 6ca3bdbb1c.
2015-10-28 19:15:59 +08:00
Yao Wei Tjong 姚伟忠
6ca3bdbb1c Rectify the 64-bit detection logic for MinGW compiler toolchain.
Only use stackrealign flag on MinGW SSE 32-bit build.
For Travis CI - fix documentation build on all Windows builds. Fix #951.
2015-10-23 23:07:26 +08:00
Yao Wei Tjong 姚伟忠
6ccf70be10 Add Windows Kit detection for Windows 10.
Close #911.
2015-10-23 22:54:35 +08:00
Yao Wei Tjong 姚伟忠
d3bf75aafc Minor documentation update on desktop deployment target build option.
[ci only: master]
2015-10-18 12:16:57 +08:00
Yao Wei Tjong 姚伟忠
60e971eefe For Travis CI - add new CI job for RPI2 with NEON switch on. 2015-10-17 11:39:19 +08:00
Yao Wei Tjong 姚伟忠
8a447c7eda Enable BT_USE_SSE on Linux platform & BT_USE_NEON on Android platform.
Add new build option URHO3D_NEON to enable/disable NEON code branch.
Fix a bug where previously URHO3D_SSE was also erroneously being used to switch off BT_USE_NEON on iOS.
Add new build option URHO3D_DEPLOYMENT_TARGET to set the GCC/Clang target arch (-march compiler flag). Default value is 'native'. Setting this to any cpu type higher than Pentium 4 may influence the effective SSE level being used in the build. The BulletPhysics library may switch to use higher level SSE as the result, for instance.
2015-10-16 16:32:28 +08:00
Lasse Öörni
f2713d93f1 Force stack realignment on MinGW with SSE. Closes #954. 2015-10-15 15:03:54 +03:00
Yao Wei Tjong 姚伟忠
c5c78603da Remove the workaround command for setting linker flags.
[ci skip]
2015-10-13 09:53:53 +08:00
Yao Wei Tjong 姚伟忠
0e4ba63687 Only initialize the URHO3D_DEFAULT_SSE variable only once. 2015-10-13 09:30:52 +08:00
Jukka Jylänki
f24af4ee9b Enable setting -DURHO3D_SSE=1 on Emscripten, but leave it disabled by default. 2015-10-13 00:30:09 +03:00
Lasse Öörni
52805e2709 Merge remote-tracking branch 'juj/sse_matrix_math' 2015-10-12 11:49:14 +03:00
Yao Wei Tjong 姚伟忠
08e0b3bd62 Switch off SSE when targeting iOS/iPhoneSimulator as well. 2015-10-11 12:54:19 +08:00
Yao Wei Tjong 姚伟忠
c44ff392df Minor clean up to remove redundant linker flag.
[ci skip]
2015-10-11 09:52:00 +08:00
Lasse Öörni
1a317e63ce Actually allow to enable the threading option on Emscripten platform. Define the required compiler & linker flag when enabled. 2015-10-11 01:11:56 +03:00
Jukka Jylänki
00be823f71 Update URHO3D_SSE to denote SSE2. 2015-10-11 00:12:13 +03:00
Lasse Öörni
af7ed744f0 URHO3D_THREADING build option. Closes #939. 2015-10-10 23:17:03 +03:00
Yao Wei Tjong 姚伟忠
ec125f2952 Switch off SSE for 64-bit arm platforms as well.
[ci only: Android, OSX, Coverity]
2015-10-10 23:15:48 +08:00
Yao Wei Tjong 姚伟忠
ace1f1155b Avoid hardcoding the conditional list for URHO3D_SSE build option.
Android on Intel Atom will now have this option and defaulted to true.
2015-10-10 19:16:14 +08:00
Yao Wei Tjong 姚伟忠
fde2ad45ac Fix Android and Raspberry-Pi build by always disabling SSE support.
[ci only: RPI, Android]
2015-10-10 17:49:29 +08:00
Yao Wei Tjong 姚伟忠
9b041c061a Add warning to user on Windows host system without MKLINK privilege.
[ci skip]
2015-10-06 12:15:02 +08:00
Yao Wei Tjong 姚伟忠
86918f97ce When falling back on Windows host system makes a copy immediately.
Close #918.
2015-10-05 19:36:20 +08:00
Yao Wei Tjong 姚伟忠
ff1ee0e4ad Fix the Urho3D DLL installation for targets in external projects. 2015-10-02 14:24:06 +08:00
Yao Wei Tjong 姚伟忠
47526dd443 Attempt to workaround all the limitations for Urho3D DLL installation. 2015-10-01 19:21:29 +08:00
Yao Wei Tjong 姚伟忠
cdb94b1eda Limit the install of Urho3D DLL for CMake version 3.0 or higher.
[ci only: master]
2015-10-01 00:56:55 +08:00
Yao Wei Tjong 姚伟忠
66c6ed92eb Limit the copy/install of Urho3D DLL to targets within Urho3D project. 2015-10-01 00:38:36 +08:00
Yao Wei Tjong 姚伟忠
929c842b57 Copy/Install Urho3D shared library to the runtime dir outside of 'bin'.
Fix doc target dependencies to include other non-generated dox files.
2015-10-01 00:15:26 +08:00
Yao Wei Tjong 姚伟忠
9de78c0a3d Refactor dependency setup for 'doc' target. Close #879.
The doc target now only really does its build action when it detects its documentation is out of date, similar to how other targets behaves.
2015-09-30 10:04:30 +08:00
Lasse Öörni
43c9120e33 Do not use system paths when searching for the d3dcompiler DLL, to avoid using the wrong architecture. 2015-09-29 00:11:45 +03:00
Yao Wei Tjong 姚伟忠
8538620437 Fix Emscripten build using incoming branch 1.34.10.
Close #905.
2015-09-26 12:52:34 +08:00
Yao Wei Tjong 姚伟忠
ba837af5a4 Add skeleton project for AutoBinder tool.
[ci only: Annotate]
2015-09-24 19:57:18 +08:00
Yao Wei Tjong 姚伟忠
dbd23c17a1 Add new wrapper target to invoke the newly added clang-query tool.
It seems there is a bug in the rewriter that prevents it to save the source files with replacements out to disk, so at the moment nothing get changed yet in the source tree.
[ci only: Annotate]
2015-09-19 17:21:02 +08:00
Yao Wei Tjong 姚伟忠
f2289b10e1 Avoid hardcoding to improve the chance of using it on Windows host.
[ci annotate]
2015-09-15 14:57:06 +08:00
Yao Wei Tjong 姚伟忠
440bc484e7 Add skeleton project for Annotator tool.
Currently it just dumps the AST out instead of actually annotating.
[ci only: master, Annotate]
2015-09-14 20:13:26 +08:00
Yao Wei Tjong 姚伟忠
71a8f6d104 Parameterise the asset directory indicator character(s) using env-var. 2015-09-10 00:51:58 +08:00
Yao Wei Tjong 姚伟忠
ac2b2ba121 Add new JNI function to interface with AssetManager.list() method.
Fix #855.
2015-09-08 22:37:45 +08:00
aster2013
fc2a3805ea Remove line end spaces.[ci skip] 2015-09-07 12:22:29 +08:00
aster2013
60dff27440 Merge branch 'spine-spriter-new' 2015-09-07 12:19:24 +08:00
Yao Wei Tjong 姚伟忠
a3e0072e79 Suppress policy CMP0054 dev warnings on Android build.
Enhance android rake task to have additional option to install the APK before testing it.
[ci only: Android]
2015-09-06 13:05:30 +08:00
Yao Wei Tjong 姚伟忠
0a34f1cc97 Fix FindUrho3D.cmake to look for *.bc extension in Emscripten build.
[ci only: Emscripten]
2015-09-06 06:17:26 +08:00
aster2013
5dedc993a9 Remove URHO3D_SPINE option, if exists ThirdParty/spine make URHO3D_SPINE enabled. 2015-09-05 23:44:45 +08:00
aster2013
0cded698e4 Merge from spine-spriter branch.
Main changes:
     Make spriter as a lib
     Enable spine support in AnimatedSprite2D and Animation2D.
2015-09-05 22:23:35 +08:00
Yao Wei Tjong 姚伟忠
3e765ba446 Minor code clean up for build system.
Suppress tolua++ tool not found message in the stderr stream on initial build.
Raise a fatal error message when user attempting to generate VS2008 project with spaces in the source/build tree path.
2015-09-04 13:14:52 +08:00
Yao Wei Tjong 姚伟忠
bf6ae1a0a3 Make the new ABI build option unavailable for MSVC compiler.
[ci skip]
2015-09-04 11:33:57 +08:00
Yao Wei Tjong 姚伟忠
c4a138ae4f Add new build option to allow host tool building to use native ABI.
Possibly fix issue #872.
2015-09-04 11:20:26 +08:00
Yao Wei Tjong 姚伟忠
2731e48405 Improve build robustness. Prevent make clean to remove toluabind.c. 2015-09-03 20:14:23 +08:00
Yao Wei Tjong 姚伟忠
86194164b5 Avoid name clash with EMSCRIPTEN environment variable. Close #871.
[ci only: Emscripten]
2015-09-03 13:41:31 +08:00
Yao Wei Tjong 姚伟忠
4ff826ddf8 Support spaces in source and/or build tree path for Windows build.
Close #779.
2015-08-31 16:15:46 +08:00