mirror of
https://github.com/cuberite/SQLiteCpp.git
synced 2025-08-06 18:56:40 -04:00
Merge pull request #371 from SRombauts/appveyor-vs-2022
Add Visual Studio 2022 to AppVeyor CI/CD
This commit is contained in:
commit
45e7914b16
272
.travis.yml
272
.travis.yml
@ -1,136 +1,136 @@
|
|||||||
# Copyright (c) 2012-2021 Sebastien Rombauts (sebastien.rombauts@gmail.com)
|
# Copyright (c) 2012-2022 Sebastien Rombauts (sebastien.rombauts@gmail.com)
|
||||||
|
|
||||||
language: cpp
|
language: cpp
|
||||||
|
|
||||||
# Use Linux unless specified otherwise
|
# Use Linux unless specified otherwise
|
||||||
os: linux
|
os: linux
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
apt: true
|
apt: true
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- BUILD_TYPE=Debug
|
- BUILD_TYPE=Debug
|
||||||
- ASAN=ON
|
- ASAN=ON
|
||||||
- INTERNAL_SQLITE=ON
|
- INTERNAL_SQLITE=ON
|
||||||
- VALGRIND=OFF
|
- VALGRIND=OFF
|
||||||
|
|
||||||
# Build variants (should test a reasonable number of combination of CMake options)
|
# Build variants (should test a reasonable number of combination of CMake options)
|
||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# GCC on Linux
|
# GCC on Linux
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
# Coverity static code analysis
|
# Coverity static code analysis
|
||||||
- dist: bionic
|
- dist: bionic
|
||||||
env:
|
env:
|
||||||
- COVERITY_SCAN_PROJECT_NAME=SRombauts/SQLiteCpp
|
- COVERITY_SCAN_PROJECT_NAME=SRombauts/SQLiteCpp
|
||||||
- COVERITY_SCAN_BRANCH_PATTERN=master
|
- COVERITY_SCAN_BRANCH_PATTERN=master
|
||||||
- COVERITY_SCAN_NOTIFICATION_EMAIL=sebastien.rombauts@gmail.com
|
- COVERITY_SCAN_NOTIFICATION_EMAIL=sebastien.rombauts@gmail.com
|
||||||
- COVERITY_SCAN_BUILD_COMMAND_PREPEND="cmake ."
|
- COVERITY_SCAN_BUILD_COMMAND_PREPEND="cmake ."
|
||||||
- COVERITY_SCAN_BUILD_COMMAND="make -j8"
|
- COVERITY_SCAN_BUILD_COMMAND="make -j8"
|
||||||
# Encrypted COVERITY_SCAN_TOKEN, created via the "travis encrypt" command using the project repo's public key
|
# Encrypted COVERITY_SCAN_TOKEN, created via the "travis encrypt" command using the project repo's public key
|
||||||
- secure: "Qm4d8NEDPBtYZCYav46uPEvDCtaRsjLXlkVS+C+WCJAPcwXCGkrr96wEi7RWcq2xD86QCh0XiqaPT+xdUmlohOYIovRhaaBmZ1lwIJ4GsG/ZR6xoFr3DYsZ3o4GyXk2vNXNxEl82AC+Xs6e6gkLOV9XRkBcjpVIvoIXgNlKWeGY="
|
- secure: "Qm4d8NEDPBtYZCYav46uPEvDCtaRsjLXlkVS+C+WCJAPcwXCGkrr96wEi7RWcq2xD86QCh0XiqaPT+xdUmlohOYIovRhaaBmZ1lwIJ4GsG/ZR6xoFr3DYsZ3o4GyXk2vNXNxEl82AC+Xs6e6gkLOV9XRkBcjpVIvoIXgNlKWeGY="
|
||||||
|
|
||||||
# GCC 7.4.0 Debug build with GCov for coverage build
|
# GCC 7.4.0 Debug build with GCov for coverage build
|
||||||
- dist: bionic
|
- dist: bionic
|
||||||
env:
|
env:
|
||||||
- cc=gcc cxx=g++
|
- cc=gcc cxx=g++
|
||||||
- GCOV=ON
|
- GCOV=ON
|
||||||
- COVERALLS=true
|
- COVERALLS=true
|
||||||
|
|
||||||
# GCC 7.4.0 Debug build with Valgrind instead of Address Sanitizer
|
# GCC 7.4.0 Debug build with Valgrind instead of Address Sanitizer
|
||||||
- dist: bionic
|
- dist: bionic
|
||||||
env:
|
env:
|
||||||
- cc=gcc cxx=g++
|
- cc=gcc cxx=g++
|
||||||
- ASAN=OFF
|
- ASAN=OFF
|
||||||
- VALGRIND=true
|
- VALGRIND=true
|
||||||
|
|
||||||
# GCC 7.4.0 Release build
|
# GCC 7.4.0 Release build
|
||||||
- dist: bionic
|
- dist: bionic
|
||||||
env:
|
env:
|
||||||
- cc=gcc cxx=g++
|
- cc=gcc cxx=g++
|
||||||
- BUILD_TYPE=Release
|
- BUILD_TYPE=Release
|
||||||
|
|
||||||
# GCC 7.4.0 test linking with libsqlite3-dev package
|
# GCC 7.4.0 test linking with libsqlite3-dev package
|
||||||
- dist: bionic
|
- dist: bionic
|
||||||
env:
|
env:
|
||||||
- cc=gcc cxx=g++
|
- cc=gcc cxx=g++
|
||||||
- INTERNAL_SQLITE=OFF
|
- INTERNAL_SQLITE=OFF
|
||||||
|
|
||||||
# GCC 5.4.0
|
# GCC 5.4.0
|
||||||
- dist: xenial
|
- dist: xenial
|
||||||
env:
|
env:
|
||||||
- cc=gcc cxx=g++
|
- cc=gcc cxx=g++
|
||||||
|
|
||||||
# GCC 4.8.4
|
# GCC 4.8.4
|
||||||
- dist: trusty
|
- dist: trusty
|
||||||
env:
|
env:
|
||||||
- cc=gcc cxx=g++
|
- cc=gcc cxx=g++
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# Clang on Linux
|
# Clang on Linux
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
# Clang 7.0.0
|
# Clang 7.0.0
|
||||||
- dist: bionic
|
- dist: bionic
|
||||||
env:
|
env:
|
||||||
- cc=clang cxx=clang++
|
- cc=clang cxx=clang++
|
||||||
|
|
||||||
# Clang 7.0.0
|
# Clang 7.0.0
|
||||||
- dist: xenial
|
- dist: xenial
|
||||||
env:
|
env:
|
||||||
- cc=clang cxx=clang++
|
- cc=clang cxx=clang++
|
||||||
|
|
||||||
# Clang 5.0.0
|
# Clang 5.0.0
|
||||||
- dist: trusty
|
- dist: trusty
|
||||||
env:
|
env:
|
||||||
- cc=clang cxx=clang++
|
- cc=clang cxx=clang++
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# Clang on OSX
|
# Clang on OSX
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
# Latest XCode - AppleClang 9.1.0
|
# Latest XCode - AppleClang 9.1.0
|
||||||
- os: osx
|
- os: osx
|
||||||
env:
|
env:
|
||||||
- cc=clang cxx=clang++
|
- cc=clang cxx=clang++
|
||||||
|
|
||||||
# XCode 8.3 - AppleClang 8.1.0
|
# XCode 8.3 - AppleClang 8.1.0
|
||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode8.3
|
osx_image: xcode8.3
|
||||||
env:
|
env:
|
||||||
- cc=clang cxx=clang++
|
- cc=clang cxx=clang++
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
# Coverity: don't use addons.coverity_scan since it run on every job of the build matrix, which waste resources and exhausts quotas
|
# Coverity: don't use addons.coverity_scan since it run on every job of the build matrix, which waste resources and exhausts quotas
|
||||||
# Note: the job dedicated to Coverity need to only run the shell script and then exit (to not try to build and run unit tests etc.)
|
# Note: the job dedicated to Coverity need to only run the shell script and then exit (to not try to build and run unit tests etc.)
|
||||||
- if [[ -n "$COVERITY_SCAN_PROJECT_NAME" ]] ; then curl -s https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh | bash ; exit 0 ; fi
|
- if [[ -n "$COVERITY_SCAN_PROJECT_NAME" ]] ; then curl -s https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh | bash ; exit 0 ; fi
|
||||||
|
|
||||||
- if [[ "$INTERNAL_SQLITE" == "OFF" ]]; then sudo apt-get install libsqlite3-dev ; fi
|
- if [[ "$INTERNAL_SQLITE" == "OFF" ]]; then sudo apt-get install libsqlite3-dev ; fi
|
||||||
- if [[ "$VALGRIND" == "true" ]]; then sudo apt-get install valgrind ; fi
|
- if [[ "$VALGRIND" == "true" ]]; then sudo apt-get install valgrind ; fi
|
||||||
- if [[ "$COVERALLS" == "true" ]]; then pip install --user cpp-coveralls ; fi
|
- if [[ "$COVERALLS" == "true" ]]; then pip install --user cpp-coveralls ; fi
|
||||||
|
|
||||||
# Set the compiler environment variables properly
|
# Set the compiler environment variables properly
|
||||||
- export CC=${cc}
|
- export CC=${cc}
|
||||||
- export CXX=${cxx}
|
- export CXX=${cxx}
|
||||||
|
|
||||||
# scripts to run before build
|
# scripts to run before build
|
||||||
before_script:
|
before_script:
|
||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSQLITECPP_INTERNAL_SQLITE=$INTERNAL_SQLITE -DSQLITECPP_USE_ASAN=$ASAN -DSQLITECPP_USE_GCOV=$GCOV -DSQLITECPP_BUILD_EXAMPLES=ON -DSQLITECPP_BUILD_TESTS=ON ..
|
- cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSQLITECPP_INTERNAL_SQLITE=$INTERNAL_SQLITE -DSQLITECPP_USE_ASAN=$ASAN -DSQLITECPP_USE_GCOV=$GCOV -DSQLITECPP_BUILD_EXAMPLES=ON -DSQLITECPP_BUILD_TESTS=ON ..
|
||||||
|
|
||||||
# build examples, and run tests (ie make & make test)
|
# build examples, and run tests (ie make & make test)
|
||||||
script:
|
script:
|
||||||
- cmake --build .
|
- cmake --build .
|
||||||
- export ASAN_OPTIONS=verbosity=1:debug=1
|
- export ASAN_OPTIONS=verbosity=1:debug=1
|
||||||
- ctest --verbose --output-on-failure
|
- ctest --verbose --output-on-failure
|
||||||
- if [[ "$VALGRIND" == "true" ]]; then valgrind --leak-check=full --error-exitcode=1 ./SQLiteCpp_example1 ; fi
|
- if [[ "$VALGRIND" == "true" ]]; then valgrind --leak-check=full --error-exitcode=1 ./SQLiteCpp_example1 ; fi
|
||||||
- if [[ "$VALGRIND" == "true" ]]; then valgrind --leak-check=full --error-exitcode=1 ./SQLiteCpp_tests ; fi
|
- if [[ "$VALGRIND" == "true" ]]; then valgrind --leak-check=full --error-exitcode=1 ./SQLiteCpp_tests ; fi
|
||||||
|
|
||||||
# generate and publish GCov coveralls results
|
# generate and publish GCov coveralls results
|
||||||
after_success:
|
after_success:
|
||||||
- if [[ "$COVERALLS" == "true" ]]; then coveralls --root .. -e examples -e googletest -e sqlite3 -e tests -E ".*feature_tests.*" -E ".*CompilerId.*" --gcov-options '\-lp' ; fi
|
- if [[ "$COVERALLS" == "true" ]]; then coveralls --root .. -e examples -e googletest -e sqlite3 -e tests -E ".*feature_tests.*" -E ".*CompilerId.*" --gcov-options '\-lp' ; fi
|
||||||
|
18
README.md
18
README.md
@ -10,7 +10,7 @@ SQLiteC++
|
|||||||
[](https://scan.coverity.com/projects/srombauts-sqlitecpp "Coverity Scan Build Status")
|
[](https://scan.coverity.com/projects/srombauts-sqlitecpp "Coverity Scan Build Status")
|
||||||
[](https://gitter.im/SRombauts/SQLiteCpp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
[](https://gitter.im/SRombauts/SQLiteCpp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
|
|
||||||
SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper.
|
SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.
|
||||||
|
|
||||||
<!--Keywords: sqlite, sqlite3, C, library, wrapper C++-->
|
<!--Keywords: sqlite, sqlite3, C, library, wrapper C++-->
|
||||||
<meta name="keywords" content="sqlite, sqlite3, C, library, wrapper C++">
|
<meta name="keywords" content="sqlite, sqlite3, C, library, wrapper C++">
|
||||||
@ -69,17 +69,17 @@ and then is always valid until destroyed.
|
|||||||
Now requires a C++11 compiler. Use branch [sqlitecpp-2.x](https://github.com/SRombauts/SQLiteCpp/tree/sqlitecpp-2.x) for latest pre-C++11 developments.
|
Now requires a C++11 compiler. Use branch [sqlitecpp-2.x](https://github.com/SRombauts/SQLiteCpp/tree/sqlitecpp-2.x) for latest pre-C++11 developments.
|
||||||
|
|
||||||
Developments and tests are done under the following OSs:
|
Developments and tests are done under the following OSs:
|
||||||
- Ubuntu 14.04, 16.04 and 18.04 (Travis CI)
|
- Ubuntu 14.04, 16.04 and 18.04 (Travis CI and Github Actions)
|
||||||
- Windows 10, and Windows Server 2012 R2 & Windows Server 2016 (AppVeyor)
|
- Windows 10, and Windows Server 2012 R2, Windows Server 2016, Windows Server 2022 (AppVeyor and Github Actions)
|
||||||
- OS X 10.11 (Travis CI)
|
- MacOS 10.11 and 11.7 (Travis CI and Github Actions)
|
||||||
- Github Actions
|
|
||||||
- Valgrind memcheck tool
|
- Valgrind memcheck tool
|
||||||
|
|
||||||
And the following IDEs/Compilers
|
And the following IDEs/Compilers
|
||||||
- GCC 4.8.4, 5.3.0 and 7.1.1 (C++11, C++14, C++17)
|
- GCC 4.8.4, 5.3.0, 7.1.1 and latest eg 9.4 (C++11, C++14, C++17)
|
||||||
- Clang 5
|
- Clang 5 and 7 (Travis CI)
|
||||||
- Xcode 8 & 9
|
- AppleClang 8, 9 and 13 (Travis CI and Github Actions)
|
||||||
- Visual Studio Community 2019, 2017, and 2015 (AppVeyor)
|
- Xcode 8 & 9 (Travis CI)
|
||||||
|
- Visual Studio Community/Entreprise 2022, 2019, 2017, and 2015 (AppVeyor and Github Actions)
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|
||||||
|
90
appveyor.yml
90
appveyor.yml
@ -1,44 +1,46 @@
|
|||||||
# Copyright (c) 2012-2021 Sebastien Rombauts (sebastien.rombauts@gmail.com)
|
# Copyright (c) 2012-2022 Sebastien Rombauts (sebastien.rombauts@gmail.com)
|
||||||
|
|
||||||
# build format
|
# build format
|
||||||
version: "{build}"
|
version: "{build}"
|
||||||
|
|
||||||
# scripts that run after cloning repository
|
# scripts that run after cloning repository
|
||||||
install:
|
install:
|
||||||
- git submodule update --init --recursive
|
- git submodule update --init --recursive
|
||||||
|
|
||||||
image:
|
image:
|
||||||
- Visual Studio 2019
|
- Visual Studio 2022
|
||||||
- Visual Studio 2017
|
- Visual Studio 2019
|
||||||
- Visual Studio 2015
|
- Visual Studio 2017
|
||||||
|
- Visual Studio 2015
|
||||||
# configurations to add to build matrix
|
|
||||||
# TODO: MinGW Makefiles and MSYS Makefiles
|
# configurations to add to build matrix
|
||||||
configuration:
|
# TODO: MinGW Makefiles and MSYS Makefiles
|
||||||
- Debug
|
configuration:
|
||||||
- Release
|
- Debug
|
||||||
|
- Release
|
||||||
environment:
|
|
||||||
matrix:
|
environment:
|
||||||
- arch: Win32
|
matrix:
|
||||||
- arch: x64
|
- arch: Win32
|
||||||
|
- arch: x64
|
||||||
init:
|
|
||||||
- echo %APPVEYOR_BUILD_WORKER_IMAGE% - %configuration% - %arch%
|
init:
|
||||||
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" (set vs=Visual Studio 15 2017)
|
- echo %APPVEYOR_BUILD_WORKER_IMAGE% - %configuration% - %arch%
|
||||||
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (set vs=Visual Studio 14 2015)
|
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" (set vs=Visual Studio 15 2017)
|
||||||
- if "%arch%"=="x64" (set generator="%vs% Win64") else (set generator="%vs%")
|
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (set vs=Visual Studio 14 2015)
|
||||||
# CMake uses a different grammar for Visual Studio 2019, with -A to specify architecture:
|
- if "%arch%"=="x64" (set generator="%vs% Win64") else (set generator="%vs%")
|
||||||
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2019" (set generator="Visual Studio 16 2019" -A %arch%)
|
# CMake uses a different grammar for Visual Studio 2019, with -A to specify architecture:
|
||||||
- echo %generator%
|
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2019" (set generator="Visual Studio 16 2019" -A %arch%)
|
||||||
|
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2022" (set generator="Visual Studio 17 2022" -A %arch%)
|
||||||
# scripts to run before build
|
- echo %generator%
|
||||||
before_build:
|
|
||||||
- mkdir build
|
# scripts to run before build
|
||||||
- cd build
|
before_build:
|
||||||
- cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DSQLITECPP_BUILD_EXAMPLES=ON -DSQLITECPP_BUILD_TESTS=ON -DSQLITECPP_RUN_CPPCHECK=OFF .. -G %generator%
|
- mkdir build
|
||||||
|
- cd build
|
||||||
# build examples, and run tests (ie make & make test)
|
- cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DSQLITECPP_BUILD_EXAMPLES=ON -DSQLITECPP_BUILD_TESTS=ON -DSQLITECPP_RUN_CPPCHECK=OFF .. -G %generator%
|
||||||
build_script:
|
|
||||||
- cmake --build . --config %configuration%
|
# build examples, and run tests (ie make & make test)
|
||||||
- ctest --output-on-failure
|
build_script:
|
||||||
|
- cmake --build . --config %configuration%
|
||||||
|
- ctest --output-on-failure
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@REM Copyright (c) 2012-2021 Sebastien Rombauts (sebastien.rombauts@gmail.com)
|
@REM Copyright (c) 2012-2022 Sebastien Rombauts (sebastien.rombauts@gmail.com)
|
||||||
@REM
|
@REM
|
||||||
@REM Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt
|
@REM Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt
|
||||||
@REM or copy at http://opensource.org/licenses/MIT)
|
@REM or copy at http://opensource.org/licenses/MIT)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user