From e5ab828ea99c5ca9d85937ad0ae931a0b1892b99 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 12:34:16 -0700 Subject: [PATCH 01/19] Add DOI badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6c73bc5f..d30f81ef 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ [![Build Status](https://github.com/salilab/rmf/workflows/build/badge.svg?branch=develop)](https://github.com/salilab/rmf/actions?query=workflow%3Abuild) [![codecov](https://codecov.io/gh/salilab/rmf/branch/develop/graph/badge.svg)](https://codecov.io/gh/salilab/rmf) [![Code Climate](https://codeclimate.com/github/salilab/rmf/badges/gpa.svg)](https://codeclimate.com/github/salilab/rmf) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4701672.svg)](https://doi.org/10.5281/zenodo.4701672) The library provides support for the RMF file format for storing hierarchical molecular data (such as atomic or coarse grained From d7da876f8024bda982d8cab6f28c4e8477bf5528 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 14:56:05 -0700 Subject: [PATCH 02/19] Test builds on Mac --- .github/workflows/build.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 62986bc7..afc9d992 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,6 +33,12 @@ jobs: flags: '--coverage' tests: RMF build: Debug + - os: macos-latest + python-version: 3.9 + install: '' + flags: '--coverage' + tests: RMF + build: Release runs-on: ${{ matrix.os }} steps: @@ -41,11 +47,17 @@ jobs: uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies + - name: Install dependencies (Linux) + if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update -qq sudo apt-get install -qq libboost-all-dev swig libc-dbg ${{ matrix.install }} pip install coverage + - name: Install dependencies (Mac) + if: matrix.os == 'macos-latest' + run: | + brew install swig boost ${{ matrix.install }} + pip install coverage - name: Build and test run: | mkdir build From 934838d3a2a9a97fa0c1228d6b66f7edaa1ef9df Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 15:07:18 -0700 Subject: [PATCH 03/19] Better document version number in header file --- CMakeLists.txt | 3 ++- config.h.in | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a5e811f7..b1d938fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,8 +132,9 @@ link_directories(${Boost_LIBRARY_DIRS}) set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) +# Version information set (RMF_VERSION_MAJOR 1) -set (RMF_VERSION_MINOR 1) +set (RMF_VERSION_MINOR 2) set(RMF_HAS_DEBUG_VECTOR 0 CACHE BOOL "Whether to use a bounds checked vector") diff --git a/config.h.in b/config.h.in index ff353e8f..8f2f12a7 100644 --- a/config.h.in +++ b/config.h.in @@ -1,7 +1,8 @@ /* * \file RMF/RMF_config.h - * \brief Provide macros to mark functions and classes as exported - * from a DLL/.so, and to set up namespaces + * \brief Configuration and utility macros + * Provide version information, plus macros to mark functions and + * classes as exported from a DLL/.so and to set up namespaces. * * Copyright 2007-2021 IMP Inventors. All rights reserved. * @@ -24,7 +25,7 @@ #endif // _MSC_VER - +// Version number #define RMF_VERSION_MAJOR @RMF_VERSION_MAJOR@ #define RMF_VERSION_MINOR @RMF_VERSION_MINOR@ From 2beddad6d35eadf99d545cc48b843e87b7ec5a79 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 15:23:20 -0700 Subject: [PATCH 04/19] Drop unused files --- test/CppTests.cmake | 6 ------ test/PyTests.cmake | 22 ---------------------- 2 files changed, 28 deletions(-) delete mode 100644 test/CppTests.cmake delete mode 100644 test/PyTests.cmake diff --git a/test/CppTests.cmake b/test/CppTests.cmake deleted file mode 100644 index 9e3ff931..00000000 --- a/test/CppTests.cmake +++ /dev/null @@ -1,6 +0,0 @@ -set(cpp_tests -${PROJECT_SOURCE_DIR}/test/test_associations.cpp -${PROJECT_SOURCE_DIR}/test/test_buffer.cpp -${PROJECT_SOURCE_DIR}/test/test_fill.cpp -${PROJECT_SOURCE_DIR}/test/test_json_encode_decode.cpp -) diff --git a/test/PyTests.cmake b/test/PyTests.cmake deleted file mode 100644 index ce451068..00000000 --- a/test/PyTests.cmake +++ /dev/null @@ -1,22 +0,0 @@ -set(python_tests -${PROJECT_SOURCE_DIR}/test/test_aliases.py -${PROJECT_SOURCE_DIR}/test/test_associations.py -${PROJECT_SOURCE_DIR}/test/test_backwards.py -${PROJECT_SOURCE_DIR}/test/test_bad_geometry.py -${PROJECT_SOURCE_DIR}/test/test_bulk.py -${PROJECT_SOURCE_DIR}/test/test_closing.py -${PROJECT_SOURCE_DIR}/test/test_copy.py -${PROJECT_SOURCE_DIR}/test/test_data_types.py -${PROJECT_SOURCE_DIR}/test/test_description.py -${PROJECT_SOURCE_DIR}/test/test_errors.py -${PROJECT_SOURCE_DIR}/test/test_external.py -${PROJECT_SOURCE_DIR}/test/test_features.py -${PROJECT_SOURCE_DIR}/test/test_file_level.py -${PROJECT_SOURCE_DIR}/test/test_fill.py -${PROJECT_SOURCE_DIR}/test/test_frame_comments.py -${PROJECT_SOURCE_DIR}/test/test_import.py -${PROJECT_SOURCE_DIR}/test/test_invalid.py -${PROJECT_SOURCE_DIR}/test/test_low_level.py -${PROJECT_SOURCE_DIR}/test/test_multikey.py -${PROJECT_SOURCE_DIR}/test/test_static.py -) From dbdda18e8d9de9002e40e7b4eef209005a244338 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 15:24:49 -0700 Subject: [PATCH 05/19] Have all binaries report version if requested --- ChangeLog.md | 1 + bin/common.h | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 80d96014..b7698148 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,6 @@ Change Log {#changelog} ========== +- All RMF binaries now support the --version flag. # 1.2 - 2021-04-19 # {#changelog_1_2} - A new category of decorators 'provenance' allows information about how the diff --git a/bin/common.h b/bin/common.h index fb371f62..1b90f414 100644 --- a/bin/common.h +++ b/bin/common.h @@ -42,10 +42,17 @@ void print_help_and_exit(char* argv[]) { exit(1); } +void print_version_and_exit() { + std::cerr << "RMF version " << RMF_VERSION_MAJOR << "." << RMF_VERSION_MINOR + << std::endl; + exit(0); +} + boost::program_options::variables_map process_options(int argc, char* argv[]) { boost::program_options::options_description all; std::string log_level("Off"); options.add_options()("help,h", "Show help on command line arguments."); + options.add_options()("version", "Show version information."); #if RMF_HAS_DEPRECATED_BACKENDS options.add_options()("hdf5-errors", "Show hdf5 errors."); #endif @@ -64,6 +71,8 @@ boost::program_options::variables_map process_options(int argc, char* argv[]) { boost::program_options::notify(variables_map); if (variables_map.count("help")) { print_help_and_exit(argv); + } else if (variables_map.count("version")) { + print_version_and_exit(); } #if RMF_HAS_DEPRECATED_BACKENDS if (variables_map.count("hdf5-errors")) { From 8745aaa16568ff4e0954c7e0351665d5c1eb9e01 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 15:32:11 -0700 Subject: [PATCH 06/19] Add a basic test for rmf3_dump --- test/test_rmf3_dump.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 test/test_rmf3_dump.py diff --git a/test/test_rmf3_dump.py b/test/test_rmf3_dump.py new file mode 100644 index 00000000..28ac2d4d --- /dev/null +++ b/test/test_rmf3_dump.py @@ -0,0 +1,32 @@ +import unittest +import RMF +import subprocess + + +class Tests(unittest.TestCase): + + def test_help(self): + """Test rmf3_dump --help""" + p = subprocess.Popen(['rmf3_dump', '--help'], stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True) + out, err = p.communicate() + self.assertEqual(out, "") + self.assertIn("Dump frames from an rmf3 file", err) + self.assertEqual(p.returncode, 1) + + def test_version(self): + """Test rmf3_dump --version""" + p = subprocess.Popen(['rmf3_dump', '--version'], stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True) + out, err = p.communicate() + self.assertEqual(out, "") + self.assertIn("RMF version", err) + self.assertEqual(p.returncode, 0) + + +if __name__ == '__main__': + unittest.main() From 1c7522a98a9904c8ee8177f6f4e3d8e15d7e1d31 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 15:34:41 -0700 Subject: [PATCH 07/19] Version information should go to stdout not stderr --- bin/common.h | 2 +- test/test_rmf3_dump.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/common.h b/bin/common.h index 1b90f414..9f6ed957 100644 --- a/bin/common.h +++ b/bin/common.h @@ -43,7 +43,7 @@ void print_help_and_exit(char* argv[]) { } void print_version_and_exit() { - std::cerr << "RMF version " << RMF_VERSION_MAJOR << "." << RMF_VERSION_MINOR + std::cout << "RMF version " << RMF_VERSION_MAJOR << "." << RMF_VERSION_MINOR << std::endl; exit(0); } diff --git a/test/test_rmf3_dump.py b/test/test_rmf3_dump.py index 28ac2d4d..0621af0f 100644 --- a/test/test_rmf3_dump.py +++ b/test/test_rmf3_dump.py @@ -23,8 +23,8 @@ def test_version(self): stderr=subprocess.PIPE, universal_newlines=True) out, err = p.communicate() - self.assertEqual(out, "") - self.assertIn("RMF version", err) + self.assertEqual(err, "") + self.assertIn("RMF version", out) self.assertEqual(p.returncode, 0) From d7792f0c9c39c5ca58c6cf07b3bb347f4f2f77f7 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 15:40:30 -0700 Subject: [PATCH 08/19] Ensure tests can find RMF binaries --- test/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 521ddf65..fda1913d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -9,5 +9,6 @@ if (DEFINED ENV{PYTHONPATH}) else() set(IMP_TESTS_PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/lib") endif() +set(IMP_TESTS_PROPERTIES ENVIRONMENT "PATH=${CMAKE_BINARY_DIR}/bin:$ENV{PATH}") imp_add_tests("RMF" ${PROJECT_BINARY_DIR}/test RMF_TESTS test ${pyfiles} ${cppfiles}) From 2944eef914756bd71fcbb425c78a3eee1a2c2d73 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 16:35:31 -0700 Subject: [PATCH 09/19] Squashed 'cmake_modules/' changes from 62a312db..6fb1fe51 6fb1fe51 Allow for multiple environment variables to be set git-subtree-dir: cmake_modules git-subtree-split: 6fb1fe511151e03c0ec94c1e932ce91523864669 --- cmake_modules/IMPAddTests.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake_modules/IMPAddTests.cmake b/cmake_modules/IMPAddTests.cmake index 75ad8393..97c9b778 100644 --- a/cmake_modules/IMPAddTests.cmake +++ b/cmake_modules/IMPAddTests.cmake @@ -30,7 +30,7 @@ function(imp_add_python_tests modulename length type) set_tests_properties("${modulename}-${name}" PROPERTIES TIMEOUT ${timeout}) set_tests_properties("${modulename}-${name}" PROPERTIES COST ${IMP_${length}_COST}) if(DEFINED IMP_TESTS_PROPERTIES) - set_tests_properties("${modulename}-${name}" PROPERTIES ${IMP_TESTS_PROPERTIES}) + set_property(TEST "${modulename}-${name}" PROPERTY ${IMP_TESTS_PROPERTIES}) endif() endforeach(test) endfunction(imp_add_python_tests) @@ -62,7 +62,7 @@ function(imp_add_cpp_tests modulename length output target_list type) ${output}/${name_we}${CMAKE_EXECUTABLE_SUFFIX} ${IMP_TEST_ARGUMENTS}) set_tests_properties("${modulename}-${name}" PROPERTIES LABELS "${modulename}-${ttype}-cpp-${length}") if(DEFINED IMP_TESTS_PROPERTIES) - set_tests_properties("${modulename}-${name}" PROPERTIES ${IMP_TESTS_PROPERTIES}) + set_property(TEST "${modulename}-${name}" PROPERTY ${IMP_TESTS_PROPERTIES}) endif() set_tests_properties("${modulename}-${name}" PROPERTIES TIMEOUT ${timeout}) set_tests_properties("${modulename}-${name}" PROPERTIES COST ${IMP_${length}_COST}) From c85f96f165f6265c4fada390fe787268e6bfcf37 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 16:35:54 -0700 Subject: [PATCH 10/19] Better fix for setting PATH for tests --- test/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index fda1913d..418bdc8f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -5,10 +5,10 @@ include_directories(BEFORE ${PROJECT_SOURCE_DIR}/src) include_directories(BEFORE "${PROJECT_BINARY_DIR}/src") set(IMP_LINK_LIBRARIES "RMF-lib" CACHE INTERNAL "") if (DEFINED ENV{PYTHONPATH}) - set(IMP_TESTS_PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/lib:$ENV{PYTHONPATH}") + set(IMP_TESTS_PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/lib:$ENV{PYTHONPATH}" "PATH=${CMAKE_BINARY_DIR}/bin:$ENV{PATH}") else() - set(IMP_TESTS_PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/lib") + set(IMP_TESTS_PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/lib" "PATH=${CMAKE_BINARY_DIR}/bin:$ENV{PATH}") endif() -set(IMP_TESTS_PROPERTIES ENVIRONMENT "PATH=${CMAKE_BINARY_DIR}/bin:$ENV{PATH}") +message(set test props ${IMP_TESTS_PROPERTIES}) imp_add_tests("RMF" ${PROJECT_BINARY_DIR}/test RMF_TESTS test ${pyfiles} ${cppfiles}) From 7f58f4730f257ae68c95f900cb263ab8e5f08355 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 16:39:37 -0700 Subject: [PATCH 11/19] Make version available in Python --- swig/RMF.i | 11 +++++++++++ test/test_version.py | 13 +++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 test/test_version.py diff --git a/swig/RMF.i b/swig/RMF.i index 71d76708..dd6566cf 100644 --- a/swig/RMF.i +++ b/swig/RMF.i @@ -91,6 +91,17 @@ %include "RMF.nullable.i" +%inline %{ +std::string _get_rmf_version() { + std::ostringstream oss; + oss << RMF_VERSION_MAJOR << "." << RMF_VERSION_MINOR; + return oss.str(); +} +%} + +%pythoncode %{ + __version__ = _get_rmf_version() +%} %include "RMF/Enum.h" namespace RMF { diff --git a/test/test_version.py b/test/test_version.py new file mode 100644 index 00000000..b0833d95 --- /dev/null +++ b/test/test_version.py @@ -0,0 +1,13 @@ +import RMF +import unittest + + +class Tests(unittest.TestCase): + + def test_version(self): + """Test RMF.__version__""" + self.assertIn('.', RMF.__version__) + + +if __name__ == '__main__': + unittest.main() From 91f39c5bc7ab60be7f128a0409cfd1cb2218d6b4 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Mon, 19 Apr 2021 16:52:27 -0700 Subject: [PATCH 12/19] Set version of the RMF dynamic library --- CMakeLists.txt | 1 + ChangeLog.md | 3 ++- src/CMakeLists.txt | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b1d938fb..b0a0d7aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,6 +136,7 @@ set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) set (RMF_VERSION_MAJOR 1) set (RMF_VERSION_MINOR 2) +set(RMF_SOVERSION "${RMF_VERSION_MAJOR}.${RMF_VERSION_MINOR}" CACHE INTERNAL "" FORCE) set(RMF_HAS_DEBUG_VECTOR 0 CACHE BOOL "Whether to use a bounds checked vector") # configure a header file to pass some of the CMake settings diff --git a/ChangeLog.md b/ChangeLog.md index b7698148..375bc7ab 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,6 +1,7 @@ Change Log {#changelog} ========== -- All RMF binaries now support the --version flag. +- All RMF binaries now support the --version flag, and the RMF library itself + is versioned. # 1.2 - 2021-04-19 # {#changelog_1_2} - A new category of decorators 'provenance' allows information about how the diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c129ac40..9a5692c4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -43,6 +43,8 @@ set_target_properties("RMF-lib" PROPERTIES OUTPUT_NAME "RMF") set_property(TARGET "RMF-lib" PROPERTY FOLDER "RMF") set_property(TARGET "RMF-lib" PROPERTY COMPILE_DEFINITIONS RMF_EXPORT) +set_property(TARGET "RMF-lib" PROPERTY VERSION ${RMF_SOVERSION}) +set_property(TARGET "RMF-lib" PROPERTY SOVERSION ${RMF_SOVERSION}) target_link_libraries(RMF-lib ${Boost_FILESYSTEM_LIBRARY} From d129b486e7e9717c444e3ef4d6ff1f4ed660a34b Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Tue, 20 Apr 2021 12:40:59 -0700 Subject: [PATCH 13/19] Remove debug print --- test/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 418bdc8f..fb89abee 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -9,6 +9,5 @@ if (DEFINED ENV{PYTHONPATH}) else() set(IMP_TESTS_PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/lib" "PATH=${CMAKE_BINARY_DIR}/bin:$ENV{PATH}") endif() -message(set test props ${IMP_TESTS_PROPERTIES}) imp_add_tests("RMF" ${PROJECT_BINARY_DIR}/test RMF_TESTS test ${pyfiles} ${cppfiles}) From 93c97f15fc70a3377c2fcfbd49908ba19e8e14ce Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Tue, 20 Apr 2021 13:19:58 -0700 Subject: [PATCH 14/19] Set sensible default Python install location --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b0a0d7aa..fa432a69 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -160,7 +160,7 @@ add_subdirectory(plugins/pymol/) if (DEFINED CMAKE_INSTALL_PYTHONDIR) #message(STATUS "CMAKE_INSTALL_PYTHONDIR defined as ${CMAKE_INSTALL_PYTHONDIR}") else() - set(CMAKE_INSTALL_PYTHONDIR "${CMAKE_INSTALL_LIBDIR}/python/site_packages") + set(CMAKE_INSTALL_PYTHONDIR "${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages") endif() if (DEFINED CMAKE_INSTALL_SWIGDIR) From 0990bb5f0102c454a40c009c6f9da79110109380 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Tue, 20 Apr 2021 18:37:03 -0700 Subject: [PATCH 15/19] Don't use deprecated boost bind placeholders --- plugins/vmd/init.cpp | 4 +++- src/avrocpp/test/CodecTests.cc | 2 +- src/avrocpp/test/buffertest.cc | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/vmd/init.cpp b/plugins/vmd/init.cpp index a8bb1145..89a14c97 100644 --- a/plugins/vmd/init.cpp +++ b/plugins/vmd/init.cpp @@ -6,9 +6,11 @@ #include "Data.h" #include #include -#include +#include #include +using namespace boost::placeholders; + namespace { molfile_plugin_t plugin; molfile_plugin_t plugin3; diff --git a/src/avrocpp/test/CodecTests.cc b/src/avrocpp/test/CodecTests.cc index 096dd4d9..1fa9e77d 100644 --- a/src/avrocpp/test/CodecTests.cc +++ b/src/avrocpp/test/CodecTests.cc @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/avrocpp/test/buffertest.cc b/src/avrocpp/test/buffertest.cc index 5bb83740..78818a27 100644 --- a/src/avrocpp/test/buffertest.cc +++ b/src/avrocpp/test/buffertest.cc @@ -19,7 +19,7 @@ #include #include -#include +#include #include #ifdef HAVE_BOOST_ASIO From 3a59fffe54d611d3d3b4f5d4f0c93671f1f3d39b Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Tue, 20 Apr 2021 18:41:43 -0700 Subject: [PATCH 16/19] Add new release checklist --- tools/new-release.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 tools/new-release.txt diff --git a/tools/new-release.txt b/tools/new-release.txt new file mode 100644 index 00000000..f5a213ab --- /dev/null +++ b/tools/new-release.txt @@ -0,0 +1,15 @@ +To make a new release: + +- Update ChangeLog.md with release date and features. +- Add version number as RMF_VERSION_MAJOR and RMF_VERSION_MINOR + to CMakeLists.txt. +- git push origin develop +- Make sure all CI passes +- Merge into main: + - git checkout main + - git merge --no-ff -m "Merge for x.y.z release" develop + - git diff develop + - git push origin main +- Tag the new release: + - git tag -s -u 22A3BF2B x.y.z; git push origin x.y.z +- Make new release on GitHub From 1a32aff30bd128f4a0bd71358d6e11b245946a9b Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Wed, 21 Apr 2021 09:06:00 -0700 Subject: [PATCH 17/19] Fix use of boost::placeholders namespace The boost::placeholders namespace only came into existence with modern Boost, so protect its use with a Boost version check. --- plugins/vmd/init.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/vmd/init.cpp b/plugins/vmd/init.cpp index 89a14c97..1231037f 100644 --- a/plugins/vmd/init.cpp +++ b/plugins/vmd/init.cpp @@ -6,10 +6,13 @@ #include "Data.h" #include #include +#include #include #include +#if BOOST_VERSION >= 107300 using namespace boost::placeholders; +#endif namespace { molfile_plugin_t plugin; From 7d9e6075cb2539b7f64bb77f1c7faa1ff4f45026 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Wed, 21 Apr 2021 09:24:51 -0700 Subject: [PATCH 18/19] Make sure boost placeholders are defined --- plugins/vmd/init.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/vmd/init.cpp b/plugins/vmd/init.cpp index 1231037f..440eb7ba 100644 --- a/plugins/vmd/init.cpp +++ b/plugins/vmd/init.cpp @@ -7,7 +7,12 @@ #include #include #include +#if BOOST_VERSION >= 107300 #include +#else +#include +#endif +#include #include #if BOOST_VERSION >= 107300 From 36c8b8611e015bf274fdbbddd4afe64f557d3090 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Wed, 21 Apr 2021 15:47:27 -0700 Subject: [PATCH 19/19] Prepare for 1.3 release --- CMakeLists.txt | 2 +- ChangeLog.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fa432a69..a60daaca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -134,7 +134,7 @@ set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) # Version information set (RMF_VERSION_MAJOR 1) -set (RMF_VERSION_MINOR 2) +set (RMF_VERSION_MINOR 3) set(RMF_SOVERSION "${RMF_VERSION_MAJOR}.${RMF_VERSION_MINOR}" CACHE INTERNAL "" FORCE) set(RMF_HAS_DEBUG_VECTOR 0 CACHE BOOL "Whether to use a bounds checked vector") diff --git a/ChangeLog.md b/ChangeLog.md index 375bc7ab..55695fde 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,7 @@ Change Log {#changelog} ========== + +# 1.3 - 2021-04-21 # {#changelog_1_3} - All RMF binaries now support the --version flag, and the RMF library itself is versioned.