[med-svn] [Git][med-team/libbiosoup-dev][upstream] New upstream version 0.11.0
Michael R. Crusoe (@crusoe)
gitlab at salsa.debian.org
Thu Mar 21 13:27:15 GMT 2024
Michael R. Crusoe pushed to branch upstream at Debian Med / libbiosoup-dev
Commits:
edb0f264 by Michael R. Crusoe at 2024-03-21T14:22:14+01:00
New upstream version 0.11.0
- - - - -
10 changed files:
- + .github/workflows/biosoup.yml
- .gitignore
- − .travis.yml
- CMakeLists.txt
- README.md
- + include/meson.build
- + meson.build
- + meson_options.txt
- + subprojects/gtest.wrap
- + test/meson.build
Changes:
=====================================
.github/workflows/biosoup.yml
=====================================
@@ -0,0 +1,66 @@
+name: biosoup CI
+
+on:
+ push:
+ pull_request:
+ branches:
+ - master
+
+env:
+ BUILD_TYPE: Release
+
+jobs:
+ test:
+ strategy:
+ matrix:
+ compiler:
+ - g++-7
+ - g++
+ - clang++-6.0
+ - clang++
+
+ runs-on: ubuntu-20.04
+
+ steps:
+ - uses: actions/checkout at v3
+
+ - if: ${{ contains(matrix.compiler, '-') }}
+ name: Get compiler version
+ id: get-compiler-version
+ run: |
+ version=$(echo ${{ matrix.compiler }} | cut -d- -f2)
+ echo "version=$version" >> $GITHUB_OUTPUT
+
+ - if: ${{ startsWith(matrix.compiler, 'g++-') }}
+ name: Setup GCC
+ uses: egor-tensin/setup-gcc at v1
+ with:
+ version: "${{ steps.get-compiler-version.outputs.version }}"
+ platform: x64
+
+ - if: ${{ startsWith(matrix.compiler, 'clang++-') }}
+ name: Setup Clang
+ uses: egor-tensin/setup-clang at v1
+ with:
+ version: "${{ steps.get-compiler-version.outputs.version }}"
+ platform: x64
+
+ - name: Configure CMake
+ run: |
+ cmake -B ${{ github.workspace }}/build_cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
+ cmake --build ${{ github.workspace }}/build_cmake
+ env:
+ CXX: ${{ matrix.compiler }}
+
+ - name: Configure Meson
+ uses: BSFishy/meson-build at v1.0.3
+ with:
+ action: build
+ directory: build_meson
+ meson-version: 0.60.0
+
+ - name: Test
+ working-directory: ${{ github.workspace }}
+ run: |
+ build_cmake/bin/biosoup_test
+ build_meson/test/biosoup_test
=====================================
.gitignore
=====================================
@@ -1,2 +1,5 @@
# Compiled Object files
build
+
+/subprojects/*
+!/subprojects/*.wrap
=====================================
.travis.yml deleted
=====================================
@@ -1,43 +0,0 @@
-language: cpp
-
-matrix:
- include:
- - name: "GCC 4.8 (Linux)" # GCC 4.8.5 & CMake 3.12.4
- os: linux
- dist: xenial
- addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - g++-4.8
- env:
- - SET_COMPILER="export CC=gcc-4.8 && export CXX=g++-4.8"
-
- - name: "Clang 3.5 (Linux)" # Clang 3.5.2 & CMake 3.12.4
- os: linux
- dist: xenial
- addons:
- apt:
- packages:
- - clang-3.5
- env:
- - SET_COMPILER="export CC=clang-3.5 && export CXX=clang++-3.5"
-
- - name: "Clang Xcode 9.4 (OSX)" # Clang 9.4.1 & CMake 3.15.5
- os: osx
- osx_image: xcode9.4
-
-before_install:
- - eval "${SET_COMPILER}"
-
-install:
- - mkdir build && cd build
- - cmake -DCMAKE_BUILD_TYPE=Release .. && make
-
-script:
- - ./bin/biosoup_test
-
-notifications:
- email:
- on_failure: always
=====================================
CMakeLists.txt
=====================================
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.11)
-project(biosoup VERSION 0.10.0
+project(biosoup VERSION 0.11.0
LANGUAGES CXX
DESCRIPTION "Biosoup is a c++ collection of header only data structures used for storage and logging in bioinformatics tools.")
=====================================
README.md
=====================================
@@ -1,43 +1,42 @@
# Biosoup
-[![Build status for gcc/clang](https://travis-ci.com/rvaser/biosoup.svg?branch=master)](https://travis-ci.com/rvaser/biosoup)
+![Build status for gcc/clang](https://github.com/rvaser/biosoup/actions/workflows/biosoup.yml/badge.svg)
Biosoup is a c++ collection of header only data structures used for storage and logging in bioinformatics tools.
-## Usage
+## Build
+
+### Dependencies
+
+- gcc 4.8+ | clang 3.5+
+
+#### Hidden
+- (biosoup_test) google/googletest 1.10.0
+
+### CMake (3.11+)
-To build biosoup run the following commands:
```bash
-git clone https://github.com/rvaser/biosoup && cd biosoup && mkdir build && cd build
-cmake -DCMAKE_BUILD_TYPE=Release .. && make
-```
-which will create install targets and unit tests. Running `make install` will create a package on your system that can be searched and linked with:
-```cmake
-find_package(biosoup)
-target_link_libraries(<target> biosoup::biosoup)
+git clone https://github.com/rvaser/biosoup && cd biosoup
+cmake -B build -DCMAKE_BUILD_TYPE=Release
+make -C build
```
-On the other hand, you can include biosoup as a submodule and add it to your project with the following:
-```cmake
-if (NOT TARGET biosoup)
- add_subdirectory(<path_to_submodules>/biosoup EXCLUDE_FROM_ALL)
-endif ()
-target_link_libraries(<target> biosoup::biosoup)
-```
-
-If you are not using CMake, include the appropriate header file directly to your project.
-#### Build options
+#### Options
- `biosoup_install`: generate install target
- `biosoup_build_tests`: build unit tests
-#### Dependencies
+### Meson (0.60.0+)
-- gcc 4.8+ | clang 3.5+
-- (optional) cmake 3.11+
+```bash
+git clone https://github.com/rvaser/biosoup && cd biosoup
+meson setup build
+ninja -C build
+```
+
+#### Options
-###### Hidden
-- (biosoup_test) googletest 1.10.0
+- `tests`: build unit tests
## Acknowledgement
=====================================
include/meson.build
=====================================
@@ -0,0 +1,19 @@
+###########
+# Headers #
+###########
+
+biosoup_include_directories = include_directories(['.'])
+
+if meson.is_subproject()
+ subdir_done()
+endif
+
+install_headers(
+ files([
+ 'biosoup/nucleic_acid.hpp',
+ 'biosoup/overlap.hpp',
+ 'biosoup/progress_bar.hpp',
+ 'biosoup/sequence.hpp',
+ 'biosoup/timer.hpp',
+ ]),
+ subdir : 'biosoup')
=====================================
meson.build
=====================================
@@ -0,0 +1,45 @@
+project(
+ 'biosoup',
+ ['cpp'],
+ version : '0.11.0',
+ default_options : [
+ 'buildtype=release',
+ 'warning_level=3',
+ 'cpp_std=c++11',
+ 'b_ndebug=if-release'],
+ license : 'MIT',
+ meson_version : '>=0.60.0'
+)
+
+###########
+# Headers #
+###########
+
+subdir('include')
+
+#########
+# Tests #
+#########
+
+if (not meson.is_subproject()) and get_option('tests')
+ biosoup_gtest_dep = dependency('gtest', version : '>= 1.10.0', main : true, fallback : ['gtest', 'gtest_main_dep'])
+
+ subdir('test')
+endif
+
+###################
+# Dependency info #
+###################
+
+if (not meson.is_subproject())
+ import('pkgconfig').generate(
+ name : 'biosoup',
+ version : meson.project_version(),
+ filebase : 'biosoup',
+ description : 'C++ collection of header only bioinformatics data structures used for storage and logging.')
+endif
+
+biosoup_dep = declare_dependency(
+ include_directories : biosoup_include_directories,
+ version : meson.project_version()
+)
=====================================
meson_options.txt
=====================================
@@ -0,0 +1,8 @@
+#########
+# Tests #
+#########
+
+option('tests',
+ type : 'boolean',
+ value : true,
+ description : 'Enable dependencies required for testing')
=====================================
subprojects/gtest.wrap
=====================================
@@ -0,0 +1,16 @@
+[wrap-file]
+directory = googletest-release-1.10.0
+
+source_url = https://github.com/google/googletest/archive/release-1.10.0.zip
+source_filename = gtest-1.10.0.zip
+source_hash = 94c634d499558a76fa649edb13721dce6e98fb1e7018dfaeba3cd7a083945e91
+
+patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.10.0-1/get_patch
+patch_filename = gtest-1.10.0-1-wrap.zip
+patch_hash = 04ff14e8880e4e465f6260221e9dfd56fea6bc7cce4c4aff0dc528e4a2c8f514
+
+wrapdb_version = 1.10.0-1
+
+[provide]
+gtest = gtest_dep
+gtest_main = gtest_main_dep
=====================================
test/meson.build
=====================================
@@ -0,0 +1,24 @@
+###########
+# Sources #
+###########
+
+biosoup_test_sources = files([
+ 'nucleic_acid_test.cpp',
+ 'overlap_test.cpp',
+ 'progress_bar_test.cpp',
+ 'sequence_test.cpp',
+ 'timer_test.cpp',
+])
+
+biosoup_test = executable(
+ 'biosoup_test',
+ biosoup_test_sources,
+ dependencies : biosoup_gtest_dep,
+ include_directories : biosoup_include_directories,
+ install : false)
+
+#########
+# Tests #
+#########
+
+test('biosoup gtest unit tests', biosoup_test)
View it on GitLab: https://salsa.debian.org/med-team/libbiosoup-dev/-/commit/edb0f2649eb5ca77c6cd783a7932d6498815c968
--
View it on GitLab: https://salsa.debian.org/med-team/libbiosoup-dev/-/commit/edb0f2649eb5ca77c6cd783a7932d6498815c968
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20240321/05df5a40/attachment-0001.htm>
More information about the debian-med-commit
mailing list