# This file is intended to automatize the testing of SimGrid on
# Windows using the appveyor.com continuous integration service
+os: Visual Studio 2015
version: "{build}"
clone_depth: 1
-platform:
- - Win32 # This is Windows 32bits (don't activate since we dont compile properly anyway)
-# - x64 # This is Windows 64bits
+# scripts that are called at very beginning, before repo cloning
+init:
+- cmake --version
+- msbuild /version
+- git config --global core.longpaths true
+- git config --global core.autocrlf input
environment:
- BOOST_ROOT: c:\Libraries\boost
- BOOST_LIBRARYDIR: c:\Libraries\boost\stage\lib
+ global:
+ BOOST_ROOT: c:\Libraries\boost_1_59_0
+ BOOST_LIBRARYDIR: c:\Libraries\boost_1_59_0\stage\lib
+ # BOOST_ROOT: c:\Libraries\boost
+ # BOOST_LIBRARYDIR: c:\Libraries\boost\stage\lib
+ matrix:
+ - COMPILER: MSVC15
+ PLATFORM: Win32
+ - COMPILER: MinGW
+
+# - COMPILER: MSVC15
+# PLATFORM: x64
+
+install:
+- if [%COMPILER%]==[MinGW] set PATH=C:\MinGW\bin;%PATH%
+- if [%COMPILER%]==[MinGW] mingw-get update
+- if [%COMPILER%]==[MinGW] rename "C:\Program Files (x86)\Git\bin\sh.exe" "sh2.exe"
+- if [%COMPILER%]==[MinGW-w64] set PATH=C:\mingw64\bin;%PATH%
+- if [%COMPILER%]==[MinGW-w64] rename "C:\Program Files (x86)\Git\bin\sh.exe" "sh2.exe"
+- if [%COMPILER%]==[MSYS2] set PATH=C:\msys64\bin,%PATH%
+
build_script:
-- '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd"'
-- C:\MinGW\msys\1.0\bin\bash -lc "echo \"C:/MinGW /mingw\" > /etc/fstab"
-- C:\MinGW\msys\1.0\bin\bash -lc "printenv"
-- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/projects/simgrid && cmake -G \"MSYS Makefiles\" -DBOOST_ROOT=\"%BOOST_ROOT%\" -DBOOST_LIBRARYDIR=\"%BOOST_LIBRARYDIR%\" -DBoost_USE_STATIC_LIBS=ON -Denable_debug=ON -Denable_documentation=OFF -Denable_coverage=OFF -Denable_tracing=ON -Denable_java=OFF -Denable_model-checking=OFF ."
-- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/projects/simgrid; echo XXX simgrid_config.h; cat include/simgrid_config.h"
-- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/projects/simgrid; echo XXX src/internal_config.h; cat src/internal_config.h"
-#- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/projects/simgrid; echo XXX Internal builtins; gcc -dM -E - < /dev/null"
-- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/projects/simgrid && make VERBOSE=1"
+- if [%COMPILER%]==[MSVC15] if [%PLATFORM%]==[Win32] cmake -G "Visual Studio 14 2015" -Denable_smpi=OFF -Denable_mallocators=OFF .
+- if [%COMPILER%]==[MSVC15] if [%PLATFORM%]==[x64] cmake -G "Visual Studio 14 2015 Win64" -Denable_smpi=OFF -Denable_mallocators=OFF .
+- if not [%COMPILER%]==[MSVC15] cmake -G "MinGW Makefiles" -Denable_smpi=OFF -Denable_mallocators=OFF .
+- if [%COMPILER%]==[MSVC15] msbuild ALL_BUILD.vcxproj /verbosity:normal
+- if not [%COMPILER%]==[MSVC15] mingw32-make && mingw32-make install
test_script:
- cmd: ctest -VV
+- ctest --output-on-failure
# notifications:
# - irc: "irc.debian.org#simgrid" # Not implemented by AppVeyor yet :(
# Some source of inspiration:
+
+# https://github.com/sympy/symengine/blob/master/appveyor.yml <- MS, mingw & mingw64
+
# https://github.com/dartsim/dart/blob/master/appveyor.yml
# https://github.com/osmcode/libosmium/blob/master/appveyor.yml
# https://github.com/polysquare/cmake-unit/blob/master/appveyor.yml
# https://github.com/openvswitch/ovs/blob/master/appveyor.yml
+
+# https://github.com/behdad/harfbuzz/pull/112/files
\ No newline at end of file