mirror of
https://github.com/barkeser2002/flower.git
synced 2026-09-25 20:56:34 +03:00
137 lines
7.7 KiB
YAML
137 lines
7.7 KiB
YAML
####################################################################################
|
|
# #
|
|
# Copyright (c) 2014 - 2018 Axel Menzel <info@rttr.org> #
|
|
# #
|
|
# This file is part of RTTR (Run Time Type Reflection) #
|
|
# License: MIT License #
|
|
# #
|
|
# Permission is hereby granted, free of charge, to any person obtaining #
|
|
# a copy of this software and associated documentation files (the "Software"), #
|
|
# to deal in the Software without restriction, including without limitation #
|
|
# the rights to use, copy, modify, merge, publish, distribute, sublicense, #
|
|
# and/or sell copies of the Software, and to permit persons to whom the #
|
|
# Software is furnished to do so, subject to the following conditions: #
|
|
# #
|
|
# The above copyright notice and this permission notice shall be included in #
|
|
# all copies or substantial portions of the Software. #
|
|
# #
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE #
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, #
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE #
|
|
# SOFTWARE. #
|
|
# #
|
|
####################################################################################
|
|
|
|
shallow_clone: true
|
|
|
|
environment:
|
|
FTP_USER:
|
|
secure: NkQyMysYo/FDWRbnKqLMsg==
|
|
FTP_PASSWORD:
|
|
secure: sXMB2ufJJ3rxpSjo71XidGje9XPCg0oQIpNRGpH4Gv0=
|
|
matrix:
|
|
- COMPILER: MSVC_15
|
|
ARCHITECTURE: x86
|
|
TESTS_ONLY: true
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
- COMPILER: MSVC_15
|
|
ARCHITECTURE: x64
|
|
TESTS_ONLY: true
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
- COMPILER: MSVC_14
|
|
ARCHITECTURE: x86
|
|
TESTS_ONLY: true
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
- COMPILER: MSVC_14
|
|
ARCHITECTURE: x64
|
|
TESTS_ONLY: true
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
- COMPILER: MINGW_492
|
|
ARCHITECTURE: x86
|
|
TESTS_ONLY: true
|
|
- COMPILER: MINGW_W64
|
|
ARCHITECTURE: x64
|
|
TESTS_ONLY: true
|
|
- COMPILER: MSVC_14
|
|
ARCHITECTURE: x64
|
|
BUILD_EXAMPLES: true
|
|
BUILD_BENCHMARKS: true
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
# uncheck this in order to build and upload the documentation
|
|
#- COMPILER: MSVC_14
|
|
# ARCHITECTURE: x64
|
|
# BUILD_DOCU: true
|
|
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
|
|
build:
|
|
verbosity: detailed
|
|
parallel: true
|
|
|
|
install:
|
|
#######################################################################################
|
|
# All external dependencies are installed in C:\projects\deps
|
|
#######################################################################################
|
|
- mkdir C:\projects\deps
|
|
- cd C:\projects\deps
|
|
|
|
#######################################################################################
|
|
# Install Ninja
|
|
#######################################################################################
|
|
- set NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip"
|
|
- appveyor DownloadFile %NINJA_URL% -FileName ninja.zip
|
|
- 7z x ninja.zip -oC:\projects\deps\ninja > nul
|
|
- set PATH=C:\projects\deps\ninja;%PATH%
|
|
- ninja --version
|
|
|
|
#######################################################################################
|
|
# Install doxygen
|
|
#######################################################################################
|
|
- ps: >-
|
|
If ($env:BUILD_DOCU -Match "true") {
|
|
$env:DOXYGEN_URL="http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.10.windows.bin.zip"
|
|
appveyor DownloadFile $env:DOXYGEN_URL -FileName doxygen.zip
|
|
7z x doxygen.zip -oC:/projects/deps/doxygen-1.8.10 > $null
|
|
$env:PATH="C:/projects/deps/doxygen-1.8.10;$env:PATH"
|
|
doxygen --version
|
|
}
|
|
|
|
#######################################################################################
|
|
# CMake
|
|
#######################################################################################
|
|
- cmake --version
|
|
|
|
#######################################################################################
|
|
# setup boost
|
|
#######################################################################################
|
|
- set BOOST_ROOT=C:\Libraries\boost_1_63_0
|
|
- set BOOST_LIBRARYDIR=C:\Libraries\boost_1_63_0\lib64-msvc-14.0
|
|
|
|
before_build:
|
|
- cmd: cd C:\projects\rttr
|
|
- IF "%ARCHITECTURE%" == "x86" IF "%COMPILER%" == "MSVC_15" call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd.bat" -arch=x86 -host_arch=x64
|
|
- IF "%ARCHITECTURE%" == "x64" IF "%COMPILER%" == "MSVC_15" call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd.bat" -arch=x64 -host_arch=x64
|
|
- IF "%ARCHITECTURE%" == "x86" IF "%COMPILER%" == "MSVC_14" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\vsvars32.bat"
|
|
- IF "%ARCHITECTURE%" == "x64" IF "%COMPILER%" == "MSVC_14" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
|
|
- IF "%ARCHITECTURE%" == "x86" IF "%COMPILER%" == "MSVC_12" call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\vsvars32.bat"
|
|
- IF "%ARCHITECTURE%" == "x64" IF "%COMPILER%" == "MSVC_12" call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
|
|
- IF "%ARCHITECTURE%" == "x86" IF "%COMPILER%" == "MINGW_482" set PATH=C:\Qt\Tools\mingw482_32\bin;%PATH%
|
|
- IF "%ARCHITECTURE%" == "x86" IF "%COMPILER%" == "MINGW_492" set PATH=C:\Qt\Tools\mingw492_32\bin;%PATH%
|
|
- IF "%ARCHITECTURE%" == "x64" IF "%COMPILER%" == "MINGW_W64" set PATH=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
|
- IF "%BUILD_DOCU%" == "true" choco install lftp --version 4.7.5
|
|
|
|
#######################################################################################
|
|
# we can use Ninja for all configurations
|
|
#######################################################################################
|
|
build_script:
|
|
- mkdir build
|
|
- cd build
|
|
- cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=%BUILD_EXAMPLES% -DBUILD_BENCHMARKS=%BUILD_BENCHMARKS% -DBUILD_WEBSITE_DOCU=%BUILD_DOCU%
|
|
- if "%TESTS_ONLY%" == "true" (ninja run_tests)
|
|
- if "%BUILD_EXAMPLES%" == "true" (ninja examples)
|
|
- if "%BUILD_BENCHMARKS%" == "true" (ninja bench_method && ninja bench_rttr_cast && ninja bench_variant)
|
|
# when APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH is empty, we knew, we are on master branch
|
|
- if "%BUILD_DOCU%" == "true" ( if "%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH%" == "" (ninja doc_website && echo "Upload documentation..." && lftp -c "set ssl:verify-certificate no; open -u %FTP_USER%,%FTP_PASSWORD% ftp://server3.febas.net:21/; mirror -R doc_website/master doc_tmp" && lftp -c "set ssl:verify-certificate no; open -u %FTP_USER%,%FTP_PASSWORD% ftp://server3.febas.net:21/; rm -r doc" && lftp -c "set ssl:verify-certificate no; open -u %FTP_USER%,%FTP_PASSWORD% ftp://server3.febas.net:21/; mv doc_tmp doc") )
|