Skip to content

Commit

Permalink
Make btllib an external dependency (#464)
Browse files Browse the repository at this point in the history
* remove btllib header files

* RAlgorithmsShort.cpp: use ssytem btllib

* RResolver/Makefile.am: compiled with system btllib

* configure.ac: set up btllib compile

* azure: use conda to compile

* gtest-1.7.0/Makefile.am: disable specific warning

* azure: download and compile btllib on the fly

* azure: remove ninja

* azure: remove security

* azure: old install

* azure: use full btllib path

* azure: export dist check fig

* azure: compile btllib with specific version of gxx

* azure: set up env variable for btllib

* azure: export gxx variable

* azure: compile with non-deprecated gxx

* azure: macOS with default clang and gxx

* azure: update btllib path for macOS

* azure: install via brew

* azure: use container

* azure: remove pool for gcc-12

* azure: change job parameter

* azure: try unbuntu 22.04

* azure: install via apt

* azure: install ABySS with clang

* azure: add cmake to installation

* azure: export cmake flags

* azure: fix export syntax

* azure: correct export statement

* azure: install llvm

* azure: install libs

* azure: build libcxx

* azure: fix spacing

* azure: try clang on macOS

* azure: remove btllib from brew install

* Azure: remove clang suffix

* azure: try brew paths

* azure: use clang14

* azure: try calling clang with subversion

* azure: check install dir

* azure: use keg path

* azure: compile with different clang

* azure: try libc++ flag

* azure: test

* azure: dont use extra flags

* azure: test

* azure: test installation

* makefile.am: disable deprecated declaration

* Test updates

* Try installing btllib from source for clang12

* Bugfix

* azure: include all tests

* Change bionic to focal, VMs for mac

* Remove gcc-7 test

- As per documentation, the charcov header now in btllib is only supported by gcc-8+

* Troubleshooting

* Update flags, add clang-format, update path to llvm

* Add dependencies for compilers-12 and macos_default_clang

* Fix naming for compilers-12 and macos_default_clang dependencies

* compilers-12 - activate conda environment

* Add CXXFLAG for ubuntu-latest, print message for macos_default_clang

* Try btllib brew install for macos_default_clang, add libomp to macos_def_gcc

* tap brewsci/bio

* Organize and only retain needed/important tests

* For mac, move away from using brew for most tests

* Formatting fixes

* Move clang-format to gcc-10, add paths to mac_gcc install

* Troubleshooting mac gcc

* Fix for sparsehash

* See if btllib path is wrong

* Fix path to btllib install

* Add DISTCHECK flags

* Change VM image for mac

* Clean-up azure-pipelines.yml, remove circleCI tests, update README.md

---------

Co-authored-by: Johnathan Wong <jowong@jowong07.phage.bcgsc.ca>
Co-authored-by: Johnathan Wong <34543031+jowong4@users.noreply.github.com>
Co-authored-by: JW <34543031+jwcodee@users.noreply.github.com>
  • Loading branch information
4 people committed Apr 28, 2023
1 parent 30cdbc1 commit d8ff33f
Show file tree
Hide file tree
Showing 887 changed files with 216 additions and 288,312 deletions.
112 changes: 0 additions & 112 deletions .circleci/config.yml

This file was deleted.

4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,12 @@ The following libraries are required:
* [Boost](http://www.boost.org/)
* [Open MPI](http://www.open-mpi.org)
* [sparsehash](https://code.google.com/p/sparsehash/)
* [btllib](https://github.com/bcgsc/btllib)

Conda:

conda install -c conda-forge boost openmpi
conda install -c bioconda google-sparsehash
conda install -c bioconda google-sparsehash btllib

It is also helpful to install the compilers Conda package that automatically passes the correct compiler flags to use the available Conda packages:

Expand Down Expand Up @@ -152,6 +153,7 @@ You may also pass the following flags to `configure` script:
--with-mpi=PATH
--with-sqlite=PATH
--with-sparsehash=PATH
--with-btllib=PATH

Where PATH is the path to the directory containing the corresponding dependencies. This should only be necessary if `configure` doesn't find the dependencies by default. If you are using Conda, PATH would be the path to the Conda installation. SQLite and MPI are optional dependencies.

Expand Down
5 changes: 3 additions & 2 deletions RResolver/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
bin_PROGRAMS = abyss-rresolver-short
AM_CXXFLAGS += $(PTHREAD_CFLAGS) -Wno-deprecated-declarations

abyss_rresolver_short_CXXFLAGS = \
$(AM_CXXFLAGS) $(OPENMP_CXXFLAGS) \
Expand All @@ -13,7 +14,8 @@ LDFLAGS += -pthread
abyss_rresolver_short_LDADD = \
$(top_builddir)/DataLayer/libdatalayer.a \
$(top_builddir)/Common/libcommon.a \
libralgorithmsshort.a
libralgorithmsshort.a \
-lbtllib

noinst_LIBRARIES = libralgorithmsshort.a

Expand All @@ -32,4 +34,3 @@ libralgorithmsshort_a_LIBADD = \
$(top_builddir)/DataLayer/libdatalayer.a \
$(top_builddir)/Common/libcommon.a

EXTRA_DIST = btllib
2 changes: 1 addition & 1 deletion RResolver/RAlgorithmsShort.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "RUtils.h"
#include "SequenceTree.h"

#include "btllib/include/btllib/seq_reader.hpp"
#include <btllib/seq_reader.hpp>

#if _OPENMP
#include <omp.h>
Expand Down
Loading

0 comments on commit d8ff33f

Please sign in to comment.