Revert Travis docker changes

This commit is contained in:
Lukas W
2017-10-20 10:54:24 +02:00
parent 307deaef4c
commit ff958338e7
22 changed files with 130 additions and 163 deletions

View File

@@ -1,11 +1,10 @@
language: cpp
compiler: gcc
services:
- docker
dist: trusty
sudo: required
cache:
directories:
- apt_mingw_cache
- $HOME/.ccache
matrix:
include:
@@ -15,11 +14,14 @@ matrix:
- os: osx
osx_image: xcode8.2
- env: QT5=True
- env: QT5=True TARGET_OS=win32
- env: QT5=True TARGET_OS=win64
- os: osx
env: QT5=True
install: ${TRAVIS_BUILD_DIR}/.travis/install.sh
script: ${TRAVIS_BUILD_DIR}/.travis/script.sh
after_script: ${TRAVIS_BUILD_DIR}/.travis/after_script.sh
before_deploy: make package
deploy:
provider: releases
api_key:
@@ -29,5 +31,5 @@ deploy:
on:
tags: true
all_branches: true
condition: '("$TARGET_OS" = win??)'
condition: '("$TARGET_OS" = win??) && "$QT5"'
repo: LMMS/lmms

View File

@@ -1,18 +0,0 @@
#!/usr/bin/env bash
set -e
CPUS=$(grep -c bogo /proc/cpuinfo)
cd /lmms
mkdir build
cd build
../cmake/build_mingw"$1".sh
echo Building on "$CPUS" CPUs
make -j$((CPUS+1))
make package
mv -v lmms-*.exe /lmms

View File

@@ -1,38 +0,0 @@
FROM ubuntu:artful
MAINTAINER Tobias Junghans <tobydox@users.sf.net>
RUN \
apt-get update && \
apt-get install --no-install-recommends -y software-properties-common && \
add-apt-repository -y "ppa:tobydox/mingw-w64" && \
apt-get update && \
apt-get install --no-install-recommends -y --force-yes \
git \
cmake \
pkg-config \
make \
nsis \
tofrodos \
g++-mingw-w64 \
libz-mingw-w64-dev \
qt5base-mingw-w64 \
qt5tools-mingw-w64 \
qt5translations-mingw-w64 \
sdl-mingw-w64 \
libvorbis-mingw-w64 \
fluidsynth-mingw-w64 \
stk-mingw-w64 \
glib2-mingw-w64 \
portaudio-mingw-w64 \
libsndfile-mingw-w64 \
fftw-mingw-w64 \
flac-mingw-w64 \
fltk-mingw-w64 \
libsamplerate-mingw-w64 \
libgig-mingw-w64 \
libsoundio-mingw-w64 \
lame-mingw-w64 \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

View File

@@ -1,5 +0,0 @@
#!/usr/bin/env bash
/lmms/.travis/common/windows-build.sh 32

View File

@@ -1,38 +0,0 @@
FROM ubuntu:artful
MAINTAINER Tobias Junghans <tobydox@users.sf.net>
RUN \
apt-get update && \
apt-get install --no-install-recommends -y software-properties-common && \
add-apt-repository -y "ppa:tobydox/mingw-w64" && \
apt-get update && \
apt-get install --no-install-recommends -y --force-yes \
git \
cmake \
pkg-config \
make \
nsis \
tofrodos \
g++-mingw-w64 \
libz-mingw-w64-dev \
qt5base-mingw-w64 \
qt5tools-mingw-w64 \
qt5translations-mingw-w64 \
sdl-mingw-w64 \
libvorbis-mingw-w64 \
fluidsynth-mingw-w64 \
stk-mingw-w64 \
glib2-mingw-w64 \
portaudio-mingw-w64 \
libsndfile-mingw-w64 \
fftw-mingw-w64 \
flac-mingw-w64 \
fltk-mingw-w64 \
libsamplerate-mingw-w64 \
libgig-mingw-w64 \
libsoundio-mingw-w64 \
lame-mingw-w64 \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

View File

@@ -1,5 +0,0 @@
#!/usr/bin/env bash
/lmms/.travis/common/windows-build.sh 64

16
.travis/linux.win.download.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e
CACHE_DIR=$TRAVIS_BUILD_DIR/apt_mingw_cache/$1
mkdir -p "$CACHE_DIR"
pushd "$CACHE_DIR"
# shellcheck disable=SC2086
apt-get --print-uris --yes install $MINGW_PACKAGES | grep ^\' | cut -d\' -f2 > downloads.list
wget -N --input-file downloads.list
sudo cp ./*.deb /var/cache/apt/archives/
popd

View File

@@ -2,5 +2,5 @@
set -e
docker build -t lmms-build "${TRAVIS_BUILD_DIR}/.travis/linux.cross.win32/"
sudo add-apt-repository ppa:tobydox/mingw-x-trusty -y
sudo apt-get update -qq

View File

@@ -2,3 +2,31 @@
set -e
if [ "$QT5" ]; then
MINGW_PACKAGES="mingw32-x-qt5base"
else
MINGW_PACKAGES="mingw32-x-qt"
fi
MINGW_PACKAGES="mingw32-x-sdl mingw32-x-libvorbis mingw32-x-fluidsynth mingw32-x-stk
mingw32-x-glib2 mingw32-x-portaudio mingw32-x-libsndfile mingw32-x-fftw
mingw32-x-flac mingw32-x-fltk mingw32-x-libsamplerate
mingw32-x-pkgconfig mingw32-x-binutils mingw32-x-gcc mingw32-x-runtime
mingw32-x-libgig mingw32-x-libsoundio mingw32-x-lame $MINGW_PACKAGES"
export MINGW_PACKAGES
"$TRAVIS_BUILD_DIR/.travis/linux.win.download.sh" win32
PACKAGES="nsis cloog-isl libmpc3 qt4-linguist-tools mingw32 $MINGW_PACKAGES"
# shellcheck disable=SC2086
sudo apt-get install -y $PACKAGES
# ccache 3.2 is needed because mingw32-x-gcc is version 4.9, which causes cmake
# to use @file command line passing, which in turn ccache 3.1.9 doesn't support
pushd /tmp
wget http://archive.ubuntu.com/ubuntu/pool/main/c/ccache/ccache_3.2.4-1_amd64.deb
sha256sum -c "$TRAVIS_BUILD_DIR/.travis/ccache.sha256"
sudo dpkg -i ccache_3.2.4-1_amd64.deb
popd

View File

@@ -3,5 +3,4 @@
set -e
export CMAKE_OPTS="$CMAKE_FLAGS -DUSE_WERROR=ON"
docker run -v "${TRAVIS_BUILD_DIR}":/lmms:rw lmms-build /bin/sh /lmms/.travis/linux.cross.win32/script.sh
../cmake/build_mingw32.sh

View File

@@ -2,5 +2,4 @@
set -e
docker build -t lmms-build "${TRAVIS_BUILD_DIR}/.travis/linux.cross.win64/"
"$TRAVIS_BUILD_DIR/.travis/linux.win32.before_install.sh"

View File

@@ -2,3 +2,24 @@
set -e
# First, install 32-bit deps
"$TRAVIS_BUILD_DIR/.travis/linux.win32.install.sh"
if [ "$QT5" ]; then
MINGW_PACKAGES="mingw64-x-qt5base"
else
MINGW_PACKAGES="mingw64-x-qt"
fi
MINGW_PACKAGES="mingw64-x-sdl mingw64-x-libvorbis mingw64-x-fluidsynth mingw64-x-stk
mingw64-x-glib2 mingw64-x-portaudio mingw64-x-libsndfile
mingw64-x-fftw mingw64-x-flac mingw64-x-fltk mingw64-x-libsamplerate
mingw64-x-pkgconfig mingw64-x-binutils mingw64-x-gcc mingw64-x-runtime
mingw64-x-libgig mingw64-x-libsoundio mingw64-x-lame $MINGW_PACKAGES"
export MINGW_PACKAGES
"$TRAVIS_BUILD_DIR/.travis/linux.win.download.sh" win64
# shellcheck disable=SC2086
sudo apt-get install -y $MINGW_PACKAGES

View File

@@ -3,5 +3,4 @@
set -e
export CMAKE_OPTS="$CMAKE_FLAGS -DUSE_WERROR=ON"
docker run -v "${TRAVIS_BUILD_DIR}":/lmms:rw lmms-build /bin/sh /lmms/.travis/linux.cross.win64/script.sh
../cmake/build_mingw64.sh

View File

@@ -10,10 +10,6 @@ if [ "$TYPE" = 'style' ]; then
# shellcheck disable=SC2046
shellcheck $(find -O3 "$TRAVIS_BUILD_DIR/.travis/" "$TRAVIS_BUILD_DIR/cmake/" -type f -name '*.sh' -o -name "*.sh.in")
elif [[ $TARGET_OS == "win32" || $TARGET_OS == "win64" ]] ; then
"$TRAVIS_BUILD_DIR/.travis/$TRAVIS_OS_NAME.$TARGET_OS.script.sh"
else
mkdir build

View File

@@ -7,7 +7,6 @@ SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ${CMAKE_MODULE_PATH})
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0005 NEW)
CMAKE_POLICY(SET CMP0003 NEW)
CMAKE_POLICY(SET CMP0020 NEW)
IF (CMAKE_MAJOR_VERSION GREATER 2)
CMAKE_POLICY(SET CMP0026 OLD)
CMAKE_POLICY(SET CMP0050 OLD)
@@ -139,9 +138,9 @@ IF(WANT_QT5)
FIND_PACKAGE(Qt5Core REQUIRED)
FIND_PACKAGE(Qt5Gui REQUIRED)
FIND_PACKAGE(Qt5LinguistTools)
FIND_PACKAGE(Qt5Widgets REQUIRED)
FIND_PACKAGE(Qt5Xml REQUIRED)
FIND_PACKAGE(Qt5LinguistTools REQUIRED)
INCLUDE_DIRECTORIES(
${Qt5Core_INCLUDE_DIRS}

View File

@@ -3,17 +3,22 @@
# Accomodate both linux windows mingw locations
MINGW=/mingw32
if [ -z "$MSYSCON" ]; then
MINGW=/usr/i686-w64-mingw32
MINGW=/opt$MINGW
else
CMAKE_OPTS="$CMAKE_OPTS -DLMMS_BUILD_MSYS=1"
export PATH=$MINGW/bin:$PATH
fi
export PKG_CONFIG_PATH=$MINGW/lib/pkgconfig/
export PATH=$MINGW/bin:$PATH
export CFLAGS="-march=pentium3 -mtune=generic -mpreferred-stack-boundary=5 -mfpmath=sse"
export CXXFLAGS="$CFLAGS"
CMAKE_OPTS="-DWANT_QT5=True -DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
if [ "$1" = "-qt5" ]; then
QT5=True
fi
if [ $QT5 ]; then
CMAKE_OPTS="-DWANT_QT5=$QT5 -DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
fi
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

View File

@@ -3,15 +3,20 @@
# Accomodate both linux windows mingw locations
MINGW=/mingw64
if [ -z "$MSYSCON" ]; then
MINGW=/usr/x86_64-w64-mingw32
MINGW=/opt$MINGW
else
CMAKE_OPTS="$CMAKE_OPTS -DLMMS_BUILD_MSYS=1"
export PATH=$MINGW/bin:$PATH
fi
export PKG_CONFIG_PATH=$MINGW/lib/pkgconfig/
export PATH=$MINGW/bin:$PATH
CMAKE_OPTS="-DWANT_QT5=True -DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
if [ "$1" = "-qt5" ]; then
QT5=True
fi
if [ $QT5 ]; then
CMAKE_OPTS="-DWANT_QT5=$QT5 -DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
fi
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

View File

@@ -40,8 +40,7 @@ IF(LMMS_BUILD_MSYS)
ENDIF()
# Linux mingw requires explicitly defined tools to prevent clash with native system tools
ELSE()
SET(MINGW_PREFIX /usr/${MINGW_TARGET}/)
SET(MINGW_TOOL_PREFIX /usr/bin/${MINGW_TARGET}-)
SET(MINGW_TOOL_PREFIX ${MINGW_PREFIX}/bin/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-)
# Specify the cross compiler
SET(CMAKE_C_COMPILER ${MINGW_TOOL_PREFIX}gcc)
@@ -51,6 +50,7 @@ ELSE()
# Mingw tools
SET(STRIP ${MINGW_TOOL_PREFIX}strip)
SET(WINDRES ${MINGW_TOOL_PREFIX}windres)
SET(ENV{PKG_CONFIG} ${MINGW_TOOL_PREFIX}pkg-config)
# Search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
@@ -61,14 +61,15 @@ ELSE()
# For 32-bit vst support
IF(WIN64)
# Specify the 32-bit cross compiler
SET(MINGW_PREFIX32 /usr/${MINGW_TARGET32}/)
SET(MINGW_TOOL_PREFIX32 /usr/bin/${MINGW_TARGET32}-)
SET(MINGW_TOOL_PREFIX32 ${MINGW_PREFIX32}/bin/${CMAKE_SYSTEM_PROCESSOR32}-w64-mingw32-)
SET(CMAKE_C_COMPILER32 ${MINGW_TOOL_PREFIX32}gcc)
SET(CMAKE_CXX_COMPILER32 ${MINGW_TOOL_PREFIX32}g++)
ENDIF()
INCLUDE_DIRECTORIES(${MINGW_PREFIX}/include)
ENDIF()
LINK_DIRECTORIES(${MINGW_PREFIX}/lib)
LINK_DIRECTORIES(${MINGW_PREFIX}/lib ${MINGW_PREFIX}/bin)
# Qt tools
SET(QT_BINARY_DIR ${MINGW_PREFIX}/bin)
@@ -83,6 +84,7 @@ IF(NOT DEFINED ENV{MINGW_DEBUG_INFO})
MESSAGE("* CMAKE_CXX_COMPILER : ${CMAKE_CXX_COMPILER}")
MESSAGE("* CMAKE_RC_COMPILER : ${CMAKE_RC_COMPILER}")
MESSAGE("* WINDRES : ${WINDRES}")
MESSAGE("* ENV{PKG_CONFIG} : $ENV{PKG_CONFIG}")
MESSAGE("* MINGW_TOOL_PREFIX32 : ${MINGW_TOOL_PREFIX32}")
MESSAGE("* CMAKE_C_COMPILER32 : ${CMAKE_C_COMPILER32}")
MESSAGE("* CMAKE_CXX_COMPILER32 : ${CMAKE_CXX_COMPILER32}")

View File

@@ -1,7 +1,7 @@
IF(LMMS_BUILD_MSYS)
SET(MINGW_PREFIX /mingw32)
ELSE()
SET(MINGW_TARGET i686-w64-mingw32)
SET(MINGW_PREFIX /opt/mingw32)
ENDIF()
SET(CMAKE_SYSTEM_PROCESSOR i686)

View File

@@ -2,8 +2,8 @@ IF(LMMS_BUILD_MSYS)
SET(MINGW_PREFIX /mingw64)
SET(MINGW_PREFIX32 /mingw32)
ELSE()
SET(MINGW_TARGET32 i686-w64-mingw32)
SET(MINGW_TARGET x86_64-w64-mingw32)
SET(MINGW_PREFIX /opt/mingw64)
SET(MINGW_PREFIX32 /opt/mingw32)
ENDIF()
SET(CMAKE_SYSTEM_PROCESSOR x86_64)

View File

@@ -14,7 +14,6 @@ ADD_CUSTOM_COMMAND(TARGET RemoteVstPlugin32 POST_BUILD COMMAND "${STRIP}" "$<TAR
SET_TARGET_PROPERTIES(RemoteVstPlugin32 PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -O0")
INSTALL(TARGETS RemoteVstPlugin32 RUNTIME DESTINATION "${PLUGIN_DIR}/32")
# TODO: libstdc++-6.dll libgcc_s_sjlj-1.dll
INSTALL(FILES "${MINGW_PREFIX32}/bin/${QTCORE}.dll" "${MINGW_PREFIX32}/lib/zlib1.dll" "${MINGW_PREFIX32}/lib/libwinpthread-1.dll"
INSTALL(FILES "${MINGW_PREFIX32}/bin/${QTCORE}.dll" "${MINGW_PREFIX32}/bin/zlib1.dll" "${MINGW_PREFIX32}/${CMAKE_SYSTEM_PROCESSOR32}-w64-mingw32/bin/libwinpthread-1.dll"
DESTINATION "${PLUGIN_DIR}/32")

View File

@@ -172,15 +172,24 @@ IF(LMMS_BUILD_WIN32)
INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}")
INSTALL(FILES
"${MINGW_PREFIX}/bin/Qt5Core.dll"
"${MINGW_PREFIX}/bin/Qt5Gui.dll"
"${MINGW_PREFIX}/bin/Qt5Widgets.dll"
"${MINGW_PREFIX}/bin/Qt5Xml.dll"
DESTINATION .)
INSTALL(FILES
"${MINGW_PREFIX}/lib/qt5/plugins/platforms/qwindows.dll"
DESTINATION ./platforms)
IF(QT5)
INSTALL(FILES
"${MINGW_PREFIX}/bin/Qt5Core.dll"
"${MINGW_PREFIX}/bin/Qt5Gui.dll"
"${MINGW_PREFIX}/bin/Qt5Widgets.dll"
"${MINGW_PREFIX}/bin/Qt5Xml.dll"
DESTINATION .)
INSTALL(FILES
"${MINGW_PREFIX}/lib/qt5/plugins/platforms/qwindows.dll"
DESTINATION ./platforms)
ELSE()
INSTALL(FILES
"${MINGW_PREFIX}/bin/QtCore4.dll"
"${MINGW_PREFIX}/bin/QtGui4.dll"
"${MINGW_PREFIX}/bin/QtSvg4.dll"
"${MINGW_PREFIX}/bin/QtXml4.dll"
DESTINATION .)
ENDIF()
INSTALL(FILES
"${MINGW_PREFIX}/bin/libsamplerate-0.dll"
@@ -188,7 +197,7 @@ IF(LMMS_BUILD_WIN32)
"${MINGW_PREFIX}/bin/libvorbis-0.dll"
"${MINGW_PREFIX}/bin/libvorbisenc-2.dll"
"${MINGW_PREFIX}/bin/libvorbisfile-3.dll"
"${MINGW_PREFIX}/bin/libjpeg-62.dll"
"${MINGW_PREFIX}/bin/libjpeg-9.dll"
"${MINGW_PREFIX}/bin/libogg-0.dll"
"${MINGW_PREFIX}/bin/libmp3lame-0.dll"
"${MINGW_PREFIX}/bin/libfftw3f-3.dll"
@@ -197,31 +206,23 @@ IF(LMMS_BUILD_WIN32)
"${MINGW_PREFIX}/bin/SDL.dll"
"${MINGW_PREFIX}/bin/libglib-2.0-0.dll"
"${MINGW_PREFIX}/bin/libgthread-2.0-0.dll"
"${MINGW_PREFIX}/bin/zlib1.dll"
"${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll"
DESTINATION .)
IF(LMMS_BUILD_MSYS)
INSTALL(FILES
"${MINGW_PREFIX}/bin/zlib1.dll"
"${MINGW_PREFIX}/bin/libwinpthread-1.dll"
"${MINGW_PREFIX}/bin/libgcc_s_seh-1.dll"
"${MINGW_PREFIX}/bin/libstdc++-6.dll"
DESTINATION .)
ELSE()
SET(DLLDIR_GCC "/usr/lib/gcc/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/6.3-win32")
IF(WIN64)
SET(DLL_GCC "libgcc_s_seh-1.dll")
ELSE()
SET(DLL_GCC "libgcc_s_sjlj-1.dll")
ENDIF()
INSTALL(FILES
"${MINGW_PREFIX}/lib/zlib1.dll"
"${MINGW_PREFIX}/lib/libwinpthread-1.dll"
"${DLLDIR_GCC}/libstdc++-6.dll"
"${DLLDIR_GCC}/${DLL_GCC}"
"${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll"
DESTINATION .)
ENDIF()
IF(FLTK_FOUND)
INSTALL(FILES
"${MINGW_PREFIX}/bin/libfltk_SHARED.dll"
"${MINGW_PREFIX}/bin/libfltk.dll"
DESTINATION .)
ENDIF()
IF(FLUIDSYNTH_FOUND)
@@ -238,12 +239,12 @@ IF(LMMS_BUILD_WIN32)
ENDIF()
IF(PORTAUDIO_FOUND)
INSTALL(FILES
"${MINGW_PREFIX}/bin/libportaudio.dll"
"${MINGW_PREFIX}/bin/libportaudio-2.dll"
DESTINATION .)
ENDIF()
IF(SOUNDIO_FOUND)
INSTALL(FILES
"${MINGW_PREFIX}/bin/libsoundio.dll"
"${MINGW_PREFIX}/lib/libsoundio.dll"
DESTINATION .)
ENDIF()