- os: ubuntu-latest
compiler: clang
env:
- idx: 1
N: Clang-Linux-Minimal-Debug
BUILD_TYPE: Debug
ENABLE_SSL_DYNAMIC_LOADING: YES
- os: ubuntu-latest
compiler: clang
env:
- idx: 3
N: Clang-Linux-Default-Release
BUILD_TYPE: Release
ENABLE_SSL_DYNAMIC_LOADING: YES
- os: ubuntu-latest
compiler: gcc
env:
- idx: 5
N: GCC-Linux-Complete-NoLua-Release
BUILD_TYPE: Release
ENABLE_SSL_DYNAMIC_LOADING: YES
- os: ubuntu-latest
compiler: clang
env:
- idx: 6
N: CLANG-AnyVersion-Linux-Coverage
BUILD_TYPE: Coverage
ENABLE_SSL_DYNAMIC_LOADING: YES
- os: ubuntu-latest
compiler: clang
env:
- idx: 9
N: Clang-Linux-Default-Shared
BUILD_TYPE: Debug
ENABLE_SSL_DYNAMIC_LOADING: YES
- os: ubuntu-latest
compiler: gcc
env:
- idx: 15
N: GCCLinuxDefault_RelWithDebInfo
BUILD_TYPE: RelWithDebInfo
ENABLE_SSL_DYNAMIC_LOADING: YES
- os: ubuntu-latest
compiler: gcc
env:
- idx: 16
N: GCCLinuxDefault_MinSizeRel
BUILD_TYPE: MinSizeRel
ENABLE_SSL_DYNAMIC_LOADING: YES
- os: ubuntu-latest
compiler: gcc
env:
- idx: 17
N: GCCLinuxDefault_None
BUILD_TYPE: None
ENABLE_SSL_DYNAMIC_LOADING: YES
- os: ubuntu-latest
compiler: gcc
env:
- idx: 20
N: GCCLinuxDefault_xenial
BUILD_TYPE: Release
ENABLE_SSL_DYNAMIC_LOADING: YES
- os: ubuntu-latest
compiler: gcc
env:
- idx: 23
N: GCCLinuxDefault_focal
BUILD_TYPE: Release
ENABLE_SSL_DYNAMIC_LOADING: YES
NO_CACHING: NO
ALLOW_WARNINGS: YES
RUN_UNITTEST: 1
+
+ - os: ubuntu-latest
+ compiler: gcc
+ env:
+ N: GCCLinuxDefault_OpenSSL_3_0
+ BUILD_TYPE: Release
+ ENABLE_SSL_DYNAMIC_LOADING: YES
+ OPENSSL_1_0: NO
+ OPENSSL_1_1: NO
+ OpenSSL_3_0: YES
+ ENABLE_CXX: NO
+ ENABLE_LUA_SHARED: NO
+ C_STANDARD: auto
+ CXX_STANDARD: auto
+ BUILD_SHARED: NO
+ NO_FILES: NO
+ ENABLE_SSL: YES
+ NO_CGI: NO
+ ENABLE_IPV6: NO
+ ENABLE_WEBSOCKETS: NO
+ ENABLE_LUA: NO
+ ENABLE_DUKTAPE: NO
+ NO_CACHING: NO
+ ALLOW_WARNINGS: YES
+ RUN_UNITTEST: 1
# Disable Lua build, until someone knows how to fix the CMake files
# see https://github.com/civetweb/civetweb/issues/543
# - os: ubuntu-lastest
# compiler: clang
# env:
- # idx: 99
# N: Clang-Linux-Complete-WithLua-Debug
# BUILD_TYPE: Debug
# ENABLE_SSL_DYNAMIC_LOADING: YES
- os: macos-latest
compiler: clang
env:
- idx: 8
N: Clang-OSX-Complete-NoLua-Release-OpenSSL_1_1_NoDynLoad
BUILD_TYPE: Release
ENABLE_SSL_DYNAMIC_LOADING: NO
- os: macos-13
compiler: clang
env:
- idx: 11
- N: OSX-Package
+ N: OSX-Package_OpenSSL_1_0
BUILD_TYPE: Release
ENABLE_SSL_DYNAMIC_LOADING: YES
OPENSSL_1_0: YES
MACOSX_PACKAGE: 1
RUN_UNITTEST: 1
+ - os: macos-latest
+ compiler: clang
+ env:
+ N: OSX-Package_OpenSSL_3_0
+ BUILD_TYPE: Release
+ ENABLE_SSL_DYNAMIC_LOADING: YES
+ OPENSSL_1_0: NO
+ OPENSSL_1_1: NO
+ OPENSSL_3_0: YES
+ ENABLE_CXX: NO
+ ENABLE_LUA_SHARED: NO
+ C_STANDARD: auto
+ CXX_STANDARD: auto
+ BUILD_SHARED: NO
+ NO_FILES: NO
+ ENABLE_SSL: YES
+ NO_CGI: NO
+ ENABLE_IPV6: YES
+ ENABLE_WEBSOCKETS: YES
+ ENABLE_SERVER_STATS: NO
+ ENABLE_LUA: NO
+ ENABLE_DUKTAPE: NO
+ NO_CACHING: NO
+ ALLOW_WARNINGS: YES
+ MACOSX_PACKAGE: 1
+ RUN_UNITTEST: 1
+
steps:
- name: Checkout code
echo "${OPENSSL_ROOT_DIR}/bin" >> $GITHUB_PATH
echo "ADDITIONAL_CMAKE_ARGS=${ADDITIONAL_CMAKE_ARGS}" >> $GITHUB_ENV
echo "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}" >> $GITHUB_ENV
+
+ - name: Install OpenSSL 3.0 on modern MacOS
+ # OpenSSL 1.1 is installed by default, so we need to install 3.0 manually
+ if: startsWith(matrix.os,'macos') && matrix.env.OPENSSL_3_0 == 'YES'
+ run: |
+ brew install openssl@3.0
+ OPENSSL_ROOT_DIR=$(brew --prefix openssl@3.0)
+ LDFLAGS=-L${OPENSSL_ROOT_DIR}/lib
+ CFLAGS=-I${OPENSSL_ROOT_DIR}/include
+ ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DMAKE_C_FLAGS=${CFLAGS}"
+ PKG_CONFIG_PATH=${OPENSSL_ROOT_DIR}/lib/pkgconfig
+
+ echo "LDFLAGS=${LDFLAGS}" >> $GITHUB_ENV
+ echo "CFLAGS=${CFLAGS}" >> $GITHUB_ENV
+ echo "${OPENSSL_ROOT_DIR}/bin" >> $GITHUB_PATH
+ echo "ADDITIONAL_CMAKE_ARGS=${ADDITIONAL_CMAKE_ARGS}" >> $GITHUB_ENV
+ echo "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}" >> $GITHUB_ENV
+
- name: Install OpenSSL 1.0 on modern Linux
# Needed for recent versions of Linux as they ship with OpenSSL 3.0 by default
if: startsWith(matrix.os,'ubuntu') && matrix.env.OPENSSL_1_0 == 'YES'