summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authormayeut <mayeut@users.noreply.github.com>2015-09-12 17:56:29 +0200
committermayeut <mayeut@users.noreply.github.com>2015-09-12 17:56:29 +0200
commitcde7423958e9c233233c79399553787cf0931714 (patch)
tree3b3c8d2b8d13fb54da85f6f7b800400520eac2f1 /tools
parent6c157b60f2478f2b6776e5a94495103f46d9d500 (diff)
Travis add mingw
Diffstat (limited to 'tools')
-rw-r--r--tools/ctest_scripts/toolchain-mingw64.cmake26
-rw-r--r--tools/ctest_scripts/travis-ci.cmake10
-rwxr-xr-xtools/travis-ci/run.sh13
3 files changed, 43 insertions, 6 deletions
diff --git a/tools/ctest_scripts/toolchain-mingw64.cmake b/tools/ctest_scripts/toolchain-mingw64.cmake
new file mode 100644
index 00000000..5fe1507f
--- /dev/null
+++ b/tools/ctest_scripts/toolchain-mingw64.cmake
@@ -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)
diff --git a/tools/ctest_scripts/travis-ci.cmake b/tools/ctest_scripts/travis-ci.cmake
index 36596a09..371235a4 100644
--- a/tools/ctest_scripts/travis-ci.cmake
+++ b/tools/ctest_scripts/travis-ci.cmake
@@ -44,7 +44,11 @@ if ("$ENV{OPJ_CI_ASAN}" STREQUAL "1")
set(OPJ_HAS_MEMCHECK TRUE)
set(CTEST_MEMORYCHECK_TYPE "AddressSanitizer")
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()
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
ctest_start(Experimental)
#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_build(BUILD "${CTEST_BINARY_DIRECTORY}")
if(NOT "$ENV{OPJ_CI_SKIP_TESTS}" STREQUAL "1")
@@ -122,4 +126,4 @@ endif()
if ("$ENV{OPJ_DO_SUBMIT}" STREQUAL "1")
ctest_submit()
endif()
-ctest_empty_binary_directory( "${CTEST_BINARY_DIRECTORY}" )
+#ctest_empty_binary_directory( "${CTEST_BINARY_DIRECTORY}" )
diff --git a/tools/travis-ci/run.sh b/tools/travis-ci/run.sh
index 67bf9af1..7d056100 100755
--- a/tools/travis-ci/run.sh
+++ b/tools/travis-ci/run.sh
@@ -52,9 +52,16 @@ elif [ "${TRAVIS_OS_NAME}" == "linux" ]; then
if which lsb_release > /dev/null; then
OPJ_OS_NAME=$(lsb_release -si)$(lsb_release -sr | sed 's/\([^0-9]*\.[0-9]*\).*/\1/')
fi
- if [ "${CC}" == "gcc" ]; then
- OPJ_CC_VERSION=gcc$(${CC} --version | head -1 | sed 's/.*\ \([0-9.]*[0-9]\)/\1/')
- elif [ "${CC}" == "clang" ]; then
+ if [ -z "${CC##*gcc*}" ]; then
+ OPJ_CC_VERSION=$(${CC} --version | head -1 | sed 's/.*\ \([0-9.]*[0-9]\)/\1/')
+ 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/')
else
echo "Compiler not supported: ${CC}"; exit 1