Skip to content

Commit

Permalink
known broken: Integrate vcpkg into CMake.
Browse files Browse the repository at this point in the history
  • Loading branch information
Rotonen committed Nov 18, 2023
1 parent a9f122a commit fa989e9
Show file tree
Hide file tree
Showing 81 changed files with 21,213 additions and 524 deletions.
38 changes: 29 additions & 9 deletions .github/workflows/pr-smoketest-debian.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Smoketest / Informative / Debian
on:
pull_request:
merge_group:

jobs:
test:
Expand All @@ -14,10 +13,14 @@ jobs:
# Bullseye is the oldest Debian with a new enough glm
- "bullseye" # 11
- "bookworm" # 12
- "trixie" # 13
# 13 Trixie is expected in 2025-06
# 14 is expected in 2027-06
compiler:
- g++
- clang
- clang++
build-type:
- Release
- Debug
container: debian:${{ matrix.debian }}-slim
steps:
- name: Install Dependencies
Expand All @@ -26,10 +29,24 @@ jobs:
run: |
apt-get -qq update
apt-get -qq upgrade -y
apt-get -qq install -y --no-install-recommends \
apt-file
apt-file update
apt-get -qq install -y --no-install-recommends \
ca-certificates \
git \
${{ matrix.compiler }} \
"$(\
apt-file search '/usr/bin/${{ matrix.compiler }}' \
| head -n 1 \
| cut -d' ' -f 1 \
| sed 's/://g' \
)" \
"$( \
if [ '${{ matrix.compiler }}' = 'clang++' ]; \
then \
echo 'llvm-dev'; \
fi \
)" \
cmake \
make \
ccache \
Expand All @@ -55,14 +72,17 @@ jobs:
- name: Set ccache up
uses: hendrikmuhs/ccache-action@ca3acd2731eef11f1572ccb126356c2f9298d35e # v1.2.9
with:
key: ${{ github.job }}-debian-${{ matrix.debian }}-${{ matrix.compiler }}
key: ${{ github.job }}-debian-${{ matrix.debian }}-${{ matrix.compiler }}-${{ matrix.build-type }}

- name: Build Prep Anura
run: |
cmake . \
-D CMAKE_CXX_COMPILER="${{ matrix.compiler }}" \
-D CMAKE_BUILD_TYPE="${{ matrix.build-type }}"
- name: Build Anura
env:
CXX: ${{ matrix.compiler }}
# Compile with number of available hyperthreads
run: |
cmake .
# Compile with number of available hyperthreads
make -j "$(getconf _NPROCESSORS_ONLN)"
- name: Run Unit Tests
Expand Down
36 changes: 22 additions & 14 deletions .github/workflows/pr-smoketest-fedora.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Smoketest / Informative / Fedora
on:
pull_request:
merge_group:

jobs:
test:
Expand All @@ -11,26 +10,32 @@ jobs:
fail-fast: false
matrix:
fedora:
# 32 is the oldest Fedora with a new enough glm
- "32"
- "33"
- "34"
- "35"
- "36"
# 37 is the oldest Fedora with a new enough dnf for resolving CXX
- "37"
- "38"
- "39"
# 40 is expected in 2024-04
# 41 is expected in 2024-11
compiler:
- g++
- clang
- clang++
build-type:
- Release
- Debug
container: fedora:${{ matrix.fedora }}
steps:
- name: Install Dependencies
run: |
dnf -y update
dnf -y install \
git \
${{ matrix.compiler }} \
"$(\
dnf repoquery \
--whatprovides '/usr/bin/${{ matrix.compiler }}' \
--arch x86_64 \
--latest-limit 1 \
--queryformat '%{NAME}' \
)" \
cmake \
make \
ccache \
Expand All @@ -52,14 +57,17 @@ jobs:
- name: Set ccache up
uses: hendrikmuhs/ccache-action@ca3acd2731eef11f1572ccb126356c2f9298d35e # v1.2.9
with:
key: ${{ github.job }}-fedora-${{ matrix.fedora }}-${{ matrix.compiler }}
key: ${{ github.job }}-fedora-${{ matrix.fedora }}-${{ matrix.compiler }}-${{ matrix.build-type }}

- name: Build Prep Anura
run: |
cmake . \
-D CMAKE_CXX_COMPILER="${{ matrix.compiler }}" \
-D CMAKE_BUILD_TYPE="${{ matrix.build-type }}"
- name: Build Anura
env:
CXX: ${{ matrix.compiler }}
# Compile with number of available hyperthreads
run: |
cmake .
# Compile with number of available hyperthreads
make -j "$(getconf _NPROCESSORS_ONLN)"
- name: Run Unit Tests
Expand Down
46 changes: 28 additions & 18 deletions .github/workflows/pr-smoketest-opensuse-leap.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Smoketest / Informative / openSUSE Leap
on:
pull_request:
merge_group:

jobs:
test:
Expand All @@ -11,32 +10,40 @@ jobs:
fail-fast: false
matrix:
suse:
# 15.3 is the oldest openSUSE Leap with a new enough glm
# 15.3 is the oldest openSUSE Leap with a new enough clang
- "15.3"
- "15.4"
- "15.5"
# 15.6 is expected in 2024-06
# 15.7 is expected in 2025-06
compiler:
- g++
- clang
- clang++
build-type:
- Release
- Debug
container: opensuse/leap:${{ matrix.suse }}
steps:
- name: Resolve Compiler Package Name
run: |
if [[ ${{ matrix.compiler }} == g++ ]]
then
echo compiler=gcc-c++ >> "$GITHUB_ENV"
else
echo compiler=clang >> "$GITHUB_ENV"
fi
- name: Install Dependencies
run: |
zypper --non-interactive update
zypper --non-interactive install \
tar \
gzip \
git \
${{ env.compiler }} \
"$(\
zypper se \
--provides \
--match-exact '/usr/bin/${{ matrix.compiler }}' \
| tail -n 1 \
| awk '{ print $2 }' \
)" \
"$( \
if [ '${{ matrix.compiler }}' = 'clang++' ]; \
then \
echo 'llvm-gold-provider'; \
fi \
)" \
cmake \
make \
ccache \
Expand Down Expand Up @@ -64,14 +71,17 @@ jobs:
- name: Set ccache up
uses: hendrikmuhs/ccache-action@ca3acd2731eef11f1572ccb126356c2f9298d35e # v1.2.9
with:
key: ${{ github.job }}-opensuse-leap-${{ matrix.suse }}-${{ matrix.compiler }}
key: ${{ github.job }}-opensuse-leap-${{ matrix.suse }}-${{ matrix.compiler }}-${{ matrix.build-type }}

- name: Build Prep Anura
run: |
cmake . \
-D CMAKE_CXX_COMPILER="${{ matrix.compiler }}" \
-D CMAKE_BUILD_TYPE="${{ matrix.build-type }}"
- name: Build Anura
env:
CXX: ${{ matrix.compiler }}
# Compile with number of available hyperthreads
run: |
cmake .
# Compile with number of available hyperthreads
make -j "$(getconf _NPROCESSORS_ONLN)"
- name: Run Unit Tests
Expand Down
41 changes: 32 additions & 9 deletions .github/workflows/pr-smoketest-ubuntu.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Smoketest / Informative / Ubuntu
on:
pull_request:
merge_group:

jobs:
test:
Expand All @@ -10,11 +9,18 @@ jobs:
strategy:
fail-fast: false
matrix:
# Versions between LTS are not available for long - we only do LTS
ubuntu:
- "22.04" # LTS only for sanity
- "20.04"
- "22.04"
# 24.04 LTS is expected in 2024-04
# 26.04 LTS is expected in 2026-04
compiler:
- g++
- clang
- clang++
build-type:
- Release
- Debug
container: ubuntu:${{ matrix.ubuntu }}
steps:
- name: Install Dependencies
Expand All @@ -23,10 +29,24 @@ jobs:
run: |
apt-get -qq update
apt-get -qq upgrade -y
apt-get -qq install -y --no-install-recommends \
apt-file
apt-file update
apt-get -qq install -y --no-install-recommends \
ca-certificates \
git \
${{ matrix.compiler }} \
"$(\
apt-file search '/usr/bin/${{ matrix.compiler }}' \
| head -n 1 \
| cut -d' ' -f 1 \
| sed 's/://g' \
)" \
"$( \
if [ '${{ matrix.compiler }}' = 'clang++' ]; \
then \
echo 'llvm-dev'; \
fi \
)" \
cmake \
make \
ccache \
Expand All @@ -52,14 +72,17 @@ jobs:
- name: Set ccache up
uses: hendrikmuhs/ccache-action@ca3acd2731eef11f1572ccb126356c2f9298d35e # v1.2.9
with:
key: ${{ github.job }}-ubuntu-${{ matrix.ubuntu }}-${{ matrix.compiler }}
key: ${{ github.job }}-ubuntu-${{ matrix.ubuntu }}-${{ matrix.compiler }}-${{ matrix.build-type }}

- name: Build Prep Anura
run: |
cmake . \
-D CMAKE_CXX_COMPILER="${{ matrix.compiler }}" \
-D CMAKE_BUILD_TYPE="${{ matrix.build-type }}"
- name: Build Anura
env:
CXX: ${{ matrix.compiler }}
# Compile with number of available hyperthreads
run: |
cmake .
# Compile with number of available hyperthreads
make -j "$(getconf _NPROCESSORS_ONLN)"
- name: Run Unit Tests
Expand Down
19 changes: 14 additions & 5 deletions .github/workflows/push-unit-tests-dynamic-linux.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ jobs:
test:
name: Ubuntu
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
build-type:
- Release
- Debug
steps:
- name: Install Dependencies
env:
Expand Down Expand Up @@ -41,14 +47,17 @@ jobs:
- name: Set ccache up
uses: hendrikmuhs/ccache-action@ca3acd2731eef11f1572ccb126356c2f9298d35e # v1.2.9
with:
key: ${{ github.job }}-unit-tests-${{ matrix.fedora }}-${{ matrix.compiler }}
key: unit-tests-linux-${{ matrix.build-type }}

- name: Build Prep Anura
run: |
cmake . \
-D CMAKE_CXX_COMPILER='clang++' \
-D CMAKE_BUILD_TYPE="${{ matrix.build-type }}"
- name: Build Anura
env:
CXX: clang
# Compile with number of available hyperthreads
run: |
cmake .
# Compile with number of available hyperthreads
make -j "$(getconf _NPROCESSORS_ONLN)"
- name: Run Unit Tests
Expand Down
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,19 @@ DerivedData/
# Anura XCode build
/MacOS/vcpkg

# CMake
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps

# Don't commit master-config.cfg by default.
# It should be copied or symlinked from a module.
master-config.cfg
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[submodule "imgui"]
path = imgui
path = src/imgui
url = https://github.com/ocornut/imgui
shallow = true
[submodule "vcpkg"]
Expand Down
Loading

0 comments on commit fa989e9

Please sign in to comment.