From 6e9f814f3848de46b3c3acdabcccbcb088bce8ff Mon Sep 17 00:00:00 2001 From: Joao Paulo Magalhaes Date: Wed, 24 Apr 2024 19:37:39 +0100 Subject: [PATCH] c4core: release 0.2.0 --- .github/workflows/release.yml | 44 ++++++++++++++++++----------------- .github/workflows/samples.yml | 2 +- README.md | 1 + changelog/current.md | 8 +++++-- doc/sphinx_using.rst | 26 +++++++++++---------- ext/c4core | 2 +- 6 files changed, 46 insertions(+), 37 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9bd966813..a92951bda 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -205,20 +205,22 @@ jobs: matrix: config: # the 3-digit versions NEED to be quoted to prevent the version being read as float. (!) + #- {pythonv: '3.13', cibw_pyv: 313, cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} + #- {pythonv: '3.13', cibw_pyv: 313, cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} - {pythonv: '3.12', cibw_pyv: 312, cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} - {pythonv: '3.12', cibw_pyv: 312, cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} - {pythonv: '3.11', cibw_pyv: 311, cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} - {pythonv: '3.11', cibw_pyv: 311, cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} - {pythonv: '3.10', cibw_pyv: 310, cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} - {pythonv: '3.10', cibw_pyv: 310, cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} - - {pythonv: 3.9 , cibw_pyv: 39 , cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} - - {pythonv: 3.9 , cibw_pyv: 39 , cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} - - {pythonv: 3.8 , cibw_pyv: 38 , cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} - - {pythonv: 3.8 , cibw_pyv: 38 , cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} - - {pythonv: 3.7 , cibw_pyv: 37 , cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} - - {pythonv: 3.7 , cibw_pyv: 37 , cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} - - {pythonv: 3.6 , cibw_pyv: 36 , cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} - - {pythonv: 3.6 , cibw_pyv: 36 , cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} + - {pythonv: '3.9' , cibw_pyv: 39 , cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} + - {pythonv: '3.9' , cibw_pyv: 39 , cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} + - {pythonv: '3.8' , cibw_pyv: 38 , cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} + - {pythonv: '3.8' , cibw_pyv: 38 , cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} + - {pythonv: '3.7' , cibw_pyv: 37 , cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} + - {pythonv: '3.7' , cibw_pyv: 37 , cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} + - {pythonv: '3.6' , cibw_pyv: 36 , cibw_arch: x86_64, cibw_platform: manylinux_x86_64, osname: linux, os: ubuntu-20.04} + - {pythonv: '3.6' , cibw_pyv: 36 , cibw_arch: i686 , cibw_platform: manylinux_i686 , osname: linux, os: ubuntu-20.04} # the windows builds are disabled because they are causing problems and preventing the release. # the problems are related to CMakeExtension forcing the use of Ninja # which does not play well with the -G 'Visual Studio...' option used below. @@ -227,27 +229,27 @@ jobs: #- {pythonv: '3.11', cibw_pyv: 311, cibw_arch: x86 , cibw_platform: win32 , osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A Win32'} #- {pythonv: '3.10', cibw_pyv: 310, cibw_arch: AMD64 , cibw_platform: win_amd64, osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A x64'} #- {pythonv: '3.10', cibw_pyv: 310, cibw_arch: x86 , cibw_platform: win32 , osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A Win32'} - #- {pythonv: 3.9 , cibw_pyv: 39 , cibw_arch: AMD64 , cibw_platform: win_amd64, osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A x64'} - #- {pythonv: 3.9 , cibw_pyv: 39 , cibw_arch: x86 , cibw_platform: win32 , osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A Win32'} - #- {pythonv: 3.8 , cibw_pyv: 38 , cibw_arch: AMD64 , cibw_platform: win_amd64, osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A x64'} - #- {pythonv: 3.8 , cibw_pyv: 38 , cibw_arch: x86 , cibw_platform: win32 , osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A Win32'} - - {pythonv: 3.7 , cibw_pyv: 37 , cibw_arch: AMD64 , cibw_platform: win_amd64, osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A x64'} - #- {pythonv: 3.7 , cibw_pyv: 37 , cibw_arch: x86 , cibw_platform: win32 , osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A Win32'} - - {pythonv: 3.6 , cibw_pyv: 36 , cibw_arch: AMD64 , cibw_platform: win_amd64, osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A x64'} - #- {pythonv: 3.6 , cibw_pyv: 36 , cibw_arch: x86 , cibw_platform: win32 , osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A Win32'} + #- {pythonv: '3.9' , cibw_pyv: 39 , cibw_arch: AMD64 , cibw_platform: win_amd64, osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A x64'} + #- {pythonv: '3.9' , cibw_pyv: 39 , cibw_arch: x86 , cibw_platform: win32 , osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A Win32'} + #- {pythonv: '3.8' , cibw_pyv: 38 , cibw_arch: AMD64 , cibw_platform: win_amd64, osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A x64'} + #- {pythonv: '3.8' , cibw_pyv: 38 , cibw_arch: x86 , cibw_platform: win32 , osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A Win32'} + #- {pythonv: '3.7' , cibw_pyv: 37 , cibw_arch: AMD64 , cibw_platform: win_amd64, osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A x64'} + #- {pythonv: '3.7' , cibw_pyv: 37 , cibw_arch: x86 , cibw_platform: win32 , osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A Win32'} + #- {pythonv: '3.6' , cibw_pyv: 36 , cibw_arch: AMD64 , cibw_platform: win_amd64, osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A x64'} + #- {pythonv: '3.6' , cibw_pyv: 36 , cibw_arch: x86 , cibw_platform: win32 , osname: win , os: windows-2019, cxx: vs2019} #, cmakeflags: '-G "Visual Studio 16 2019" -A Win32'} ## macosx builds are generating a SIGSEGV when importing. (!) ## https://github.com/biojppm/rapidyaml/actions/runs/3062528713/jobs/4943611397#step:7:269 #- {pythonv: '3.11', cibw_pyv: 311, cibw_arch: x86_64, cibw_platform: macosx_x86_64, osname: macos, os: macos-10.15} #- {pythonv: '3.10', cibw_pyv: 310, cibw_arch: x86_64, cibw_platform: macosx_x86_64, osname: macos, os: macos-10.15} - #- {pythonv: 3.9 , cibw_pyv: 39 , cibw_arch: x86_64, cibw_platform: macosx_x86_64, osname: macos, os: macos-10.15} - #- {pythonv: 3.8 , cibw_pyv: 38 , cibw_arch: x86_64, cibw_platform: macosx_x86_64, osname: macos, os: macos-10.15} - #- {pythonv: 3.7 , cibw_pyv: 37 , cibw_arch: x86_64, cibw_platform: macosx_x86_64, osname: macos, os: macos-10.15} - #- {pythonv: 3.6 , cibw_pyv: 36 , cibw_arch: x86_64, cibw_platform: macosx_x86_64, osname: macos, os: macos-10.15} + #- {pythonv: '3.9' , cibw_pyv: 39 , cibw_arch: x86_64, cibw_platform: macosx_x86_64, osname: macos, os: macos-10.15} + #- {pythonv: '3.8' , cibw_pyv: 38 , cibw_arch: x86_64, cibw_platform: macosx_x86_64, osname: macos, os: macos-10.15} + #- {pythonv: '3.7' , cibw_pyv: 37 , cibw_arch: x86_64, cibw_platform: macosx_x86_64, osname: macos, os: macos-10.15} + #- {pythonv: '3.6' , cibw_pyv: 36 , cibw_arch: x86_64, cibw_platform: macosx_x86_64, osname: macos, os: macos-10.15} steps: # use fetch-depth to ensure all tags are fetched - {name: checkout, uses: actions/checkout@v4, with: {submodules: recursive, fetch-depth: 0}} - name: create wheel - uses: pypa/cibuildwheel@v2.16.2 + uses: pypa/cibuildwheel@v2.17 - name: rename wheelhouse -> dist run: | mv -fv wheelhouse dist diff --git a/.github/workflows/samples.yml b/.github/workflows/samples.yml index 102b8ce1f..e811d8346 100644 --- a/.github/workflows/samples.yml +++ b/.github/workflows/samples.yml @@ -47,7 +47,7 @@ jobs: CMANY: ON, RYMLSHA: "${{github.event.pull_request.head.sha}}" } steps: - {name: checkout, uses: actions/checkout@v4, with: {submodules: recursive, fetch-depth: 0 } } # use fetch-depth to ensure all tags are fetched - - {name: python3, uses: actions/setup-python@v5, with: {python-version: 3.7}} + - {name: python3, uses: actions/setup-python@v5, with: {python-version: 3.9}} - {name: install requirements, run: source .github/reqs.sh && c4_install_test_requirements $OS} - {name: show info, run: source .github/setenv.sh && c4_show_info } # diff --git a/README.md b/README.md index c763488c4..8faeaa375 100644 --- a/README.md +++ b/README.md @@ -574,6 +574,7 @@ ryml: [c4core](https://github.com/biojppm/c4core), a C++ library with low-level multi-platform utilities for C++. When `RYML_STANDALONE=ON`, c4core is incorporated into ryml as if it is the same library. Defaults to `ON`. + * `RYML_INSTALL=ON/OFF`. enable/disable install target. Defaults to `ON`. If you're developing ryml or just debugging problems with ryml itself, the following cmake variables can be helpful: diff --git a/changelog/current.md b/changelog/current.md index b9c3cc7f6..99039ba0a 100644 --- a/changelog/current.md +++ b/changelog/current.md @@ -1,7 +1,8 @@ ### Add API documentation -- [PR#423](https://github.com/biojppm/rapidyaml/pull/423): **add Doxygen-based API documentation, now hosted in [https://rapidyaml.readthedocs.io/]!**. -- It uses the base doxygen docs, as I couldn't get doxyrest or breathe or exhale to produce anything meaningful using the groups already established in the source code. +- [PR#423](https://github.com/biojppm/rapidyaml/pull/423): **add Doxygen-based API documentation, now hosted in [https://rapidyaml.readthedocs.io/](https://rapidyaml.readthedocs.io/)!**. +- It uses the base doxygen docs, as I couldn't get doxyrest or breathe or exhale to produce anything meaningful using the groups already defined in the source code. + ### Error handling @@ -86,9 +87,12 @@ Fix major error handling problem reported in [#389](https://github.com/biojppm/r - Fix [#373](https://github.com/biojppm/rapidyaml/issues/373) - false parse error with empty quoted keys in block-style map ([PR#374](https://github.com/biojppm/rapidyaml/pull/374)). - Fix [#356](https://github.com/biojppm/rapidyaml/issues/356) - fix overzealous check in `emit_as()`. An id may be larger than the tree's size, eg when nodes were removed. ([PR#357](https://github.com/biojppm/rapidyaml/pull/357)). - Fix [#417](https://github.com/biojppm/rapidyaml/issues/417)) - add quickstart example explaining how to avoid precision loss while serializing floats ([PR#420](https://github.com/biojppm/rapidyaml/pull/420)). +- Fix [#380](https://github.com/biojppm/rapidyaml/issues/380) - Debug visualizer .natvis file for Visual Studio was missing `ConstNodeRef` ([PR#383](https://github.com/biojppm/rapidyaml/issues/383)). +- FR [#403](https://github.com/biojppm/rapidyaml/issues/403) - install is now optional when using cmake. The relevant option is `RYML_INSTALL`. ### Thanks - @Neko-Box-Coder - @jdrouhard +- @dmachaj diff --git a/doc/sphinx_using.rst b/doc/sphinx_using.rst index 65e77fae5..868bc7fe1 100644 --- a/doc/sphinx_using.rst +++ b/doc/sphinx_using.rst @@ -177,8 +177,19 @@ will have to do `git submodule update --init --recursive` to ensure ryml's submodules are checked out. +Forcing ryml to use a different c4core version +---------------------------------------------- + +ryml is strongly coupled to c4core, and this is reinforced by the fact +that c4core is a submodule of the current repo. However, it is still +possible to use a c4core version different from the one in the repo (of +course, only if there are no incompatibilities between the versions). +You can find out how to achieve this by looking at the +`custom_c4core sample `__. + + CMake build settings for ryml ------------------------------ +============================= The following cmake variables can be used to control the build behavior of ryml: @@ -199,6 +210,8 @@ of ryml: low-level multi-platform utilities for C++. When ``RYML_STANDALONE=ON``, c4core is incorporated into ryml as if it is the same library. Defaults to ``ON``. +- ``RYML_INSTALL=ON/OFF``. enable/disable install target. Defaults to + ``ON``. If you’re developing ryml or just debugging problems with ryml itself, the following cmake variables can be helpful: @@ -208,14 +221,3 @@ the following cmake variables can be helpful: - ``RYML_DBG=ON/OFF``: a bool variable which enables verbose prints from parsing code; can be useful to figure out parsing problems. Defaults to ``OFF``. - - -Forcing ryml to use a different c4core version ----------------------------------------------- - -ryml is strongly coupled to c4core, and this is reinforced by the fact -that c4core is a submodule of the current repo. However, it is still -possible to use a c4core version different from the one in the repo (of -course, only if there are no incompatibilities between the versions). -You can find out how to achieve this by looking at the -`custom_c4core sample `__. diff --git a/ext/c4core b/ext/c4core index 9d57fbf3d..a8aa092f0 160000 --- a/ext/c4core +++ b/ext/c4core @@ -1 +1 @@ -Subproject commit 9d57fbf3d5dd0fae69e186ad5c5b1e0bf6386b76 +Subproject commit a8aa092f0e3349fd3c66f6b99d329bfae7755427