Skip to content

Commit

Permalink
Merge branch 'main' into config-file-package
Browse files Browse the repository at this point in the history
  • Loading branch information
JeffGarland authored Feb 28, 2025
2 parents 05c6190 + f144574 commit 3606545
Show file tree
Hide file tree
Showing 8 changed files with 117 additions and 11 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ jobs:
platform: "ubuntu-latest"
- preset: "gcc-release"
platform: "ubuntu-latest"
- preset: "llvm-debug"
platform: "ubuntu-latest"
- preset: "llvm-release"
platform: "ubuntu-latest"
- preset: "appleclang-debug"
platform: "macos-latest"
- preset: "appleclang-release"
Expand Down
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ include(GNUInstallDirs)
if(BEMAN_EXEMPLAR_BUILD_TESTS)
# Fetch GoogleTest
FetchContent_Declare(
googletest
GTest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG
f8d7d77c06936315286eb55f8de22cd23c188571 # release-1.14.0
6910c9d9165801d8827d628cb72eb7ea9dd538c5 # release-1.16.0
EXCLUDE_FROM_ALL
)
set(INSTALL_GTEST OFF) # Disable GoogleTest installation
FetchContent_MakeAvailable(googletest)
FetchContent_MakeAvailable(GTest)
endif()

add_subdirectory(src/beman/exemplar)
Expand Down
78 changes: 76 additions & 2 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,31 @@
"CMAKE_TOOLCHAIN_FILE": "cmake/gnu-toolchain.cmake"
}
},
{
"name": "llvm-debug",
"displayName": "Clang Debug Build",
"inherits": [
"_root-config",
"_debug-base"
],
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "cmake/llvm-toolchain.cmake"
}
},
{
"name": "llvm-release",
"displayName": "Clang Release Build",
"inherits": [
"_root-config",
"_release-base"
],
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "cmake/llvm-toolchain.cmake"
}
},
{
"name": "appleclang-debug",
"displayName": "xcode Debug Build",
"displayName": "Appleclang Debug Build",
"inherits": [
"_root-config",
"_debug-base"
Expand All @@ -60,7 +82,7 @@
},
{
"name": "appleclang-release",
"displayName": "xcode Release Build",
"displayName": "Appleclang Release Build",
"inherits": [
"_root-config",
"_release-base"
Expand Down Expand Up @@ -101,6 +123,14 @@
"name": "gcc-release",
"configurePreset": "gcc-release"
},
{
"name": "llvm-debug",
"configurePreset": "llvm-debug"
},
{
"name": "llvm-release",
"configurePreset": "llvm-release"
},
{
"name": "appleclang-debug",
"configurePreset": "appleclang-debug"
Expand Down Expand Up @@ -140,6 +170,16 @@
"inherits": "_test_base",
"configurePreset": "gcc-release"
},
{
"name": "llvm-debug",
"inherits": "_test_base",
"configurePreset": "llvm-debug"
},
{
"name": "llvm-release",
"inherits": "_test_base",
"configurePreset": "llvm-release"
},
{
"name": "appleclang-debug",
"inherits": "_test_base",
Expand Down Expand Up @@ -196,6 +236,40 @@
}
]
},
{
"name": "llvm-debug",
"steps": [
{
"type": "configure",
"name": "llvm-debug"
},
{
"type": "build",
"name": "llvm-debug"
},
{
"type": "test",
"name": "llvm-debug"
}
]
},
{
"name": "llvm-release",
"steps": [
{
"type": "configure",
"name": "llvm-release"
},
{
"type": "build",
"name": "llvm-release"
},
{
"type": "test",
"name": "llvm-release"
}
]
},
{
"name": "appleclang-debug",
"steps": [
Expand Down
13 changes: 13 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Changelog

<!---
SPDX-License-Identifier: 2.0 license with LLVM exceptions
--->

## [Unreleased]

### Added

- [LIBRARY_STATUS]: Library status updated to [Under development and not yet ready for production use.](https://github.com/bemanproject/beman/blob/main/docs/BEMAN_LIBRARY_MATURITY_MODEL.md#under-development-and-not-yet-ready-for-production-use):
This library will always be under development and not yet ready for production use,
because it's just a template for creating new libraries.
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
# beman.exemplar: A Beman Library Exemplar

<!--
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->

# beman.exemplar: A Beman Library Exemplar

![Library Status](https://github.com/bemanproject/beman/blob/c6997986557ec6dda98acbdf502082cdf7335526/images/badges/beman_badge-beman_library_under_development.svg)
![Continuous Integration Tests](https://github.com/bemanproject/exemplar/actions/workflows/ci_tests.yml/badge.svg)
![Lint Check (pre-commit)](https://github.com/bemanproject/exemplar/actions/workflows/pre-commit.yml/badge.svg)
<!-- markdownlint-disable-next-line line-length -->
![Library Status](https://raw.githubusercontent.com/bemanproject/beman/refs/heads/main/images/badges/beman_badge-beman_library_under_development.svg) ![Continuous Integration Tests](https://github.com/bemanproject/exemplar/actions/workflows/ci_tests.yml/badge.svg) ![Lint Check (pre-commit)](https://github.com/bemanproject/exemplar/actions/workflows/pre-commit.yml/badge.svg)

`beman.exemplar` is a minimal C++ library conforming to [The Beman Standard](https://github.com/bemanproject/beman/blob/main/docs/BEMAN_STANDARD.md).
This can be used as a template for those intending to write Beman libraries.
Expand Down
7 changes: 7 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# A guide to contribute/ Develop for Beman Project

TODO: Currently only a skeleton.

## Infrastructure

### Lint
6 changes: 6 additions & 0 deletions docs/using_exemplar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Using Exemplar

This document provides a step-by-step guide to creating your own beman
library based on [beman.exemplar](https://github.com/bemanproject/exemplar/).

TODO: Currently a skeleton.
5 changes: 4 additions & 1 deletion examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,8 @@ message("Examples to be built: ${ALL_EXAMPLES}")
foreach(example ${ALL_EXAMPLES})
add_executable(beman.exemplar.examples.${example})
target_sources(beman.exemplar.examples.${example} PRIVATE ${example}.cpp)
target_link_libraries(beman.exemplar.examples.${example} beman::exemplar)
target_link_libraries(
beman.exemplar.examples.${example}
PRIVATE beman::exemplar
)
endforeach()

0 comments on commit 3606545

Please sign in to comment.