When a release tag is detected in a commit, instruct CI build to perform a released package build that uploaded into release directory instead of Snapshots directory.
[ci package]
- When performing CI build for iOS platform, suppress all warnings. Non-CI build will still receive them.
- Automatically instruct Travis CI to do packaging when AngelScript or LuaScript API have changed.
Additionally, enhance iOS-specific Urho3D_universal custom target to perform initial check to see a rebuild is really necessary.
[ci package]
Travis-CI Ubuntu build environment requires additional software package to generate RPM package.
Travis-CI does not like iOS 64-bit build that generates >4MB log and kills the build process. Workaround by trying to rebuild universal binary quietly, hopefully the rebuild would not exceeds 10 minutes or otherwise Travis-CI would kill the process again for the other reason: no log activity. Finger cross.
- Prevent packaging from being accidentally invoked by a pull request or a commit on non-master branch.
- Generate documentation before packaging if it is not yet generated in previous step.
- When packaging for iOS platform, rebuild Urho3D library as Mach-O universal binary.
- When packaging for Linux platform, also invokes RPM and Debian CPack generators.
- Perform shallow clone when building site documentation to speed up cloning process.
- Perform unshallow pull when packaging so that 'git describe' gives correct commit count since last tag.
- Only perform packaging when all the previous steps are successful. Reduce chances of binary package with not up-to-date documentation.
- When packaging for iOS platform, generate the documentation quietly (no stdout but still stream error to stderr).
Detected by Travis CI build. With this change, FindUrho3D module should be able to find Urho3D libs in the following scenarios:
- only debug version is available
- only release version is available
- both debug version and release version are available
Request CI build to use a Release build configuration [ci package].
The purpose of Urho3D-CMake-common module is to store all the commonly used CMake commands and macros in one place so that they can be reused by other external projects using Urho3D as external library by simply including this module in their own CMakeList.txt.
- Fix finding Urho3D library when only debug version is available.
- Keep the library dependencies in the list as they are, even if that means a same library being listed twice (to fix dynamic library build for Windows platform).
- MinGW cross-compiling toolchain already has PIC flag set by default, so skip setting it one more time (to suppress compiler warnings spam).
Also:
- Enhance generated Eclipse project setting file to additionally use gcc/g++ error parser.
- Enhance cmake_gcc.sh script to fallback to find alternative CMake toolchains directory.
- Enhance Rakefile:
- New scaffolding task to create new project using Urho3D as external library. At the moment only works in Unix-like platforms.
- Build in Debug mode instead of Release mode as it should capture more potential issues.
The API documentation update is expected to fail when remote HEAD moves (i.e. there are new pushes while Travis CI build is in progress). Enhance the script one more time so that it always attempts to update API documentation on every build.
Due to git push failure from detached HEAD, the error log in Travis CI build contains GH_TOKEN for worker account. A new GH_TOKEN is now generated.
Enhance the script so that it does not spit out any output or error when pushing. The script still can rely on command exit status, however.
Also:
- Setup doxygen configuration on the fly to use minimal theme and to produce SVG instead of PNG.
- Change how the GH_TOKEN is supplied as the GIT version in Travis VM (Ubuntu) does not seem to read the credentials from file store correctly.
- Only generate site documentation after the CI build test has passed.
- Add Ubuntu PPA to install a more recent version of Doxygen.