Commit Graph

504 Commits

Author SHA1 Message Date
Yao Wei Tjong 姚伟忠
1e7ec258d2 Better CMake error message when compiler not able to handle the flags.
With the precompiled header support now properly enabled for GCC (including all other cross-compiling toolchains based on GCC) and Clang, any incompabitility between the C++ compiler and the compiler flags required by Urho3D will be thrown out earlier at the time when CMake is about to generate the build tree, which is a good thing. Previously user would probably only know this much later when trying to build the project.
2015-02-03 22:38:27 +08:00
Lasse Öörni
4d69285422 Update to kNet master branch latest revision, with Urho's custom flow control re-applied on top. Fixes #645. 2015-02-03 01:56:07 +02:00
Yao Wei Tjong 姚伟忠
060801abcc Correct MinGW sysroot path for RedHad-based host system.
[ci skip]
2015-02-02 20:42:23 +08:00
Yao Wei Tjong 姚伟忠
cfff44873f Bump missed out files. [ci skip]
$ for f in `git grep -l '2008-2014 the Urho3D project'`; do perl -pi -e 's/2008-2014 the Urho3D project/2008-2015 the Urho3D project/g' $f; done
2015-02-01 08:16:05 +08:00
Lasse Öörni
bb2ebf7568 Bump copyright to 2015. 2015-01-31 21:03:53 +02:00
Yao Wei Tjong 姚伟忠
88220f4f8a Simplify the variables used in two-phase setups of enable_pch() macro. 2015-01-30 11:46:07 +08:00
Yao Wei Tjong 姚伟忠
8e81d3ff36 Use regex replacement to handle path with spaces in between correctly.
Enhance build scripts to handle source tree and build tree with spaces.
Fix PCH generation with incorrect compiler flags caused by -fPIC and -fpic from being added at the same time.
Fix compiler warning on Android platform with PCH enabled on the external main project due to CMake bug in 'VISIBILITY_INLINES_HIDDEN' implementation.
Close #637.
2015-01-29 20:15:13 +08:00
Yao Wei Tjong 姚伟忠
4db362f95c Use the actual dependency list returned by the compiler. 2015-01-29 16:13:43 +08:00
Yao Wei Tjong 姚伟忠
9c61a7673b Add option to exclude individual C++ source file from using PCH.
Clean up enable_pch() macro and minor update on code comments.
2015-01-29 16:13:43 +08:00
Yao Wei Tjong 姚伟忠
51178c4328 Enable PCH for Assimp library with GCC/Clang compilers too.
Simplify to always use force include when enabling the PCH.
2015-01-29 16:13:43 +08:00
Yao Wei Tjong 姚伟忠
e0bab60f46 On MSVC also enable PCH in two phases to cater for generated C++ files. 2015-01-29 16:13:43 +08:00
Yao Wei Tjong 姚伟忠
7ddd46b172 Move GenerateExportHeader module inclusion to Urho3D common module. 2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
11814c9cc6 Add check so that precompiled header is only included for C++ sources. 2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
18261e3d2a Use Cmake function to determine whether to add compiler export flags. 2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
f50ffaff8c Fix precompiling header file for Clang. [ci rebase] 2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
8f2ac49cb0 Suppress GCC/Clang warning on pragma once on main file.
Fix precompiling header file on MinGW builds.
2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
fdcd44381a Keep the CMake version less than 2.8.12 happy. 2015-01-29 16:13:42 +08:00
Yao Wei Tjong 姚伟忠
8743413816 Attempt to enable precompiled header support for GCC and Clang. 2015-01-29 16:13:41 +08:00
Yao Wei Tjong 姚伟忠
b82fe08521 Fix wrong include search path for Bullet and Lua. Fix #640. 2015-01-27 16:46:52 +08:00
Yao Wei Tjong 姚伟忠
fd84488a73 Add new build option to setup main executable as console application.
The new build option is only applicable for Windows platform only.
2015-01-21 16:50:09 +08:00
Yao Wei Tjong 姚伟忠
69fdf1edfb Fix cross-compiling build due to incorrect CMake conditional check.
Related to commit f9158a045e.
2015-01-18 22:52:28 +08:00
Yao Wei Tjong 姚伟忠
f9158a045e Install binaries to the "bin" subdir relative to install prefix.
Fix the Android installing and packaging steps which previously failed to install all the sample libs.
Close #616.
2015-01-18 22:29:57 +08:00
Yao Wei Tjong 姚伟忠
05dd995b85 Refactor all the codes and scripts to use the renamed 'bin' subdir. 2015-01-18 21:40:54 +08:00
Yao Wei Tjong 姚伟忠
b86c4927aa Enhance setup_main_executable() to support MACOSX_BUNDLE individually.
When the URHO3D_MACOSX_BUNDLE build option is not set, passing the MACOSX_BUNDLE explicitly when setting up a main executable target will make the corresponding target to be built as a bundle.
2015-01-18 15:59:11 +08:00
Yao Wei Tjong 姚伟忠
33d17b6abb Clean up the file formatting on the new template files. 2015-01-17 18:50:12 +08:00
Yao Wei Tjong 姚伟忠
8a421a4012 Add new files for URHO3D_MACOSX_BUNDLE build options. 2015-01-17 18:41:33 +08:00
Yao Wei Tjong 姚伟忠
1b2dcac1d2 Add new URHO3D_MACOSX_BUNDLE build option to build bundled apps on OSX. 2015-01-17 18:34:22 +08:00
Yao Wei Tjong 姚伟忠
c6045b99b7 Skip header installation when destination include dir is not defined.
This should prevent cross-compiling with host tool building from installing header files for the host target.
2015-01-16 13:59:37 +08:00
Yao Wei Tjong 姚伟忠
8682ba781a Install header files for Lua/LuaJIT and tolua++ 3rd party libraries.
Fixes #610.
2015-01-16 13:20:44 +08:00
Yao Wei Tjong 姚伟忠
bffa727e2e Attempt to suppress Xcode multi-group resource reference warnings. 2015-01-14 13:32:11 +08:00
Yao Wei Tjong 姚伟忠
1f0897ec9c Fix the dumb version of post-CMake command to always exit successfuly.
External project may not have install steps defined but the post-CMake fix is still being applied causing build failure previously.
2015-01-11 22:01:42 +08:00
Yao Wei Tjong 姚伟忠
8bb7d680ed Dumb down the post-CMake fix for iOS platform. Fixes #602.
The post-CMake fix is now reapplied on each iOS build without first checking it needs the fix or not. But since the 'sed' fix is harmless to be repeated, it is ok to do so.
The original 'smart' post-CMake fix uses shell [] operator but have to be removed to keep the CMake 3.0.0 and 3.0.1 users happy.
[ci skip]
2015-01-11 13:50:45 +08:00
Yao Wei Tjong 姚伟忠
3ae2942ad2 Move the cricial post-CMake fix into CMake rules for iOS platform.
This should ensure the Xcode project generated from user calling cmake-gui directly or cmake directly (not via our build scripts) would also geting the critical fix, and also whenever CMake performs a rerun internally then our post-CMake fix is reapplied automatically.
2015-01-09 18:02:42 +08:00
Yao Wei Tjong 姚伟忠
35307869ee Clean up to remove unused CMake variables.
LIBS is now defunct. No more dual purpose usage.
INCLUDE_DIRS_ONLY is renamed to INCLUDE_DIRS.
LINK_LIBS_ONLY is renamed to LIBS.
2015-01-07 21:51:00 +08:00
Yao Wei Tjong 姚伟忠
bde0b2bcfe Fix Android build on Windows host system without MKLINK capability. 2015-01-06 22:20:04 +08:00
Yao Wei Tjong 姚伟忠
2e9d9f4806 Fix MinGW build on Windows host system. 2015-01-06 17:25:58 +08:00
Yao Wei Tjong 姚伟忠
71862e42c1 Reinstate the MSVC "workaround" include path fix. 2015-01-04 22:40:40 +08:00
Yao Wei Tjong 姚伟忠
2b353512c3 Fix freetype2 headers installation - missed one file earlier. 2015-01-04 22:40:40 +08:00
Yao Wei Tjong 姚伟忠
4c17b03173 Remove existing include path abstraction.
Remove engine's sub-CMakeLists.txt.
2015-01-04 22:32:42 +08:00
Yao Wei Tjong 姚伟忠
1cbbb6b805 Finalize SDK-like include dirs clean up. Fix build using MSVC. 2015-01-04 22:32:41 +08:00
Yao Wei Tjong 姚伟忠
a4a4cde236 Refactor all CMake toolchains to reset CMAKE_INSTALL_PREFIX variable.
Add new build options for specifying tool-prefix and target-sysroot in cross-compiling build.
Add new IOS_SYSROOT variable to store the path to iOS sysroot and use it to set CMAKE_FIND_ROOT_PATH variable.
Now also generate pkg-config Urho3D.pc for iOS platform.
For Travis CI - simplify SDK installation logic. Use DESTDIR=~ to avoid sudo.
2015-01-04 22:32:41 +08:00
Yao Wei Tjong 姚伟忠
1b465fb704 Clean up FindUrho3D.cmake module.
Add new build options to override 64-bit Linux package setup for Debian and Redhad -based host systems.
For Travis CI - fix 64-bit RPM package generation to install library in /usr/lib64, also fix external project build test using Urho3D library from SDK.
2015-01-04 22:32:41 +08:00
Yao Wei Tjong 姚伟忠
4feb135281 Clean up SDK include dirs. Refactor FindUrho3D CMake module.
For Travis CI - add new steps to install the Urho3D SDK and to reference Urho3D library from the installed SDK.
2015-01-04 22:32:41 +08:00
Yao Wei Tjong 姚伟忠
16e05862ab Preparation for SDK include dir cleaning up. 2015-01-04 22:32:40 +08:00
Yao Wei Tjong 姚伟忠
325a4f7365 Refactor to use the newly renamed Source/Urho3D directory. 2015-01-04 22:32:40 +08:00
Yao Wei Tjong 姚伟忠
8e6fe0da14 Refactor LuaJIT build scripts - no more generated CMakeLists.txt. 2015-01-04 22:32:39 +08:00
Yao Wei Tjong 姚伟忠
67e415acc8 Fine tune LuaJIT target arch detection logic. 2015-01-04 22:32:39 +08:00
Yao Wei Tjong 姚伟忠
4db162eb62 Lua/LuaJIT host tool building while cross-compiling in one go.
For Travis CI - reenable CI build with Lua/LuaJIT build option turned on.
2015-01-04 22:32:39 +08:00
Yao Wei Tjong 姚伟忠
d75c592bd2 Add new engine parameter to set the location of resource prefix path.
Remove temporary measure instead use the new URHO3D_PREFIX_PATH environment variable to set the resource prefix path for testing the executables.
2015-01-04 22:32:38 +08:00
Yao Wei Tjong 姚伟忠
98d410091e Fix temporary measure for creating asset dir symlink in Ubuntu host.
Also:
- fix Android-CI build which does not need the symlink creation in the first place.
- fix an existing Xcode build configuration bug which was left undetected until now.
2015-01-04 22:32:38 +08:00
Yao Wei Tjong 姚伟忠
20e21050e9 Rename everything 'RASPI' to 'RPI'. [ci rebase] 2015-01-04 22:32:38 +08:00
Yao Wei Tjong 姚伟忠
d8a3b8b4f4 Make repo root is also CMake source tree for the Urho3D project.
Build tree location is now fully user defined. The build tree location could also be the same as source tree, although it is not recommended.
2015-01-04 22:32:38 +08:00
Yao Wei Tjong 姚伟忠
514847fb99 Adjust batch files and shell scripts to take build tree as user input.
Refactor to use a single generic batch file/shell script that does the actual work.
2015-01-04 22:32:38 +08:00
Yao Wei Tjong 姚伟忠
4f60123516 Move CMake modules and toolchains to the new source tree. 2015-01-04 22:32:38 +08:00