Skip to content

Commit

Permalink
Merge branch 'master' into docs_stable
Browse files Browse the repository at this point in the history
  • Loading branch information
jkotan committed Nov 11, 2024
2 parents dd9656e + a8f5b6f commit b494fa8
Show file tree
Hide file tree
Showing 22 changed files with 282 additions and 112 deletions.
115 changes: 88 additions & 27 deletions .github/workflows/cmake-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,42 +22,32 @@ jobs:
# mpi,
serial
]
libcxx: [libstdc++11, libc++]
image: [
"conanio/gcc11-ubuntu16.04:2.0.2",
"conanio/clang13-ubuntu16.04:2.0.2"
profile: [
gcc11,
clang14-libc++,
clang14-libstdc++
]
exclude:
- image: conanio/gcc11-ubuntu16.04:2.0.2
libcxx: libc++
include:
- image: conanio/gcc11-ubuntu16.04:2.0.2
profile: gcc11
- image: conanio/clang13-ubuntu16.04:2.0.2
libcxx: libstdc++11
profile: clang13-libstdc++
- image: conanio/clang13-ubuntu16.04:2.0.2
libcxx: libc++
profile: clang13-libc++
runs-on: ubuntu-20.04
container:
image: ${{ matrix.image }}
options: '--user=root'
runs-on: ubuntu-22.04
# container:
# image: ${{ matrix.image }}
# options: '--user=root'
steps:
- uses: actions/checkout@v2
- name: Set environment variables
run: |
bash .github/workflows/set_env_vars.sh \
${{ matrix.shared }} \
${{ matrix.boost }} \
${{ matrix.mpi }}
${{ matrix.mpi }} \
${{ matrix.profile }}
- name: Install MPI prerequisites
if: ${{ matrix.mpi == 'mpi' }}
run: |
apt-get update
apt-get install -y --no-install-recommends ssh
- name: Install and configure conan
run: |
pip install --upgrade conan==2.0.2
CONAN_ARGS="--profile .github/workflows/conan/profiles/${{ matrix.profile }} \
-o with_boost=${H5CPP_WITH_BOOST} \
-o with_mpi=${H5CPP_WITH_MPI} \
Expand All @@ -70,7 +60,7 @@ jobs:
- name: cache conan dependencies
uses: actions/cache@v2
with:
path: /home/conan/.conan/data
path: ~/.conan/data
key: conan-${{ matrix.profile }}-${{ hashfiles('base.lock') }}-${{ hashFiles('conan.lock') }}
restore-keys: |
conan-${{ matrix.profile }}-${{ hashfiles('base.lock') }}
Expand Down Expand Up @@ -102,7 +92,78 @@ jobs:
run: |
cd build
ctest --extra-verbose --no-tests=error
windows-2019:
strategy:
matrix:
shared: [
"shared",
"static"
]
boost: [
"boost",
"stdfs"
]
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Add MSVC to PATH
uses: ilammy/msvc-dev-cmd@v1
- name: Set environment variables
run: |
bash .github/workflows/set_env_vars.sh \
${{ matrix.shared }} \
${{ matrix.boost }}
- name: Install and configure conan
run: |
python -m pip install --upgrade pip
pip install --upgrade conan==2.0.2
CONAN_ARGS="--profile .github/workflows/conan/profiles/vs2019 \
-o with_boost=${H5CPP_WITH_BOOST} \
-o shared=${H5CPP_SHARED} \
-o *:shared=${H5CPP_SHARED}"
conan profile detect
conan remove -c zlib/*
conan lock create conanfile.py ${CONAN_ARGS} --lockfile-packages --lockfile-out base.lock
conan lock create conanfile.py ${CONAN_ARGS} --build missing
- name: cache conan dependencies
uses: actions/cache@v2
with:
path: ~/.conan/data
key: conan-vs2019-${{ hashfiles('base.lock') }}-${{ hashFiles('conan.lock') }}
restore-keys: |
conan-vs-2019-${{ hashfiles('base.lock') }}
conan-vs-2019
- name: install conan dependencies
run: |
CONAN_ARGS="--profile .github/workflows/conan/profiles/vs2019 \
-o with_boost=${H5CPP_WITH_BOOST} \
-o shared=${H5CPP_SHARED} \
-o *:shared=${H5CPP_SHARED}"
conan remove -c zlib/*
conan install . ${CONAN_ARGS} \
--output-folder build \
--lockfile conan.lock \
--build missing \
--update \
--generator VirtualRunEnv
- name: build with cmake
run: |
CONAN_ARGS="--profile .github/workflows/conan/profiles/vs2019 \
-o with_boost=${H5CPP_WITH_BOOST} \
-o shared=${H5CPP_SHARED} \
-o *:shared=${H5CPP_SHARED}"
conan build . ${CONAN_ARGS} \
--lockfile conan.lock \
--output-folder build
- name: run tests
run: |
cd build
.\conanbuildenv-release-x86_64.ps1
.\conanrunenv-release-x86_64.ps1
ctest --extra-verbose --no-tests=error --output-on-failure
shell: pwsh
windows-2022:
if: false
strategy:
matrix:
shared: [
Expand Down Expand Up @@ -172,7 +233,7 @@ jobs:
.\conanrunenv-release-x86_64.ps1
ctest --extra-verbose --no-tests=error --output-on-failure
shell: pwsh
macos-10:
macos-13:
strategy:
matrix:
shared: ["shared", "static"]
Expand All @@ -181,7 +242,7 @@ jobs:
# "mpi",
"serial"
]
runs-on: macos-10.15
runs-on: macos-13
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
Expand All @@ -199,7 +260,7 @@ jobs:
- name: Install and configure conan
run: |
python -m pip install --upgrade pip
pip install --upgrade conan==2.0.2
pip install --upgrade conan
# there's currently an issue running the MPI tests on OSX with HDF5 compiled
# as a dynamic library. Use static HDF5 for now
HDF5_SHARED=${H5CPP_SHARED}
Expand Down Expand Up @@ -259,7 +320,7 @@ jobs:
run: |
cd build
ctest --extra-verbose --no-tests=error
debian-11:
debian-12:
strategy:
matrix:
shared: [shared, static]
Expand All @@ -270,7 +331,7 @@ jobs:
]
runs-on: ubuntu-20.04
container:
image: debian:bullseye
image: debian:bookworm
steps:
- uses: actions/checkout@v2
- name: Set environment variables
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ arch=x86_64
build_type=Release
compiler=clang
compiler.libcxx=libc++
compiler.version=13
compiler.version=14
os=Linux
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ arch=x86_64
build_type=Release
compiler=clang
compiler.libcxx=libstdc++11
compiler.version=13
compiler.version=14
os=Linux
10 changes: 10 additions & 0 deletions .github/workflows/conan/profiles/vs2019
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.version=192
compiler.runtime=dynamic
os=Windows

[conf]
tools.env.virtualenv:powershell=True
4 changes: 4 additions & 0 deletions .github/workflows/set_env_vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,7 @@ if [ "$3" = "mpi" ]; then
else
echo "H5CPP_WITH_MPI=False" >> $GITHUB_ENV
fi
if [ "$4" = "clang14-libc++" ] || [ "$4" = "clang14-libstdc++" ] ; then
echo "CC=clang" >> $GITHUB_ENV
echo "CXX=clang++" >> $GITHUB_ENV
fi
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
cmake_minimum_required(VERSION 3.10)
project(h5cpp
LANGUAGES CXX C
VERSION 0.6.0
# VERSION 0.6.1
# documentation for VERSION with one '.' is stored as v:latest (see doc/conf.py.in)
# VERSION 0.6
VERSION 0.6.1
)


Expand Down
2 changes: 2 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ builders = pipeline_builder.createBuilders { container ->
container.sh """
mkdir build
cd build
# Force build b2 locally due to glibc compatibility issue
conan install --build b2 b2/4.9.6@
cmake --version
cmake ${cmake_options} ../${pipeline_builder.project}
"""
Expand Down
6 changes: 1 addition & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,6 @@ The external library dependencies can be acquired and built using [Conan](https:
```
pip install conan
```
Then run the following to configure required Conan repositories:
```
conan remote add bincrafters https://bincrafters.jfrog.io/artifactory/api/conan/public-conan
```
and that's it, CMake will handle the rest!
Alternatively you can manually install the dependencies to typical system locations. In this case please disable Conan by using the `-DH5CPP_CONAN=DISABLE` option when you run CMake.
Expand Down Expand Up @@ -124,7 +120,7 @@ cmake -DCMAKE_INSTALL_PREFIX=/home/user1/some/path ..
```
and accordingly, when building the client program:
```bash
cmake -Dh5cpp_DIR=/home/user1/some/path/lib/cmake/h5cpp-0.6.0 path/to/your/source
cmake -Dh5cpp_DIR=/home/user1/some/path/lib/cmake/h5cpp-0.6.1 path/to/your/source
```
where version number may vary.

Expand Down
8 changes: 3 additions & 5 deletions conanfile_ess.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[requires]
boost/1.69.0
hdf5/1.12.2
zlib/1.2.11
boost/1.81.0
hdf5/1.14.1
zlib/1.2.13
bzip2/1.0.8
catch2/3.3.2

Expand All @@ -13,9 +13,7 @@ virtualrunenv

[options]
boost:shared=True
boost:without_atomic=True
boost:without_chrono=True
boost:without_container=True
boost:without_context=True
boost:without_contract=True
boost:without_coroutine=True
Expand Down
4 changes: 2 additions & 2 deletions doc/design/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@
# built documents.
#
# The short X.Y version.
version = u'0.6.0'
version = u'0.6.1'
# The full version, including alpha/beta/rc tags.
release = u'0.6.0'
release = u'0.6.1'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion doc/source/conf.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ html_sidebars = {

html_context = {
"docs_versions" : [
"v0.6.0", "v0.5.2", "v0.5.1", "v0.5.0", "v0.4.1", "v0.3.3"]
"v0.6.1", "v0.6.0", "v0.5.2", "v0.5.1", "v0.5.0", "v0.4.1", "v0.3.3"]
}

# Additional templates that should be rendered to pages, maps page names to
Expand Down
14 changes: 7 additions & 7 deletions doc/source/users_guide/installing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -122,19 +122,19 @@ keyring
The return value of this command line should be `OK`.
In a next step you have to add new package sources to your system. For this
purpose go to :file:`/etc/apt/sources.list.d` and download the sources file.
For Debian (Buster) use
For Debian (Bookworm) use

.. code-block:: bash
$ wget http://repos.pni-hdri.de/buster-pni-hdri.list
$ wget http://repos.pni-hdri.de/bookworm-pni-hdri.list
and for Ubuntu (Focal)
and for Ubuntu (Noble)

.. code-block:: bash
$ wget http://repos.pni-hdri.de/focal-pni-hdri.list
$ wget http://repos.pni-hdri.de/noble-pni-hdri.list
Similarly, proceed for Bullseye, Buster, Lunar, Jammy, Focal.
Similarly, proceed for Bullseye, Buster, Oracular, Jammy.
Once you have downloaded the file use

.. code-block:: bash
Expand All @@ -146,7 +146,7 @@ to update your package list and

.. code-block:: bash
$ apt-get install libh5cpp0.6.0 libh5cpp0.6.0-dbg libh5cpp0.6.0-doc libh5cpp0.6.0-dev
$ apt-get install libh5cpp0.6.1 libh5cpp0.6.1-dbg libh5cpp0.6.1-doc libh5cpp0.6.1-dev
to install the library of v0.6.0. Dependencies will be resolved automatically so you can
to install the library of v0.6.1. Dependencies will be resolved automatically so you can
start with working right after the installation has finished.
Loading

0 comments on commit b494fa8

Please sign in to comment.