185 lines
5.7 KiB
YAML
185 lines
5.7 KiB
YAML
|
# build format
|
||
|
version: "{build}"
|
||
|
|
||
|
skip_branch_with_pr: true
|
||
|
skip_commits:
|
||
|
files:
|
||
|
- .git*
|
||
|
- .travis.yml
|
||
|
- _config.yml
|
||
|
- LICENSE
|
||
|
- '*.md'
|
||
|
- '*.png'
|
||
|
- '*.sh'
|
||
|
|
||
|
# configurations to add to build matrix
|
||
|
configuration:
|
||
|
#- Debug
|
||
|
- Release
|
||
|
|
||
|
environment:
|
||
|
appveyor_yml_disable_ps_linux: true
|
||
|
matrix:
|
||
|
- job_name: clang, C++14
|
||
|
appveyor_build_worker_image: Ubuntu
|
||
|
CC: clang
|
||
|
CXX: clang++
|
||
|
SQLITE_ORM_CXX_STANDARD: "-DSQLITE_ORM_ENABLE_CXX_14=ON"
|
||
|
cmake_build_parallel: --parallel
|
||
|
|
||
|
- job_name: gcc, C++14
|
||
|
appveyor_build_worker_image: Ubuntu
|
||
|
CC: gcc
|
||
|
CXX: g++
|
||
|
SQLITE_ORM_CXX_STANDARD: "-DSQLITE_ORM_ENABLE_CXX_14=ON"
|
||
|
# gcc was stuck with a parallel build
|
||
|
cmake_build_parallel: ""
|
||
|
|
||
|
# Representative for C++14
|
||
|
- job_name: Visual Studio 2017, x64, C++14
|
||
|
appveyor_build_worker_image: Visual Studio 2017
|
||
|
platform: x64
|
||
|
SQLITE_ORM_CXX_STANDARD: ""
|
||
|
|
||
|
- job_name: clang, C++17
|
||
|
appveyor_build_worker_image: Ubuntu
|
||
|
CC: clang
|
||
|
CXX: clang++
|
||
|
SQLITE_ORM_CXX_STANDARD: "-DSQLITE_ORM_ENABLE_CXX_17=ON"
|
||
|
cmake_build_parallel: --parallel
|
||
|
|
||
|
- job_name: gcc, C++17
|
||
|
appveyor_build_worker_image: Ubuntu
|
||
|
CC: gcc
|
||
|
CXX: g++
|
||
|
SQLITE_ORM_CXX_STANDARD: "-DSQLITE_ORM_ENABLE_CXX_17=ON"
|
||
|
cmake_build_parallel: ""
|
||
|
|
||
|
- job_name: clang, C++20 (with examples)
|
||
|
appveyor_build_worker_image: Ubuntu
|
||
|
CC: clang
|
||
|
CXX: clang++
|
||
|
SQLITE_ORM_CXX_STANDARD: "-DSQLITE_ORM_ENABLE_CXX_20=ON"
|
||
|
# clang was stuck with a parallel build of examples
|
||
|
cmake_build_parallel: ""
|
||
|
cmake_build_examples: "-DBUILD_EXAMPLES=ON"
|
||
|
|
||
|
- job_name: gcc, C++20
|
||
|
appveyor_build_worker_image: Ubuntu
|
||
|
CC: gcc
|
||
|
CXX: g++
|
||
|
SQLITE_ORM_CXX_STANDARD: "-DSQLITE_ORM_ENABLE_CXX_20=ON"
|
||
|
cmake_build_parallel: ""
|
||
|
|
||
|
- job_name: Visual Studio 2022, x64, C++17
|
||
|
appveyor_build_worker_image: Visual Studio 2022
|
||
|
platform: x64
|
||
|
SQLITE_ORM_CXX_STANDARD: "-DSQLITE_ORM_ENABLE_CXX_17=ON"
|
||
|
|
||
|
- job_name: Visual Studio 2022, x64, C++20
|
||
|
appveyor_build_worker_image: Visual Studio 2022
|
||
|
platform: x64
|
||
|
SQLITE_ORM_CXX_STANDARD: "-DSQLITE_ORM_ENABLE_CXX_20=ON"
|
||
|
|
||
|
- job_name: Visual Studio 2022, x86, C++20
|
||
|
appveyor_build_worker_image: Visual Studio 2022
|
||
|
platform: x86
|
||
|
SQLITE_ORM_CXX_STANDARD: "-DSQLITE_ORM_ENABLE_CXX_20=ON"
|
||
|
|
||
|
matrix:
|
||
|
fast_finish: true
|
||
|
|
||
|
for:
|
||
|
-
|
||
|
# Windows
|
||
|
matrix:
|
||
|
only:
|
||
|
- appveyor_build_worker_image: Visual Studio 2017
|
||
|
- appveyor_build_worker_image: Visual Studio 2022
|
||
|
init:
|
||
|
- |-
|
||
|
echo %appveyor_build_worker_image% - %platform% - %configuration%
|
||
|
cmake --version
|
||
|
if "%platform%"=="x64" (set architecture=-A x64)
|
||
|
if "%platform%"=="x86" (set architecture=-A Win32)
|
||
|
if "%appveyor_build_worker_image%"=="Visual Studio 2022" (set generator="Visual Studio 17 2022" %architecture%)
|
||
|
if "%appveyor_build_worker_image%"=="Visual Studio 2017" (set generator="Visual Studio 15 2017" %architecture%)
|
||
|
install:
|
||
|
- |-
|
||
|
cd C:\Tools\vcpkg
|
||
|
git fetch --tags && git checkout 2023.01.09
|
||
|
cd %APPVEYOR_BUILD_FOLDER%
|
||
|
C:\Tools\vcpkg\bootstrap-vcpkg.bat -disableMetrics
|
||
|
C:\Tools\vcpkg\vcpkg integrate install
|
||
|
set VCPKG_DEFAULT_TRIPLET=%platform%-windows
|
||
|
vcpkg install sqlite3
|
||
|
rem The Visual Studio 2017 build worker image comes with CMake 3.16 only, and sqlite_orm will build the Catch2 dependency from source
|
||
|
if not "%appveyor_build_worker_image%"=="Visual Studio 2017" (vcpkg install catch2)
|
||
|
before_build:
|
||
|
- |-
|
||
|
mkdir compile
|
||
|
cd compile
|
||
|
cmake %SQLITE_ORM_CXX_STANDARD% -G %generator% -DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake ..
|
||
|
# build examples, and run tests (ie make & make test)
|
||
|
build_script:
|
||
|
- |-
|
||
|
cmake --build . --config %configuration% -- /m
|
||
|
ctest --verbose --output-on-failure --build-config %configuration%
|
||
|
|
||
|
-
|
||
|
# Linux
|
||
|
matrix:
|
||
|
only:
|
||
|
- appveyor_build_worker_image: Ubuntu
|
||
|
init:
|
||
|
- |-
|
||
|
echo $appveyor_build_worker_image
|
||
|
$CXX --version
|
||
|
cmake --version
|
||
|
# using custom vcpkg triplets for building and linking dynamic dependent libraries
|
||
|
install:
|
||
|
- |-
|
||
|
pushd $HOME/vcpkg
|
||
|
git fetch --tags && git checkout 2023.01.09
|
||
|
popd
|
||
|
$HOME/vcpkg/bootstrap-vcpkg.sh -disableMetrics
|
||
|
$HOME/vcpkg/vcpkg integrate install --overlay-triplets=vcpkg/triplets
|
||
|
vcpkg install sqlite3 catch2 --overlay-triplets=vcpkg/triplets
|
||
|
before_build:
|
||
|
- |-
|
||
|
mkdir compile
|
||
|
cd compile
|
||
|
cmake $SQLITE_ORM_CXX_STANDARD $cmake_build_examples --toolchain $HOME/vcpkg/scripts/buildsystems/vcpkg.cmake ..
|
||
|
# build examples, and run tests (ie make & make test)
|
||
|
build_script:
|
||
|
- |-
|
||
|
cmake --build . $cmake_build_parallel
|
||
|
ctest --verbose --output-on-failure
|
||
|
-
|
||
|
# macOS
|
||
|
matrix:
|
||
|
only:
|
||
|
- appveyor_build_worker_image: macOS
|
||
|
init:
|
||
|
- |-
|
||
|
echo $appveyor_build_worker_image
|
||
|
$CXX --version
|
||
|
cmake --version
|
||
|
# using custom vcpkg triplets for building and linking dynamic dependent libraries
|
||
|
install:
|
||
|
- |-
|
||
|
git clone --depth 1 --branch 2023.01.09 https://github.com/microsoft/vcpkg.git $HOME/vcpkg
|
||
|
$HOME/vcpkg/bootstrap-vcpkg.sh -disableMetrics
|
||
|
$HOME/vcpkg/vcpkg integrate install --overlay-triplets=vcpkg/triplets
|
||
|
vcpkg install sqlite3 catch2 --overlay-triplets=vcpkg/triplets
|
||
|
before_build:
|
||
|
- |-
|
||
|
mkdir compile
|
||
|
cd compile
|
||
|
cmake $SQLITE_ORM_CXX_STANDARD --toolchain $HOME/vcpkg/scripts/buildsystems/vcpkg.cmake ..
|
||
|
# build examples, and run tests (ie make & make test)
|
||
|
build_script:
|
||
|
- |-
|
||
|
cmake --build . --parallel
|
||
|
ctest --verbose --output-on-failure
|