updated github flow with asio for newer crowcpp

This commit is contained in:
Gulliver 2024-07-14 10:50:42 +02:00
parent 6a68f1cc45
commit 6c9fc3d973
4 changed files with 55 additions and 25 deletions

View File

@ -19,31 +19,44 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-latest, macos-latest, windows-latest] os: [ubuntu-latest,
macos-latest,
windows-latest]
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Prepare dependencies - name: Prepare dependencies
run: | run: |
if [ "$RUNNER_OS" == "Linux" ]; then if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt-get update && \ sudo apt-get update && \
sudo apt-get install -yq \ sudo apt-get install -yq \
libboost-system-dev \ libasio-dev \
libboost-date-time-dev \ libssl-dev zlib1g-dev \
cmake \ cmake graphviz doxygen
graphviz doxygen elif [ "$RUNNER_OS" == "Windows" ]; then
elif [ "$RUNNER_OS" == "Windows" ]; then VCPKG_DEFAULT_TRIPLET=x64-windows vcpkg install
choco install boost-msvc-14.3 graphviz doxygen.install elif [ "$RUNNER_OS" == "macOS" ]; then
elif [ "$RUNNER_OS" == "macOS" ]; then brew install asio openssl zlib doxygen graphviz
brew install boost graphviz doxygen else
else echo "$RUNNER_OS not supported"
echo "$RUNNER_OS not supported" exit 1
exit 1 fi
fi shell: bash
shell: bash
- name: Configure CMake - name: Configure CMake
run: cmake -B build run: |
shell: bash if [ "$RUNNER_OS" == "Windows" ]; then
cmake \
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake \
-B build
elif [ "$RUNNER_OS" == "macOS" ]; then
cmake \
-B build
else
cmake \
-B build
fi
shell: bash
- name: Build - name: Build
# Build your program with the given configuration # Build your program with the given configuration
run: cmake --build build --config ${{env.BUILD_TYPE}} run: cmake --build build --config ${{env.BUILD_TYPE}}

View File

@ -15,7 +15,12 @@ jobs:
- name: Checkout 🛎️ - name: Checkout 🛎️
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Prepare dependencies - name: Prepare dependencies
run: sudo apt-get update && sudo apt-get install -yq libboost-system-dev libboost-date-time-dev cmake graphviz doxygen run: |
sudo apt-get update && \
sudo apt-get install -yq \
libasio-dev \
libssl-dev zlib1g-dev \
cmake graphviz doxygen
- name: configure - name: configure
run: cmake -B build -S . -DEXPATPP_BUILD_DOCS=ON run: cmake -B build -S . -DEXPATPP_BUILD_DOCS=ON
- name: clean generated docs dir - name: clean generated docs dir

View File

@ -1,8 +1,11 @@
cmake_minimum_required(VERSION 3.1.3) cmake_minimum_required(VERSION 3.15.0 FATAL_ERROR)
project(oc-issuer VERSION 0.0.2 LANGUAGES CXX)
enable_language(C) enable_language(C)
enable_language(CXX) enable_language(CXX)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS On)
if(POLICY CMP0077) if(POLICY CMP0077)
cmake_policy(SET CMP0077 NEW) cmake_policy(SET CMP0077 NEW)
@ -14,7 +17,6 @@ else()
add_compile_options(-Wall -Wextra -pedantic) add_compile_options(-Wall -Wextra -pedantic)
endif() endif()
project(oc-issuer VERSION 0.0.2 LANGUAGES CXX)
include(FetchContent) include(FetchContent)
@ -25,11 +27,12 @@ set(CROW_BUILD_EXAMPLES Off)
set(CROW_BUILD_TOOLS Off) set(CROW_BUILD_TOOLS Off)
set(CROW_BUILD_TESTS Off) set(CROW_BUILD_TESTS Off)
set(CROW_BUILD_DOCS Off) set(CROW_BUILD_DOCS Off)
set(CROW_FEATURES "ssl;compression")
# add crow project to the build # add crow project to the build
FetchContent_Declare(crow FetchContent_Declare(crow
GIT_REPOSITORY https://github.com/CrowCpp/Crow.git GIT_REPOSITORY https://github.com/CrowCpp/Crow.git
GIT_TAG v1.0+5 GIT_TAG v1.2.0
) )
if(NOT crow_POPULATED) if(NOT crow_POPULATED)
@ -47,14 +50,14 @@ if(NOT expected_POPULATED)
endif(NOT expected_POPULATED) endif(NOT expected_POPULATED)
include(CTest) include(CTest)
enable_testing() enable_testing()
set(CATCH_INSTALL_DOCS Off) set(CATCH_INSTALL_DOCS Off)
set(CATCH_INSTALL_EXTRAS Off) set(CATCH_INSTALL_EXTRAS Off)
FetchContent_Declare( FetchContent_Declare(
Catch2 Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.3.1 GIT_TAG v3.6.0
) )
FetchContent_MakeAvailable(Catch2) FetchContent_MakeAvailable(Catch2)

9
vcpkg.json Normal file
View File

@ -0,0 +1,9 @@
{
"name": "oc-mint-cpp",
"version-string": "master",
"dependencies": [
"asio",
"openssl",
"zlib"
]
}