aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml18
-rw-r--r--README.md7
-rw-r--r--appveyor.yml19
-rw-r--r--build.bat3
-rw-r--r--build_ci.bat24
-rw-r--r--examples/demo/demo.odin14
6 files changed, 70 insertions, 15 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..d81646770
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,18 @@
+language: cpp
+git:
+ depth: false
+
+os:
+ - linux
+ - osx
+
+compiler:
+ - clang
+
+script:
+ - make release
+ - ./odin run examples/demo/demo.odin
+ - ./odin check examples/demo/demo.odin -vet
+
+notifications:
+ email: false \ No newline at end of file
diff --git a/README.md b/README.md
index 31b70c837..cb69782c9 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,13 @@
<a href="https://github.com/odin-lang/odin/blob/master/LICENSE">
<img src="https://img.shields.io/github/license/odin-lang/odin.svg">
</a>
+ <br>
+ <a href="https://ci.appveyor.com/project/ThisDrunkDane/odin-vf0ap">
+ <img src="https://ci.appveyor.com/api/projects/status/qss6l921c0eu85u6/branch/master?svg=true">
+ </a>
+ <a href="https://travis-ci.org/odin-lang/Odin">
+ <img src="https://travis-ci.org/odin-lang/Odin.svg?branch=master">
+ </a>
</p>
# The Odin Programming Language
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 000000000..5e5abe979
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,19 @@
+image:
+ - Visual Studio 2017
+shallow_clone: true
+
+platform: x64
+
+install:
+ - cd bin
+ - appveyor DownloadFile https://github.com/odin-lang/Odin/releases/download/llvm-windows/llvm-binaries.zip
+ - 7z x llvm-binaries.zip > nul
+ - cd ..
+
+build_script:
+ - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
+ - ./build_ci.bat
+
+test_script:
+ - odin run examples/demo/demo.odin
+ - odin check examples/demo/demo.odin -vet \ No newline at end of file
diff --git a/build.bat b/build.bat
index 296e7b179..402d8842c 100644
--- a/build.bat
+++ b/build.bat
@@ -46,5 +46,4 @@ cl %compiler_settings% "src\main.cpp" ^
del *.obj > NUL 2> NUL
-:end_of_build
-
+:end_of_build \ No newline at end of file
diff --git a/build_ci.bat b/build_ci.bat
new file mode 100644
index 000000000..53da20680
--- /dev/null
+++ b/build_ci.bat
@@ -0,0 +1,24 @@
+@echo off
+
+set exe_name=odin.exe
+
+set compiler_flags= -nologo -Oi -TP -fp:precise -Gm- -MP -FC -GS- -EHsc- -GR- -O2 -MT -Z7 -DNO_ARRAY_BOUNDS_CHECK
+set compiler_warnings= ^
+ -W4 -WX ^
+ -wd4100 -wd4101 -wd4127 -wd4189 ^
+ -wd4201 -wd4204 ^
+ -wd4456 -wd4457 -wd4480 ^
+ -wd4512
+
+set compiler_includes=
+set libs= ^
+ kernel32.lib
+
+set linker_flags= -incremental:no -opt:ref -subsystem:console -debug
+
+set compiler_settings=%compiler_includes% %compiler_flags% %compiler_warnings%
+set linker_settings=%libs% %linker_flags%
+
+cl %compiler_settings% "src\main.cpp" ^
+ /link %linker_settings% -OUT:%exe_name% ^
+
diff --git a/examples/demo/demo.odin b/examples/demo/demo.odin
index 6ba8aea76..b4c67938f 100644
--- a/examples/demo/demo.odin
+++ b/examples/demo/demo.odin
@@ -1,24 +1,12 @@
package main
import "core:fmt"
-import "core:strconv"
import "core:mem"
-import "core:bits"
-import "core:hash"
-import "core:math"
-import "core:math/rand"
import "core:os"
-import "core:sort"
-import "core:strings"
-import "core:types"
-import "core:unicode/utf16"
-import "core:unicode/utf8"
-import "core:c"
-import "core:runtime"
when os.OS == "windows" {
+ import "core:runtime"
import "core:thread"
- import "core:sys/win32"
}
@(link_name="general_stuff")