Skip to content

Commit

Permalink
Add cmake integration workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremy-rifkin committed Jul 29, 2023
1 parent c5168d5 commit 0ad4203
Show file tree
Hide file tree
Showing 9 changed files with 200 additions and 40 deletions.
161 changes: 161 additions & 0 deletions .github/workflows/cmake-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
name: cmake-integration

on:
push:
pull_request:

jobs:
test-linux-fetchcontent:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: test
run: |
tag=$(git rev-parse --abbrev-ref HEAD)
cd ..
cp -rv libassert/test/fetchcontent-integration .
mkdir fetchcontent-integration/build
cd fetchcontent-integration/build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DLIBASSERT_TAG=$tag
make
./main
test-linux-findpackage:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: build
run: |
tag=$(git rev-parse --abbrev-ref HEAD)
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
sudo make -j install
cd ../..
cp -rv libassert/test/findpackage-integration .
mkdir findpackage-integration/build
cd findpackage-integration/build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make
./main
test-linux-add_subdirectory:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: build
run: |
cd ..
cp -rv libassert/test/add_subdirectory-integration .
cp -rv libassert add_subdirectory-integration
mkdir add_subdirectory-integration/build
cd add_subdirectory-integration/build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make
./main
test-macos-fetchcontent:
runs-on: macos-13
steps:
- uses: actions/checkout@v2
- name: test
run: |
tag=$(git rev-parse --abbrev-ref HEAD)
cd ..
cp -rv libassert/test/fetchcontent-integration .
mkdir fetchcontent-integration/build
cd fetchcontent-integration/build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DLIBASSERT_TAG=$tag
make
./main
test-macos-findpackage:
runs-on: macos-13
steps:
- uses: actions/checkout@v2
- name: build
run: |
tag=$(git rev-parse --abbrev-ref HEAD)
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
sudo make -j install
cd ../..
cp -rv libassert/test/findpackage-integration .
mkdir findpackage-integration/build
cd findpackage-integration/build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make
./main
test-macos-add_subdirectory:
runs-on: macos-13
steps:
- uses: actions/checkout@v2
- name: test
run: |
cd ..
cp -rv libassert/test/add_subdirectory-integration .
cp -rv libassert add_subdirectory-integration
mkdir add_subdirectory-integration/build
cd add_subdirectory-integration/build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make
./main
test-mingw-fetchcontent:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: test
run: |
$tag=$(git rev-parse --abbrev-ref HEAD)
cd ..
cp -Recurse libassert/test/fetchcontent-integration .
mkdir fetchcontent-integration/build
cd fetchcontent-integration/build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DLIBASSERT_TAG="$tag" -DCMAKE_BUILD_TYPE=g++ "-GUnix Makefiles"
make
.\main.exe
test-mingw-add_subdirectory:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: test
run: |
cd ..
cp -Recurse libassert/test/add_subdirectory-integration .
cp -Recurse libassert add_subdirectory-integration
mkdir add_subdirectory-integration/build
cd add_subdirectory-integration/build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_BUILD_TYPE=g++ "-GUnix Makefiles"
make
.\main.exe
test-windows-fetchcontent:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Enable Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1.10.0
- name: test
run: |
$tag=$(git rev-parse --abbrev-ref HEAD)
cd ..
cp -Recurse libassert/test/fetchcontent-integration .
mkdir fetchcontent-integration/build
cd fetchcontent-integration/build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DLIBASSERT_TAG="$tag"
msbuild demo_project.sln
.\Debug\main.exe
test-windows-add_subdirectory:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Enable Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1.10.0
- name: test
run: |
cd ..
cp -Recurse libassert/test/add_subdirectory-integration .
cp -Recurse libassert add_subdirectory-integration
mkdir add_subdirectory-integration/build
cd add_subdirectory-integration/build
cmake .. -DCMAKE_BUILD_TYPE=Debug
msbuild demo_project.sln
.\Debug\main.exe
8 changes: 8 additions & 0 deletions tests/add_subdirectory-integration/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cmake_minimum_required(VERSION 3.8)

project(demo_project VERSION 0.0.1 LANGUAGES CXX)

add_executable(main main.cpp)

add_subdirectory(assert)
target_link_libraries(main assert)
File renamed without changes.
16 changes: 16 additions & 0 deletions tests/fetchcontent-integration/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
cmake_minimum_required(VERSION 3.8)

project(demo_project VERSION 0.0.1 LANGUAGES CXX)

add_executable(main main.cpp)

set(LIBASSERT_TAG "" CACHE STRING "libassert git tag")

include(FetchContent)
FetchContent_Declare(
assert
GIT_REPOSITORY https://github.com/jeremy-rifkin/libassert.git
GIT_TAG ${LIBASSERT_TAG}
)
FetchContent_MakeAvailable(assert)
target_link_libraries(main assert)
File renamed without changes.
8 changes: 8 additions & 0 deletions tests/findpackage-integration/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cmake_minimum_required(VERSION 3.8)

project(demo_project VERSION 0.0.1 LANGUAGES CXX)

add_executable(main main.cpp)

find_package(assert REQUIRED)
target_link_libraries(main assert::assert)
7 changes: 7 additions & 0 deletions tests/findpackage-integration/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#include <assert/assert.hpp>

int main() {
VERIFY(true);
ASSUME(true);
ASSERT(true);
}
16 changes: 0 additions & 16 deletions tests/library-usage/cmake-fetch-content/CMakeLists.txt

This file was deleted.

24 changes: 0 additions & 24 deletions tests/library-usage/cmake-find-package/CMakeLists.txt

This file was deleted.

0 comments on commit 0ad4203

Please sign in to comment.