summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Julian Sikorski <belegdol+github@gmail.com>2019-10-18 16:30:48 +0200
committer R. Belmont <rb6502@users.noreply.github.com>2019-10-18 10:30:48 -0400
commit93a1cde67d59325cb541adef03a532bb08155230 (patch)
tree0ca0d7cf45de3fee5ec67d80d778d6a6cb02da9e
parent14f2ce1a37dee5f8ba2e774dcb04778fd3b4da69 (diff)
Continuous integration improvements (#5703)
* Add workaround for imgtool and jedutil failing vs2019 debug builds with /ZI * No longer allow msvc build to fail * Enable tools build for travis to make it more useful * Switch travis to Xcode 11 in order to fix nltool linking failure * Prefer 64-bit compiler with VS 2019 too * Setting PreferredToolArchitecture to x64 is not needed, genie puts it into the project files for vs2015 or later * OPTIMIZE=1 build is faster that OPTIMIZE=0 for some reason. So fast in fact, that TOOLS=1 can be enabled without hitting the 60 minute timeout * Switch MINGW build to VS 2017 image until appveyor figure out why builds on VS 2019 are almost twice as slow * Run pacman twice to account for core system upgrades
-rw-r--r--.appveyor.yml17
-rw-r--r--.travis.yml7
-rw-r--r--3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua2
-rw-r--r--scripts/src/tools.lua18
4 files changed, 33 insertions, 11 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index ff2686d4adc..cc90d86420f 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,5 +1,6 @@
version: 1.0.{build}
image:
+ - Visual Studio 2017
- Visual Studio 2019
shallow_clone: true
@@ -10,19 +11,20 @@ environment:
- BUILD: GCC
- BUILD: MSVC
+matrix:
+ exclude:
+ - image: Visual Studio 2017
+ BUILD: MSVC
+ - image: Visual Studio 2019
+ BUILD: GCC
+
install:
- set "PATH=C:\msys64\usr\bin;C:\msys64\mingw64\bin;C:\Windows\System32;C:\Windows;%PATH%"
- set MSYSTEM=MINGW64
- - set PreferredToolArchitecture=x64
build_script:
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER && export MINGW64=/mingw64 && make SUBTARGET=tiny PTR64=1 TOOLS=1 OPTIMIZE=0 vs2019 -j3"
- msbuild "build\projects\windows\mametiny\vs2019\mametiny.sln" /m /p:ContinueOnError=false /p:StopOnFirstFailure=true /property:Configuration=Debug /property:Platform=x64 /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
-
-matrix:
- allow_failures:
- - BUILD: MSVC
-
for:
-
matrix:
@@ -34,8 +36,9 @@ for:
- set "PATH=C:\msys64\usr\bin;C:\msys64\mingw64\bin;C:\Windows\System32;C:\Windows;%PATH%"
- set MSYSTEM=MINGW64
- bash -lc "pacman -Syu --noconfirm"
+ - bash -lc "pacman -Syu --noconfirm"
build_script:
- - bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER && export MINGW64=/mingw64 && make SUBTARGET=tiny PTR64=1 OPTIMIZE=0 ARCHOPTS=-Wa,-mbig-obj IGNORE_GIT=1 -j3"
+ - bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER && export MINGW64=/mingw64 && make SUBTARGET=tiny PTR64=1 TOOLS=1 OPTIMIZE=1 IGNORE_GIT=1 -j3"
test_script:
- \projects\mame\mametiny64.exe -validate
after_test:
diff --git a/.travis.yml b/.travis.yml
index b2ee70b0e1b..122accc565c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,7 @@ os:
- linux
- osx
dist: bionic
+osx_image: xcode11
matrix:
exclude:
- os: osx
@@ -17,11 +18,11 @@ env:
script:
- if [ $TRAVIS_OS_NAME == 'linux' ]; then
if [ $CC == 'clang' ]; then
- make -j2 IGNORE_GIT=1 OVERRIDE_CXX="clang++-3.6" OVERRIDE_CC="clang-3.6" && ./$MAME -validate;
- else make -j4 IGNORE_GIT=1 OPTIMIZE=0 OVERRIDE_CC="gcc-9" OVERRIDE_CXX="g++-9" && ./$MAME -validate;
+ make -j2 IGNORE_GIT=1 OVERRIDE_CXX="clang++-3.6" OVERRIDE_CC="clang-3.6" TOOLS=1 && ./$MAME -validate;
+ else make -j4 IGNORE_GIT=1 OPTIMIZE=0 OVERRIDE_CC="gcc-9" OVERRIDE_CXX="g++-9" TOOLS=1 && ./$MAME -validate;
fi
elif [ $TRAVIS_OS_NAME == 'osx' ]; then
- unset LDOPTS && make -j2 OPTIMIZE=0 USE_LIBSDL=1 && ./$MAME -validate;
+ unset LDOPTS && make -j2 OPTIMIZE=0 USE_LIBSDL=1 TOOLS=1 && ./$MAME -validate;
fi
sudo: required
before_install:
diff --git a/3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua b/3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua
index 106996909da..847a8cbb93d 100644
--- a/3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua
+++ b/3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua
@@ -66,7 +66,7 @@
else
_p(2, '<Keyword>Win32Proj</Keyword>')
end
- if _ACTION:sub(3) == "2015" or _ACTION:sub(3) == "2017" or _ACTION:sub(3) == "llvm" then
+ if _ACTION:sub(3) == "2015" or _ACTION:sub(3) == "2017" or _ACTION:sub(3) == "2019" or _ACTION:sub(3) == "llvm" then
_p(2,'<PreferredToolArchitecture>x64</PreferredToolArchitecture>')
end
if (_ACTION:sub(3) == "2017" or _ACTION:sub(3) == "llvm")
diff --git a/scripts/src/tools.lua b/scripts/src/tools.lua
index 25adcfbf7dd..09f8739e30a 100644
--- a/scripts/src/tools.lua
+++ b/scripts/src/tools.lua
@@ -133,6 +133,15 @@ files {
configuration { "mingw*" or "vs*" }
targetextension ".exe"
+-- workaround for https://developercommunity.visualstudio.com/content/problem/752372/vs2019-v1631-c-internal-compiler-error-when-zi-opt.html
+-- should be fixed in 16.5
+configuration { "Debug", "vs2019" }
+ if _OPTIONS["vs"]==nil then
+ flags {
+ "NoEditAndContinue",
+ }
+ end
+
configuration { }
strip()
@@ -749,6 +758,15 @@ files {
configuration { "mingw*" or "vs*" }
targetextension ".exe"
+-- workaround for https://developercommunity.visualstudio.com/content/problem/752372/vs2019-v1631-c-internal-compiler-error-when-zi-opt.html
+-- should be fixed in 16.5
+configuration { "Debug", "vs2019" }
+ if _OPTIONS["vs"]==nil then
+ flags {
+ "NoEditAndContinue",
+ }
+ end
+
configuration { }
strip()