blob: 1ab41d8ef0b190de6f7bba797953934ac0f3a37f [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: log4cxx-osx
on: [push, pull_request]
jobs:
job:
name: ${{ matrix.os }}-${{ matrix.cxx }}-build-and-test
runs-on: ${{ matrix.os }}
timeout-minutes: 38
strategy:
fail-fast: false
matrix:
name: [osx-13, osx-14]
include:
- name: osx-13
os: macos-13
cxx: clang++
odbc: OFF
qt: ON
multiprocess: OFF
- name: osx-14
os: macos-14
cxx: clang++
odbc: ON
qt: OFF
multiprocess: ON
- name: osx-g++
os: macos-latest
cxx: g++-14
odbc: OFF
qt: OFF
multiprocess: OFF
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false # do not persist auth token in the local git config
path: main
- name: 'Configure Dependencies'
run: |
if [ ${{ matrix.os }} != macos-13 ]; then brew install apr-util; fi
if [ ${{ matrix.odbc }} == ON ]; then brew install unixodbc; fi
if [ ${{ matrix.qt }} == ON ]; then brew install qt; fi
if [ ${{ matrix.cxx }} == "g++-14" -a $(cmake --version | head -1 | awk '{split($3, a, "."); print a[1]}') -lt 4 ]
then
brew uninstall cmake
brew install cmake ninja
fi
- name: 'configure and build'
run: |
cd main
mkdir build
cd build
cmake \
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \
-DLOG4CXX_ENABLE_ODBC=${{ matrix.odbc }} \
-DLOG4CXX_MULTIPROCESS_ROLLING_FILE_APPENDER=${{ matrix.multiprocess }} \
-DLOG4CXX_CFSTRING=ON \
-DCMAKE_BUILD_TYPE=Debug \
..
cmake --build .
- name: run unit tests
run: |
cd main
cd build
ctest -C Debug --output-on-failure