Merge pull request #320 from viciious/msvc

AppVeyor integration
This commit is contained in:
Arseniy Shestakov
2017-07-04 03:41:18 +03:00
5 changed files with 111 additions and 2 deletions
+2 -1
View File
@@ -94,7 +94,8 @@ if(UNIX AND NOT APPLE)
endif()
if(MSVC)
set(CMAKE_CXX_FLAGS "/WX /W4 /EHsc")
set(CMAKE_CXX_FLAGS "/W4 /EHsc")
#set(CMAKE_CXX_FLAGS "/WX /W4 /EHsc")
#Wx: Treat warnings as errors. W4: All warnings
#http://msdn.microsoft.com/en-us/library/thxezb7y.aspx
#EHsc: call destructors on __try __catch, and to ignore C4530: C++ exception handler used. Note, unwind semantics are not enabled
+83
View File
@@ -0,0 +1,83 @@
version: 1.0.{build}
branches:
only:
- /develop/
max_jobs: 2
clone_depth: 10
clone_folder: c:\projects\vcmi\source
init:
- cmd: set QTDIR=C:\Qt\5.7\msvc2015
environment:
BUILD_PLATFORM: x86
BUILD_CONFIGURATION: Release
install:
- cmd: >-
cd c:\projects\vcmi\
curl -fsS -o vcmi_depends_%BUILD_PLATFORM%.zip https://dependencies.vcmi.download/msvc/vcmi_depends_%BUILD_PLATFORM%.zip
7z x vcmi_depends_%BUILD_PLATFORM%.zip -odepends
cd source
git submodule update --init --recursive
cd ..
mkdir build_%BUILD_PLATFORM%
cd build_%BUILD_PLATFORM%
cmake -DCMAKE_TOOLCHAIN_FILE=../source/appveyor_toolchain.txt ../source
build_script:
- cmd: >-
cd c:\projects\vcmi\build_%BUILD_PLATFORM%
msbuild vcmi.sln /p:configuration=%BUILD_CONFIGURATION% /maxcpucount:2
IF "%APPVEYOR_REPO_TAG%"=="true" cpack
mkdir dist_%BUILD_PLATFORM%
cp launcher\%BUILD_CONFIGURATION%\VCMI_launcher.exe dist_%BUILD_PLATFORM%
cp client\%BUILD_CONFIGURATION%\VCMI_client.exe dist_%BUILD_PLATFORM%
cp server\%BUILD_CONFIGURATION%\VCMI_server.exe dist_%BUILD_PLATFORM%
cp lib\%BUILD_CONFIGURATION%\VCMI_lib.dll dist_%BUILD_PLATFORM%
cp lib\minizip\%BUILD_CONFIGURATION%\minizip.dll dist_%BUILD_PLATFORM%
mkdir dist_%BUILD_PLATFORM%\AI
cp AI\VCAI\%BUILD_CONFIGURATION%\VCAI.dll dist_%BUILD_PLATFORM%\AI
cp AI\EmptyAI\%BUILD_CONFIGURATION%\EmptyAI.dll dist_%BUILD_PLATFORM%\AI
cp AI\BattleAI\%BUILD_CONFIGURATION%\BattleAI.dll dist_%BUILD_PLATFORM%\AI
cp AI\StupidAI\%BUILD_CONFIGURATION%\StupidAI.dll dist_%BUILD_PLATFORM%\AI
cd dist_%BUILD_PLATFORM%
mkdir platforms
copy %QTDIR%\bin\Qt5Core.dll .
copy %QTDIR%\bin\Qt5Gui.dll .
copy %QTDIR%\bin\Qt5Widgets.dll .
copy %QTDIR%\bin\Qt5Network.dll .
copy %QTDIR%\plugins\platforms\qwindows.dll platforms
7z a c:\projects\vcmi\source\vcmi-%BUILD_PLATFORM%-%BUILD_CONFIGURATION%.zip * -r -x!*.exp -x!*.lib
7z a c:\projects\vcmi\source\vcmi-%BUILD_PLATFORM%-%BUILD_CONFIGURATION%.zip c:\projects\vcmi\depends\bin\*.dll
artifacts:
- path: vcmi-x86-Release.zip
+18
View File
@@ -0,0 +1,18 @@
SET(CMAKE_SYSTEM_NAME Windows)
SET(VCMIBUILD_DIR c:/projects/vcmi)
SET(CMAKE_C_COMPILER cl)
SET(CMAKE_CXX_COMPILER cl)
set(CMAKE_RC_COMPILER rc)
SET(ENV{BOOST_ROOT} C:/Libraries/boost_1_60_0)
SET(ENV{BOOST_LIBRARYDIR} C:/Libraries/boost_1_60_0/lib32-msvc-14.0)
SET(CMAKE_FIND_ROOT_PATH ${VCMIBUILD_DIR}/depends)
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_FIND_ROOT_PATH})
list(APPEND CMAKE_PREFIX_PATH C:/Qt/5.7/msvc2015)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
+7
View File
@@ -120,6 +120,13 @@ if(ANDROID) # android needs client/server to be libraries, not executables, so w
return()
endif()
if(MSVC)
# workaround ffmpeg linking problems
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO")
endif()
if(APPLE)
# OS X specific includes
include_directories(${SPARKLE_INCLUDE_DIR})
+1 -1
View File
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8.7)
project(test)
enable_testing()
include_directories(${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/include ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_HOME_DIRECTORY}/test)
include_directories(${Boost_INCLUDE_DIRS})
include_directories(${Boost_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
set(test_SRCS
StdInc.cpp