Skip to content

Commit

Permalink
Try fix vcpkg GHA
Browse files Browse the repository at this point in the history
  • Loading branch information
leemaguire committed May 23, 2024
1 parent 53bf70b commit 2508b90
Showing 1 changed file with 88 additions and 82 deletions.
170 changes: 88 additions & 82 deletions .github/workflows/vcpkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,85 +15,6 @@ jobs:
os: [ubuntu-latest, windows-latest, macos-12]
build_type: [Debug, Release]

steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: 'recursive'

- name: "Install vcpkg (Unix)"
if: matrix.os != 'windows-latest'
run: |
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
- name: "Install vcpkg (Windows)"
if: matrix.os == 'windows-latest'
run: |
git clone https://github.com/microsoft/vcpkg.git
.\vcpkg\bootstrap-vcpkg.bat
- name: "Set environmental variables"
env:
VCPKG_ROOT: ${{ github.workspace }}/vcpkg

- name: "Display VCPKG_ROOT"
run: echo "${{ env.VCPKG_ROOT }} -- $VCPKG_ROOT -- $env:VCPKG_ROOT"

- name: Install dependencies
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y ninja-build
- name: Setup Ninja
if: matrix.os == 'macos-12'
uses: seanmiddleditch/gha-setup-ninja@master

- name: Configure and build (macOS)
working-directory: ./tests
if: matrix.os == 'macos-12'
run: |
cmake -GNinja -B build -S . -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-osx
cd build
cmake --build . --config ${{matrix.build_type}}
- name: Configure and build (Ubuntu)
working-directory: ./tests
if: matrix.os == 'ubuntu-latest'
run: |
cmake -GNinja -B build -S . -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-linux
cd build
cmake --build . --config ${{matrix.build_type}}
- name: Configure and build (Windows)
working-directory: ./tests
if: matrix.os == 'windows-latest'
run: |
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-windows-static -DENABLE_STATIC=ON
cd build
cmake --build . --config ${{matrix.build_type}}
- name: Run Application (Unix)
working-directory: ./tests/build
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-12'
run: ./cpprealm_db_tests

- name: Run Application (Windows)
working-directory: ./tests/build
if: matrix.os == 'windows-latest'
run: |
cd ${{matrix.build_type}}
./cpprealm_db_tests.exe
build-dynamic:
runs-on: ${{ matrix.os }}
name: "Dynamic linkage"
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-12]
build_type: [Debug, Release]

steps:
- name: Checkout
uses: actions/checkout@v2
Expand All @@ -120,6 +41,8 @@ jobs:
if: matrix.os == 'windows-latest'
run: echo "VCPKG_ROOT=${{ github.workspace }}\\vcpkg" >> $GITHUB_ENV

- name: "Display VCPKG_ROOT"
run: echo ${{ env.VCPKG_ROOT }}
- name: "Display VCPKG_ROOT"
run: echo "${{ env.VCPKG_ROOT }}"

Expand All @@ -137,23 +60,23 @@ jobs:
working-directory: ./tests
if: matrix.os == 'macos-12'
run: |
cmake -GNinja -B build -S . -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-osx-dynamic
cmake -GNinja -B build -S . -DCMAKE_TOOLCHAIN_FILE="${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-osx
cd build
cmake --build . --config ${{matrix.build_type}}
- name: Configure and build (Ubuntu)
working-directory: ./tests
if: matrix.os == 'ubuntu-latest'
run: |
cmake -GNinja -B build -S . -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-linux-dynamic
cmake -GNinja -B build -S . -DCMAKE_TOOLCHAIN_FILE="${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-linux
cd build
cmake --build . --config ${{matrix.build_type}}
- name: Configure and build (Windows)
working-directory: ./tests
if: matrix.os == 'windows-latest'
run: |
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-windows
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE="${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-windows-static -DENABLE_STATIC=ON
cd build
cmake --build . --config ${{matrix.build_type}}
Expand All @@ -168,3 +91,86 @@ jobs:
run: |
cd ${{matrix.build_type}}
./cpprealm_db_tests.exe
# build-dynamic:
# runs-on: ${{ matrix.os }}
# name: "Dynamic linkage"
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12]
# build_type: [Debug, Release]
#
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# with:
# submodules: 'recursive'
#
# - name: "Install vcpkg (Unix)"
# if: matrix.os != 'windows-latest'
# run: |
# git clone https://github.com/microsoft/vcpkg.git
# ./vcpkg/bootstrap-vcpkg.sh
#
# - name: "Install vcpkg (Windows)"
# if: matrix.os == 'windows-latest'
# run: |
# git clone https://github.com/microsoft/vcpkg.git
# .\vcpkg\bootstrap-vcpkg.bat
#
# - name: "Set environmental variables (Unix)"
# if: matrix.os != 'windows-latest'
# run: echo "VCPKG_ROOT=${{ github.workspace }}/vcpkg" >> $GITHUB_ENV
#
# - name: "Set environmental variables (Windows)"
# if: matrix.os == 'windows-latest'
# run: echo "VCPKG_ROOT=${{ github.workspace }}\\vcpkg" >> $GITHUB_ENV
#
# - name: "Display VCPKG_ROOT"
# run: echo "${{ env.VCPKG_ROOT }}"
#
# - name: Install dependencies
# if: matrix.os == 'ubuntu-latest'
# run: |
# sudo apt-get update
# sudo apt-get install -y ninja-build
#
# - name: Setup Ninja
# if: matrix.os == 'macos-12'
# uses: seanmiddleditch/gha-setup-ninja@master
#
# - name: Configure and build (macOS)
# working-directory: ./tests
# if: matrix.os == 'macos-12'
# run: |
# cmake -GNinja -B build -S . -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-osx-dynamic
# cd build
# cmake --build . --config ${{matrix.build_type}}
#
# - name: Configure and build (Ubuntu)
# working-directory: ./tests
# if: matrix.os == 'ubuntu-latest'
# run: |
# cmake -GNinja -B build -S . -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-linux-dynamic
# cd build
# cmake --build . --config ${{matrix.build_type}}
#
# - name: Configure and build (Windows)
# working-directory: ./tests
# if: matrix.os == 'windows-latest'
# run: |
# cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_OVERLAY_PORTS="../ports" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DVCPKG_TARGET_TRIPLET=x64-windows
# cd build
# cmake --build . --config ${{matrix.build_type}}
#
# - name: Run Application (Unix)
# working-directory: ./tests/build
# if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-12'
# run: ./cpprealm_db_tests
#
# - name: Run Application (Windows)
# working-directory: ./tests/build
# if: matrix.os == 'windows-latest'
# run: |
# cd ${{matrix.build_type}}
# ./cpprealm_db_tests.exe

0 comments on commit 2508b90

Please sign in to comment.