Browse Source

doc: some info about Travis.

pull/205/head
Vladimír Vondruš 8 years ago
parent
commit
6158ae0aca
  1. 3
      doc/platforms-ios.dox
  2. 56
      doc/platforms-linux.dox
  3. 31
      doc/platforms-macos.dox

3
doc/platforms-ios.dox

@ -34,7 +34,8 @@ namespace Magnum {
With Apple decision to focus on Metal, iOS OpenGL ES support is stuck on
version 3.0 (i.e., a version before compute shaders are available).
See also @ref Platform::Sdl2Application for more information.
See also @ref Platform::Sdl2Application for more information. Some of the
@ref platforms-macos "macOS platform-specific info" applies here as well.
@section platforms-ios-best-practices Best practices

56
doc/platforms-linux.dox

@ -32,8 +32,64 @@ namespace Magnum {
@m_footernavigation
@todoc packages
@todoc code coverage
@todoc desktop ES
@todoc archlinux PKGBUILDs
@todoc tests, mesa softpipe
@section platforms-linux-travis Setting up Linux build on Travis CI
In general, a Linux build is done by adding the following to your `.travis.yml`
matrix build. Currently Ubuntu 14.04 is the latest you can get. See
[the official documentation](https://docs.travis-ci.com/user/reference/trusty/)
for more information.
@code{.yml}
matrix:
include:
- language: cpp
os: linux
dist: trusty
compiler: gcc
@endcode
It's advisable to use the container builds instead of the sudo-enabled ones as
they are generally much faster to boot up, however they have restrictions on
what packages can be installed. Installing packages is done by adding the
following to your `.travis.yml`
@code{.yml}
matrix:
include:
- language: cpp
os: linux
...
addons:
apt:
packages:
- ninja-build
- libsdl2-dev
...
@endcode
You can find out how's the package named by searching for Ubuntu Trusty
packages. The packages are whitelisted, be sure to check the `ubuntu-trusty`
file in https://github.com/travis-ci/apt-package-whitelist before adding a
package to the list. Some packages might require enabling a third-party PPA, a
whitelist for them is at https://github.com/travis-ci/apt-source-whitelist. If
a package is not whitelisted, you can either request it by opening an issue on
these repos (prepare that it may take *long* to get through in some cases), or
build it manually and then cache the result.
Travis supports ANSI color escape codes, so don't forget to enable colored
output for @ref Corrade::TestSuite output. It supports more than just ANSI
color escaping --- if you use Ninja, it will display just the condensed
single-line output.
@code{.sh}
CORRADE_TEST_COLOR=ON ctest -V
@endcode
*/
}

31
doc/platforms-macos.dox

@ -32,7 +32,7 @@ namespace Magnum {
@m_footernavigation
@todoc homebrew
@todoc travis setup
@todoc code coverage
@todoc bundling, dmg cpack
With Apple decision to focus on Metal, macOS OpenGL support is stuck on version
@ -45,6 +45,35 @@ Official Apple documentation:
- [Best Practices for Working with Vertex Data](https://developer.apple.com/library/mac/#documentation/graphicsimaging/Conceptual/OpenGL-MacProgGuide/opengl_vertexdata/opengl_vertexdata.html)
- [Best Practices for Working with Texture Data](https://developer.apple.com/library/mac/#documentation/graphicsimaging/Conceptual/OpenGL-MacProgGuide/opengl_texturedata/opengl_texturedata.html)
@section platforms-macos-travis Setting up macOS build on Travis CI
A lot of Travis features is shared between Linux and macOS, see
@ref platforms-linux-travis for more information.
In general, a macOS build is done by adding the following to your `.travis.yml`
matrix build. See [the official documentation](https://docs.travis-ci.com/user/reference/osx/)
for more information.
@code{.yml}
matrix:
include:
- language: cpp
os: osx
compiler: clang
@endcode
Most of the build setup can be shared with Linux, as both systems have roughly
the same set of packages. For installing dependencies there's no builtin way,
but you can use Homebrew. Be aware that calling for example
@cb{.sh} brew install ninja @ce by default causes Homebrew to update itself
first. That currently (March 2018) takes almost two minutes. It's possible to
skip the update by setting an environment variable as shown below, however this
might fail in case you need a very recent version of a package.
@code{.sh}
HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja
@endcode
@section platforms-macos-troubleshooting Troubleshooting
- @ref AbstractShaderProgram::validate() expects that the shader has a

Loading…
Cancel
Save