[build] Use mesa-13.0.0-glx in CI builds

This commit is contained in:
Bruno de Oliveira Abinader
2016-11-07 10:54:38 +02:00
parent d0ac12309b
commit 8e99ae44dd
9 changed files with 127 additions and 45 deletions

2
.mason

Submodule .mason updated: 4279f58787...43933edaba

View File

@@ -16,12 +16,12 @@ addons_shortcuts:
addons_qt4: &qt4
apt:
sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ]
packages: [ 'g++-5', 'gcc-5', 'libjemalloc-dev', 'cmake', 'cmake-data',
packages: [ 'g++-5', 'gcc-5', 'libllvm3.8v4', 'libjemalloc-dev', 'cmake', 'cmake-data',
'mesa-utils', 'qt4-default' ]
addons_qt5: &qt5
apt:
sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ]
packages: [ 'g++-5', 'gcc-5', 'cmake', 'cmake-data',
packages: [ 'g++-5', 'gcc-5', 'libllvm3.8v4', 'cmake', 'cmake-data',
'mesa-utils', 'libc6-dbg', 'qt5-default', 'libqt5opengl5-dev', 'qtdeclarative5-dev', 'qtpositioning5-dev', 'qtlocation5-dev' ]
env:

View File

@@ -15,6 +15,7 @@ include(.mason/mason.cmake)
option(WITH_CXX11ABI "Use cxx11abi mason packages" OFF)
option(WITH_COVERAGE "Enable coverage reports" OFF)
option(WITH_OSMESA "Use OSMesa headless backend" OFF)
option(IS_CI_BUILD "Continuous integration build" OFF)
if(WITH_CXX11ABI)
set(MASON_CXXABI_SUFFIX -cxx11abi)
@@ -22,6 +23,12 @@ endif()
if(WITH_OSMESA)
add_compile_options(-D__OSMESA__)
else()
set(MASON_MESA_SUFFIX -glx)
endif()
if(IS_CI_BUILD)
add_compile_options(-DCI_BUILD=1)
endif()
mason_use(geometry VERSION 0.8.0 HEADER_ONLY)

View File

@@ -292,6 +292,7 @@ $(LINUX_BUILD): $(BUILD_DEPS)
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DWITH_CXX11ABI=$(shell scripts/check-cxx11abi.sh) \
-DWITH_COVERAGE=${WITH_COVERAGE} \
-DIS_CI_BUILD=${CI} \
-DWITH_OSMESA=${WITH_OSMESA})
.PHONY: linux
@@ -387,7 +388,8 @@ $(QT_BUILD): $(BUILD_DEPS)
-DWITH_QT_DECODERS=${WITH_QT_DECODERS} \
-DWITH_QT_4=${WITH_QT_4} \
-DWITH_CXX11ABI=$(shell scripts/check-cxx11abi.sh) \
-DWITH_COVERAGE=${WITH_COVERAGE})
-DWITH_COVERAGE=${WITH_COVERAGE} \
-DIS_CI_BUILD=${CI})
ifeq ($(HOST_PLATFORM), macos)
@@ -401,7 +403,8 @@ $(MACOS_QT_PROJ_PATH): $(BUILD_DEPS)
-DWITH_QT_DECODERS=${WITH_QT_DECODERS} \
-DWITH_QT_4=${WITH_QT_4} \
-DWITH_CXX11ABI=$(shell scripts/check-cxx11abi.sh) \
-DWITH_COVERAGE=${WITH_COVERAGE})
-DWITH_COVERAGE=${WITH_COVERAGE} \
-DIS_CI_BUILD=${CI})
@# Create Xcode schemes so that we can use xcodebuild from the command line. CMake doesn't
@# create these automatically.

View File

@@ -14,12 +14,6 @@ target_include_directories(mbgl-benchmark
PRIVATE platform/default
)
if(DEFINED ENV{CI})
target_compile_definitions(mbgl-benchmark
PRIVATE -DCI_BUILD=1
)
endif()
target_link_libraries(mbgl-benchmark
PRIVATE mbgl-core
)

View File

@@ -16,12 +16,6 @@ target_include_directories(mbgl-test
PRIVATE platform/default
)
if(DEFINED ENV{CI})
target_compile_definitions(mbgl-test
PRIVATE -DCI_BUILD=1
)
endif()
target_link_libraries(mbgl-test
PRIVATE mbgl-core
)

View File

@@ -1,5 +1,7 @@
mason_use(glfw VERSION 3.2.1)
mason_use(mesa VERSION 13.0.0${MASON_CXXABI_SUFFIX})
if (WITH_OSMESA OR IS_CI_BUILD)
mason_use(mesa VERSION 13.0.0${MASON_MESA_SUFFIX}${MASON_CXXABI_SUFFIX})
endif()
mason_use(boost_libprogram_options VERSION 1.60.0)
mason_use(sqlite VERSION 3.14.2)
mason_use(libuv VERSION 1.9.1)
@@ -12,34 +14,26 @@ mason_use(benchmark VERSION 1.0.0)
include(cmake/loop-uv.cmake)
macro(use_glx_backend _TARGET)
target_sources(${_TARGET}
PRIVATE platform/linux/src/headless_backend_glx.cpp
PRIVATE platform/linux/src/headless_display_glx.cpp
)
target_link_libraries(${_TARGET}
PUBLIC -lGL
PUBLIC -lX11
)
endmacro()
macro(use_osmesa_backend _TARGET)
target_sources(${_TARGET}
PRIVATE platform/default/headless_backend_osmesa.cpp
PRIVATE platform/default/headless_display.cpp
)
target_add_mason_package(${_TARGET}
PUBLIC mesa
)
endmacro()
macro(mbgl_platform_core)
if (WITH_OSMESA)
use_osmesa_backend(mbgl-core)
target_sources(mbgl-core
PRIVATE platform/default/headless_backend_osmesa.cpp
PRIVATE platform/default/headless_display.cpp
)
target_add_mason_package(mbgl-core PUBLIC mesa)
else()
use_glx_backend(mbgl-core)
target_sources(mbgl-core
PRIVATE platform/linux/src/headless_backend_glx.cpp
PRIVATE platform/linux/src/headless_display_glx.cpp
)
if (IS_CI_BUILD)
target_add_mason_package(mbgl-core PUBLIC mesa)
else()
target_link_libraries(mbgl-core
PUBLIC -lGL
PUBLIC -lX11
)
endif()
endif()
target_sources(mbgl-core

View File

@@ -46,10 +46,14 @@ if [ -f /etc/init.d/xvfb ] && [ ! -z "${RUN_XVFB}" ]; then
# Make sure we're connecting to xvfb
export DISPLAY=:99.0
CXX11ABI=""
if [ `scripts/check-cxx11abi.sh` = 'ON' ]; then
CXX11ABI="-cxx11abi"
fi
# Install and set up to load a more recent version of mesa
mapbox_time "install_mesa" \
mason install mesa 11.2.2
export LD_LIBRARY_PATH="`mason prefix mesa 11.2.2`/lib:${LD_LIBRARY_PATH:-}"
mason install mesa 13.0.0-glx${CXX11ABI}
export LD_LIBRARY_PATH="`mason prefix mesa 13.0.0-glx${CXX11ABI}`/lib:${LD_LIBRARY_PATH:-}"
fi
# Install and set up to load awscli

View File

@@ -180,3 +180,89 @@
fun:draw_wide_line
...
}
{
Ubuntu 14.04 - Travis + Qt5
Memcheck:Leak
...
obj:*/libQt5Core.*
...
}
{
Ubuntu 14.04 - Travis + Qt5
Memcheck:Cond
...
obj:*/libQt5Core.*
...
}
{
Ubuntu 14.04 - Travis + Qt5
Memcheck:Value8
...
obj:*/libQt5Core.*
...
}
{
Ubuntu 14.04 - Travis + Qt5
Memcheck:Leak
...
obj:*/libQt5Gui.*
...
}
{
Ubuntu 14.04 - Travis + Qt5
Memcheck:Cond
...
obj:*/libQt5Gui.*
...
}
{
Ubuntu 14.04 - Travis + Qt5
Memcheck:Value8
...
obj:*/libQt5Gui.*
...
}
{
Ubuntu 14.04 - Travis + mesa 13.0.0-glx
Memcheck:Cond
...
obj:*/mesa/libGL.so.*
...
}
{
Ubuntu 14.04 - Travis + mesa 13.0.0-glx
Memcheck:Value8
...
obj:*/mesa/libGL.so.*
...
}
{
Ubuntu 14.04 - Travis + mesa 13.0.0-glx
Memcheck:Cond
...
fun:do_rasterize_bin
...
}
{
Ubuntu 14.04 - Travis + mesa 13.0.0-glx
Memcheck:Value8
...
fun:do_rasterize_bin
...
}
{
Ubuntu 14.04 - Travis + mesa 13.0.0-glx
Memcheck:Cond
...
fun:_ZN6mapbox10pixelmatchEPKhS1_mmPhdb
...
}
{
Ubuntu 14.04 - Travis + mesa 13.0.0-glx
Memcheck:Param
write(buf)
...
obj:*/libc-*
fun:_ZN4mbgl4util10write_fileERKSsS2_
...
}