From d007a46e31e2489903091ff09a0f4b2d76786c84 Mon Sep 17 00:00:00 2001
From: Marius Greuel <greuelm@mgtek.com>
Date: Tue, 10 Mar 2020 22:57:01 +0200
Subject: [PATCH] Add Travis CI support

---
 .editorconfig |  3 +++
 .gitignore    |  1 +
 .travis.yml   | 33 +++++++++++++++++++++++++++++++++
 avrdude.sln   |  1 +
 4 files changed, 38 insertions(+)
 create mode 100644 .travis.yml

diff --git a/.editorconfig b/.editorconfig
index e9b68548..90e3b5d1 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -4,3 +4,6 @@
 indent_style = space
 indent_size = 4
 tab_width = 8
+
+[*.yml]
+indent_size = 2
diff --git a/.gitignore b/.gitignore
index 16ef7f95..a0c336a7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,6 +56,7 @@ ylwrap
 [Rr]elease/
 x64/
 x86/
+*.log
 
 # Visual Studio cache/options directory
 .vs/
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..2f31eb83
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,33 @@
+language: c++
+
+matrix:
+  include:
+    - name: "Linux (GCC)"
+      os: linux
+      dist: bionic
+      compiler: gcc
+      before_install:
+        - sudo apt-get -y install make gcc automake libtool flex bison
+        - sudo apt-get -y install libelf-dev libusb-dev libftdi1-dev libhidapi-dev
+      script:
+        - ./bootstrap
+        - ./configure
+        - make
+    - name: "macOS (clang)"
+      os: osx
+      osx_image: xcode12u
+      compiler: clang
+      before_install:
+        - brew install flex bison
+      script:
+        - ./bootstrap
+        - ./configure
+        - make
+    - name: "Windows (MSVC)"
+      if: branch = windows OR branch = dev
+      os: windows
+      before_install:
+        - choco install visualstudio2019buildtools --package-parameters "--add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.18362"
+        - export PATH=$PATH:"/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/MSBuild/Current/Bin"
+      script:
+        - MSBuild.exe -fileLogger -target:avrdude -property:Configuration=Release -property:Platform=x64 avrdude.sln
diff --git a/avrdude.sln b/avrdude.sln
index b91bcddd..7231c998 100644
--- a/avrdude.sln
+++ b/avrdude.sln
@@ -16,6 +16,7 @@ EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{743FA5F6-A0D7-46F7-B73D-632B64C732FB}"
 	ProjectSection(SolutionItems) = preProject
 		.editorconfig = .editorconfig
+		.travis.yml = .travis.yml
 	EndProjectSection
 EndProject
 Global