Travis add mingw
This commit is contained in:
parent
6c157b60f2
commit
cde7423958
|
@ -5,6 +5,7 @@ os:
|
||||||
compiler:
|
compiler:
|
||||||
- gcc
|
- gcc
|
||||||
- clang
|
- clang
|
||||||
|
- x86_64-w64-mingw32-gcc
|
||||||
env:
|
env:
|
||||||
- OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release
|
- OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release
|
||||||
- OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
|
- OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
|
||||||
|
@ -14,10 +15,14 @@ matrix:
|
||||||
exclude:
|
exclude:
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
|
- os: osx
|
||||||
|
compiler: x86_64-w64-mingw32-gcc
|
||||||
- compiler: clang
|
- compiler: clang
|
||||||
env: OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
|
env: OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
|
||||||
- compiler: gcc
|
- compiler: gcc
|
||||||
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_ASAN=1
|
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_ASAN=1
|
||||||
|
- compiler: x86_64-w64-mingw32-gcc
|
||||||
|
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_ASAN=1
|
||||||
- os: osx
|
- os: osx
|
||||||
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_ASAN=1
|
env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_ASAN=1
|
||||||
|
|
||||||
|
@ -25,6 +30,7 @@ addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- gcc-multilib
|
- gcc-multilib
|
||||||
|
- mingw-w64
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- ./tools/travis-ci/install.sh
|
- ./tools/travis-ci/install.sh
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
# http://www.cmake.org/Wiki/CmakeMingw
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006-2014 Mathieu Malaterre <mathieu.malaterre@voxxl.com>
|
||||||
|
#
|
||||||
|
# Redistribution and use is allowed according to the terms of the New
|
||||||
|
# BSD license.
|
||||||
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||||
|
#
|
||||||
|
|
||||||
|
# the name of the target operating system
|
||||||
|
set(CMAKE_SYSTEM_NAME Windows)
|
||||||
|
|
||||||
|
# which compilers to use for C and C++
|
||||||
|
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
|
||||||
|
set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
|
||||||
|
|
||||||
|
# here is the target environment located
|
||||||
|
set(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32)
|
||||||
|
|
||||||
|
# adjust the default behaviour of the FIND_XXX() commands:
|
||||||
|
# search headers and libraries in the target environment, search
|
||||||
|
# programs in the host environment
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
@ -44,7 +44,11 @@ if ("$ENV{OPJ_CI_ASAN}" STREQUAL "1")
|
||||||
set(OPJ_HAS_MEMCHECK TRUE)
|
set(OPJ_HAS_MEMCHECK TRUE)
|
||||||
set(CTEST_MEMORYCHECK_TYPE "AddressSanitizer")
|
set(CTEST_MEMORYCHECK_TYPE "AddressSanitizer")
|
||||||
set(CCFLAGS_ARCH "${CCFLAGS_ARCH} -g -fsanitize=address -fno-omit-frame-pointer")
|
set(CCFLAGS_ARCH "${CCFLAGS_ARCH} -g -fsanitize=address -fno-omit-frame-pointer")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if("$ENV{CC}" MATCHES ".*mingw.*")
|
||||||
|
# We are trying to use mingw
|
||||||
|
set(CTEST_CONFIGURE_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${CTEST_SCRIPT_DIRECTORY}/toolchain-mingw64.cmake")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT "$ENV{OPJ_CI_SKIP_TESTS}" STREQUAL "1")
|
if(NOT "$ENV{OPJ_CI_SKIP_TESTS}" STREQUAL "1")
|
||||||
|
@ -110,7 +114,7 @@ file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "${CACHE_CONTENTS}")
|
||||||
# Perform a Experimental build
|
# Perform a Experimental build
|
||||||
ctest_start(Experimental)
|
ctest_start(Experimental)
|
||||||
#ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
#ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
||||||
ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}")
|
ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" OPTIONS "${CTEST_CONFIGURE_OPTIONS}")
|
||||||
ctest_read_custom_files(${CTEST_BINARY_DIRECTORY})
|
ctest_read_custom_files(${CTEST_BINARY_DIRECTORY})
|
||||||
ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}")
|
ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}")
|
||||||
if(NOT "$ENV{OPJ_CI_SKIP_TESTS}" STREQUAL "1")
|
if(NOT "$ENV{OPJ_CI_SKIP_TESTS}" STREQUAL "1")
|
||||||
|
@ -122,4 +126,4 @@ endif()
|
||||||
if ("$ENV{OPJ_DO_SUBMIT}" STREQUAL "1")
|
if ("$ENV{OPJ_DO_SUBMIT}" STREQUAL "1")
|
||||||
ctest_submit()
|
ctest_submit()
|
||||||
endif()
|
endif()
|
||||||
ctest_empty_binary_directory( "${CTEST_BINARY_DIRECTORY}" )
|
#ctest_empty_binary_directory( "${CTEST_BINARY_DIRECTORY}" )
|
||||||
|
|
|
@ -52,9 +52,16 @@ elif [ "${TRAVIS_OS_NAME}" == "linux" ]; then
|
||||||
if which lsb_release > /dev/null; then
|
if which lsb_release > /dev/null; then
|
||||||
OPJ_OS_NAME=$(lsb_release -si)$(lsb_release -sr | sed 's/\([^0-9]*\.[0-9]*\).*/\1/')
|
OPJ_OS_NAME=$(lsb_release -si)$(lsb_release -sr | sed 's/\([^0-9]*\.[0-9]*\).*/\1/')
|
||||||
fi
|
fi
|
||||||
if [ "${CC}" == "gcc" ]; then
|
if [ -z "${CC##*gcc*}" ]; then
|
||||||
OPJ_CC_VERSION=gcc$(${CC} --version | head -1 | sed 's/.*\ \([0-9.]*[0-9]\)/\1/')
|
OPJ_CC_VERSION=$(${CC} --version | head -1 | sed 's/.*\ \([0-9.]*[0-9]\)/\1/')
|
||||||
elif [ "${CC}" == "clang" ]; then
|
if [ -z "${CC##*mingw*}" ]; then
|
||||||
|
OPJ_CC_VERSION=mingw${OPJ_CC_VERSION}
|
||||||
|
# disable testing for now
|
||||||
|
export OPJ_CI_SKIP_TESTS=1
|
||||||
|
else
|
||||||
|
OPJ_CC_VERSION=gcc${OPJ_CC_VERSION}
|
||||||
|
fi
|
||||||
|
elif [ -z "${CC##*clang*}" ]; then
|
||||||
OPJ_CC_VERSION=clang$(${CC} --version | grep version | sed 's/.*version \([^0-9.]*[0-9.]*\).*/\1/')
|
OPJ_CC_VERSION=clang$(${CC} --version | grep version | sed 's/.*version \([^0-9.]*[0-9.]*\).*/\1/')
|
||||||
else
|
else
|
||||||
echo "Compiler not supported: ${CC}"; exit 1
|
echo "Compiler not supported: ${CC}"; exit 1
|
||||||
|
|
Loading…
Reference in New Issue