Skip to content
Commits on Source (15)
BasedOnStyle: Google
BreakBeforeBraces: Mozilla
AllowShortLoopsOnASingleLine: false
AccessModifierOffset: -4
BreakConstructorInitializersBeforeComma: true
ColumnLimit: 100
IndentWidth: 4
PointerAlignment: Left
TabWidth: 4
ReflowComments: false # protect ASCII art in comments
KeepEmptyLinesAtTheStartOfBlocks: true
......@@ -76,3 +76,7 @@ CMakeLists.txt.user
bin
build
lib
# Meson WrapDB stuff
subprojects/packagecache/
subprojects/googletest*
......@@ -3,9 +3,25 @@
## Active
### TODO
- Interface groups
- Initial sequence-related data structures
## [0.3.0] - 2018-04-30
### Changed
- Minor ToolContract::Config API change.
## [0.2.0] - 2017-12-03
### Added
- WorkQueue for parallel execution
## [0.1.1] - 2017-09-26
### Changed
- UNUSED macro to no-op method
## [0.1.0] - 2017-01-13
### Added
- Encapsulate project version and git sha1
- RSMovieName & RSReadName: Sequel and RSII movie names are composed of
......@@ -13,6 +29,10 @@ different data, and thus need to be handled separately. MovieName & ReadName
handle Sequel-style data as the default.
- GoogleTest/GoogleMock in third-party/googletest
- Access to input command line from PacBio::CLI::Results
- QGramIndex & seed results
- Added support for new tool contract data model: option choices & modified JSON
format.
- Added basic option groups to CLI::Interface.
## [0.0.1] - 2016-06-22
......
......@@ -2,9 +2,9 @@
# CMake build script for PacBio pbcopper library.
########################################################################
cmake_policy(SET CMP0048 NEW) # lets us set version in project()
cmake_minimum_required(VERSION 3.0)
cmake_minimum_required(VERSION 3.2)
project(pbcopper VERSION 0.0.1 LANGUAGES CXX C)
project(pbcopper VERSION 0.4.0 LANGUAGES CXX C)
enable_testing()
# project options
......@@ -40,8 +40,12 @@ include(pbcopper-libtype)
include(pbcopper-gitsha1)
find_git_sha1(COPPER_GIT_SHA1)
configure_file(
${pbcopper_IncludeDir}/pbcopper/utility/Version.h.in
${CMAKE_BINARY_DIR}/generated/pbcopper/utility/Version.h
${pbcopper_SourceDir}/utility/PbcopperGitHash.cpp.in
${CMAKE_BINARY_DIR}/generated/utility/PbcopperGitHash.cpp
)
configure_file(
${pbcopper_SourceDir}/utility/PbcopperVersion.cpp.in
${CMAKE_BINARY_DIR}/generated/utility/PbcopperVersion.cpp
)
# main library
......
Copyright (c) 2016, Pacific Biosciences of California, Inc.
Copyright (c) 2016-2018, Pacific Biosciences of California, Inc.
All rights reserved.
......
......@@ -66,3 +66,7 @@ make docs
## License
- [PacBio open source license](https://github.com/PacificBiosciences/pbcopper/blob/master/LICENSE.txt)
DISCLAIMER
----------
THIS WEBSITE AND CONTENT AND ALL SITE-RELATED SERVICES, INCLUDING ANY DATA, ARE PROVIDED "AS IS," WITH ALL FAULTS, WITH NO REPRESENTATIONS OR WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE. YOU ASSUME TOTAL RESPONSIBILITY AND RISK FOR YOUR USE OF THIS SITE, ALL SITE-RELATED SERVICES, AND ANY THIRD PARTY WEBSITES OR APPLICATIONS. NO ORAL OR WRITTEN INFORMATION OR ADVICE SHALL CREATE A WARRANTY OF ANY KIND. ANY REFERENCES TO SPECIFIC PRODUCTS OR SERVICES ON THE WEBSITES DO NOT CONSTITUTE OR IMPLY A RECOMMENDATION OR ENDORSEMENT BY PACIFIC BIOSCIENCES.
#!/usr/bin/env bash
set -vex
################
# DEPENDENCIES #
################
## Load modules
type module >& /dev/null || . /mnt/software/Modules/current/init/bash
module purge
module load meson
module load ninja
module load boost
module load doxygen
BOOST_ROOT="${BOOST_ROOT%/include}"
# unset these variables to have meson discover all
# boost-dependent variables from BOOST_ROOT alone
unset BOOST_INCLUDEDIR
unset BOOST_LIBRARYDIR
export CC="ccache gcc"
export CXX="ccache g++"
export CCACHE_BASEDIR="${PWD}"
if [[ $USER == bamboo ]]; then
export CCACHE_DIR=/mnt/secondary/Share/tmp/bamboo.${bamboo_shortPlanKey}.ccachedir
export CCACHE_TEMPDIR=/scratch/bamboo.ccache_tempdir
fi
case "${bamboo_planRepository_branchName}" in
develop|master)
export PREFIX_ARG="/mnt/software/p/pbcopper/${bamboo_planRepository_branchName}"
export BUILD_NUMBER="${bamboo_globalBuildNumber:-0}"
;;
*)
export BUILD_NUMBER="0"
;;
esac
# in order to make shared libraries consumable
# by conda and other package managers
export LDFLAGS="-static-libstdc++ -static-libgcc"
for i in "system-gcc" "gcc/8.1.0" "gcc"; do
# 1. load either current MOBS GCC or RHEL-default GCC
if [[ ${i} == system-gcc ]]; then
module load gtest/gcc48
else
module load ${i} gtest
fi
module load ccache
export CURRENT_BUILD_DIR="build_gcc=${i/\//_}"
export ENABLED_TESTS="true"
bash scripts/ci/build.sh
bash scripts/ci/test.sh
module unload ccache gtest
[[ ${i} != system-gcc ]] && module unload gcc
done
# create symlink so Bamboo can find the xunit output
ln -s "${CURRENT_BUILD_DIR}" build
if [[ -z ${PREFIX_ARG+x} ]]; then
echo "Not installing anything (branch: ${bamboo_planRepository_branchName}), exiting."
exit 0
fi
# reload GCC to prevent default `g++` from mis-linking
module load gcc
bash scripts/ci/install.sh
if [[ ${BUILD_NUMBER} == 0 ]]; then
echo "Build number is 0, hence not creating artifact"
exit 0
fi
## Creating artifact
# install into staging dir with --prefix /usr/local
# in order to sidestep all the artifact policy
rm -rf staging
meson configure -Dprefix=/usr/local -Dtests=false "${CURRENT_BUILD_DIR}"
DESTDIR="${PWD}/staging" ninja -C "${CURRENT_BUILD_DIR}" -v install
( cd staging && tar zcf ../pbcopper-SNAPSHOT.tgz . )
md5sum pbcopper-SNAPSHOT.tgz | awk -e '{print $1}' >| pbcopper-SNAPSHOT.tgz.md5
sha1sum pbcopper-SNAPSHOT.tgz | awk -e '{print $1}' >| pbcopper-SNAPSHOT.tgz.sha1
UNSUPPORTED_URL=http://ossnexus.pacificbiosciences.com/repository/unsupported
curl -vn --upload-file pbcopper-SNAPSHOT.tgz $UNSUPPORTED_URL/gcc-6.4.0/pbcopper-SNAPSHOT.tgz
curl -vn --upload-file pbcopper-SNAPSHOT.tgz.md5 $UNSUPPORTED_URL/gcc-6.4.0/pbcopper-SNAPSHOT.tgz.md5
curl -vn --upload-file pbcopper-SNAPSHOT.tgz.sha1 $UNSUPPORTED_URL/gcc-6.4.0/pbcopper-SNAPSHOT.tgz.sha1
#!/usr/bin/env bash
set -vex
## Load modules
type module >& /dev/null || . /mnt/software/Modules/current/init/bash
module purge
module load gcc
module load ccache
module load meson
module load ninja
module load boost
module load doxygen
module load gcov
module load gtest
#####################
# BUILD & RUN TESTS #
#####################
rm -rf build
mkdir build
cd build
meson \
--werror \
--backend ninja \
--buildtype debug \
--default-library shared \
--libdir lib \
--wrap-mode nofallback \
--prefix "${PREFIX_ARG:-/usr/local}" \
-Db_coverage=true \
..
ninja test
############
# COVERAGE #
############
find . -type f -iname '*.o' | xargs gcov -acbrfu {} \; >/dev/null && \
mkdir coverage && pushd coverage && mv ../*.gcov . && \
sed -i -e 's@Source:@Source:../@' *.gcov && \
sed -i -e 's@Graph:@Graph:../@' *.gcov && \
sed -i -e 's@Data:@Data:../@' *.gcov
#!/usr/bin/env bash
echo "################"
echo "# DEPENDENCIES #"
echo "################"
echo "## Load modules"
source /mnt/software/Modules/current/init/bash
module load gcc meson ccache ninja gtest
if [[ $USER == "bamboo" ]]; then
export CCACHE_DIR=/mnt/secondary/Share/tmp/bamboo.mobs.ccachedir
export CCACHE_TEMPDIR=/scratch/bamboo.ccache_tempdir
fi
export CCACHE_COMPILERCHECK='%compiler% -dumpversion'
export CCACHE_BASEDIR=$PWD
echo "#########"
echo "# TESTS #"
echo "#########"
echo "## Unit tests"
ninja -C build test
......@@ -3,7 +3,8 @@
echo "# DEPENDENCIES"
echo "## Load modules"
source /mnt/software/Modules/current/init/bash
module load gcc/5.3.0 cmake ccache ninja boost doxygen
module load gcc cmake ccache ninja boost doxygen
export CC=gcc CXX=g++
echo "# BUILD"
echo "## Create build directory "
......
include(CheckCXXCompilerFlag)
# shared CXX flags for all source code & tests
if (MSVC)
set(pbcopper_CXX_FLAGS "/Wall")
else()
set(pbcopper_CXX_FLAGS "-std=c++11 -Wall")
endif()
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# NOTE: quash clang warnings w/ Boost
check_cxx_compiler_flag("-Wno-unused-local-typedefs" HAS_NO_UNUSED_LOCAL_TYPEDEFS)
......
pbcopper (0.4.1+dfsg-1) unstable; urgency=medium
* Team upload.
* New upstream version
* d/watch: Upstream is now using release tags
* debhelper 11
* Point Vcs fields to salsa.debian.org
* Standards-Version: 4.2.0
* Respect DEB_BUILD_OPTIONS in dh_auto_test
-- Andreas Tille <tille@debian.org> Fri, 17 Aug 2018 15:22:14 +0200
pbcopper (0.0.1+20161202-2) unstable; urgency=medium
* build with -fPIC
......
Source: pbcopper
Priority: optional
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Uploaders: Afif Elghraoui <afif@debian.org>
Build-Depends:
debhelper (>=10),
Section: libs
Priority: optional
Build-Depends: debhelper (>= 11~),
dh-exec,
cmake,
libboost-dev,
Standards-Version: 3.9.8
Section: libs
libboost-dev
Standards-Version: 4.2.0
Vcs-Browser: https://salsa.debian.org/med-team/pbcopper
Vcs-Git: https://salsa.debian.org/med-team/pbcopper.git
Homepage: https://github.com/PacificBiosciences/pbcopper
Vcs-Git: https://anonscm.debian.org/git/debian-med/pbcopper.git
Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/pbcopper.git
Package: libpbcopper-dev
Section: libdevel
Architecture: any
Depends:
${misc:Depends},
${shlibs:Depends},
Section: libdevel
Depends: ${misc:Depends},
${shlibs:Depends}
Description: data structures, algorithms, and utilities for C++ applications -- header files
pbcopper provides general tools for C++ applications. It is developed
for use by applications of the Pacific Biosciences SMRT Analysis
......
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: pbcopper
Source: https://github.com/PacificBiosciences/pbcopper
Files-Excluded: tools/Darwin
tools/Linux
tools/win32
Files: *
Copyright: 2016, Pacific Biosciences of California, Inc.
......
......@@ -2,7 +2,7 @@ Description: Don't add git SHA hash to version
We don't have the upstream git history for this to work.
If we really want to be able to add it here, we should allow
taking an environment variable as input. We can then get the git SHA
from the version in debian/changelog and and pass it via debian/rules.
from the version in debian/changelog and pass it via debian/rules.
Author: Afif Elghraoui <afif@debian.org>
Forwarded: not-needed
Last-Update: 2016-12-14
......
......@@ -11,4 +11,6 @@ export DEB_CXXFLAGS_MAINT_APPEND=-fPIC
# debhelper's cmake action is to run `make test`, which won't work
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
cd build && $(MAKE) check
endif
version=4
# Upsteam does not tag releases.
# Check the git annotations for the upstream changelog file to find the snapshot corresponding to a version number.
opts="repacksuffix=+dfsg,dversionmangle=s/\+dfsg//g,repack,compression=xz" \
https://github.com/PacificBiosciences/pbcopper/releases .*/archive/@ANY_VERSION@@ARCHIVE_EXT@
error('pbcopper doesn\'t support Doxygen yet')