summaryrefslogblamecommitdiffstats
path: root/appveyor.yml
blob: bb3847585ab6d7f9d9f3dc328f968191944608de (plain) (tree)
1
2
3
4
5
6
7
                    
               
 



                    








                                                             
                        


                          
                          


                          
                          
 







                               
        

                             
 









                                   

                                              
               

                                                                                                  















                                   



              
               

                                              
               
                                       















                                     



              
               

                                              
               
                                                







                                     


                                           
      


                              
 



                     
            







                                                                             
version: 1.0.{build}
clone_depth: 50

image:
- Visual Studio 2019
- Visual Studio 2017

# Set up environment variables for build info
environment:
  CUBERITE_BUILD_SERIES_NAME: AppVeyor
  CUBERITE_BUILD_ID: "%APPVEYOR_BUILD_NUMBER%"
  CUBERITE_BUILD_DATETIME: "%APPVEYOR_REPO_COMMIT_TIMESTAMP%"

  matrix:
  - job_name: Windows-x64-debug
    configuration: Debug
    BUILD_DIR: Debug-x64

  - job_name: Windows-x86
    configuration: Release
    BUILD_DIR: Release-x86

  - job_name: Windows-x64
    configuration: Release
    BUILD_DIR: Release-x64

matrix:
  exclude:
    - image: Visual Studio 2017
      configuration: Release
    - image: Visual Studio 2019
      configuration: Debug


install:
- echo %TIME%
- git submodule update --init

for:
##############################
# Windows 64-bit debug build #
##############################
-
  matrix:
    only:
      - job_name: Windows-x64-debug

  before_build:
  - if not exist %BUILD_DIR% mkdir %BUILD_DIR%
  - cd %BUILD_DIR%
  - echo %TIME%
  # TODO: re-add -DSELF_TEST=YES -DBUILD_TOOLS=YES once PCH for tools enabled (too slow otherwise)
  - cmake -G "Visual Studio 15 2017" -A "x64" -DSELF_TEST=NO -DBUILD_TOOLS=NO ..
  - echo %TIME%
  - cd ..

  build:
    project: Debug-x64\Cuberite.sln
    parallel: true
    verbosity: minimal

################################
# Windows 32-bit release build #
################################
-
  matrix:
    only:
      - job_name: Windows-x86

  branches:
    only:
      - master

  before_build:
  - if not exist %BUILD_DIR% mkdir %BUILD_DIR%
  - cd %BUILD_DIR%
  - echo %TIME%
  - cmake -G "Visual Studio 16 2019" ..
  - echo %TIME%
  - cd ..

  build:
    project: Release-x86\Cuberite.sln
    parallel: true
    verbosity: minimal

################################
# Windows 64-bit release build #
################################
-
  matrix:
    only:
      - job_name: Windows-x64

  branches:
    only:
      - master

  before_build:
  - if not exist %BUILD_DIR% mkdir %BUILD_DIR%
  - cd %BUILD_DIR%
  - echo %TIME%
  - cmake -G "Visual Studio 16 2019" -A "x64" ..
  - echo %TIME%
  - cd ..

  build:
    project: Release-x64\Cuberite.sln
    parallel: true
    verbosity: minimal

###########################################
# Cache for speeding up subsequent builds #
###########################################
cache:
  - Debug-x64\CMakeCache.txt
  - Release-x86\CMakeCache.txt
  - Release-x64\CMakeCache.txt

#####################
# Package artifacts #
#####################

after_build:
- cd %BUILD_DIR%\Server
- echo Cuberite %APPVEYOR_JOB_NAME%-#%APPVEYOR_BUILD_NUMBER%  1>buildinfo.txt
- Install\PackWindowsExecutables.cmd
- appveyor PushArtifact Cuberite.zip -FileName Cuberite.zip
- appveyor PushArtifact PDBs.zip -FileName PDBs.zip
- appveyor PushArtifact AutoAPI.zip -FileName AutoAPI.zip
- appveyor PushArtifact ManualAPI.zip -FileName ManualAPI.zip
- appveyor PushArtifact .luacheckrc -FileName .luacheckrc