diff options
author | 2019-10-18 16:30:48 +0200 | |
---|---|---|
committer | 2019-10-18 10:30:48 -0400 | |
commit | 93a1cde67d59325cb541adef03a532bb08155230 (patch) | |
tree | 0ca0d7cf45de3fee5ec67d80d778d6a6cb02da9e | |
parent | 14f2ce1a37dee5f8ba2e774dcb04778fd3b4da69 (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.yml | 17 | ||||
-rw-r--r-- | .travis.yml | 7 | ||||
-rw-r--r-- | 3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua | 2 | ||||
-rw-r--r-- | scripts/src/tools.lua | 18 |
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() |