Skip to content

Releases: astrorama/Elements

6.2.5

11 Dec 07:58

Choose a tag to compare

Fixed

  • Fix the custom properties passed to the interface targets.
    Below CMake 3.19, it only accepts custom properties with the
    INTERFACE_ prefix
  • Fix to the way that the string are converted to upper case in
    some shell script tests
    • the ^^ way was only supported by bash
    • the plain sh needs to use a tr conversion
  • Fix the temp tests when the KEEPTEMPDIR env variable is present
  • Replace empty custom commands with ${CMAKE_COMMAND} -E true in
    coverage CMake
    • Prevents CMake errors from empty COMMAND fields in custom commands
    • Ensures post-build steps are always valid, even if no real command is
      needed

Full Changelog: 6.2.4...6.2.5

6.1.4

07 Jun 16:38

Choose a tag to compare

Changed

  • Move from Py.Test to PyTest
    • pytest 7.2.0 no longer depends on py module which means that the import of py.test will no longer work.
    • Change the executable from py.test to pytest
    • Rename py.test into pytest in the python files
    • Change the comments and documentation from Py.Test to PyTest

6.1.3

07 Jun 14:19

Choose a tag to compare

Small fix for the Fedora 38 platform

Fixed

  • Add a missing include for int64_t. This was a problem on Fedora 38.
  • Fix the warning about a missing changelog entry in the RPM spec file

6.1.2

05 Dec 14:45

Choose a tag to compare

Added

  • Add the rpm build github workflows actions
    • copied from Alexandria (thx to Alejandro Álvarez Ayllón)
  • Add the which package as a rpm dependency

Changed

  • Reimplement FinxXsd.cmake to be less verbose
    • use a cached variable for the verbosity
    • defines a target
  • Implementation of the memorycheck run of the tests
    • It has to be enabled with the -DUSE_MEMORYCHECK=ON CMake
      switch

Fixed

  • Comment ou the rpm build on CentOS 7 temporarily
    • the build on CentOS failed because of a missing CMake 3 version

6.2-pre2

25 Nov 15:06

Choose a tag to compare

6.2-pre2 Pre-release
Pre-release

New pre-release with a FindEigen3.cmake modernization

6.2-pre1

23 Nov 16:19

Choose a tag to compare

6.2-pre1 Pre-release
Pre-release
Create a prerelease tag for testing

This is needed for the packaging tests on Debian

6.1.1

21 Oct 07:09

Choose a tag to compare

Forgot to update the CHANGELOG.md file

6.1.0

21 Oct 07:05

Choose a tag to compare

Added

  • Add the FindXsData.cmake module in order to find the xsdata executable. xsData will
    replace at some point the usage of the pyxbgen tool
  • Add trivial PlantUML example in Doxygen
  • update sphinx config to auto retrieve current year and add display build date (Manuel Grizonnet)
  • Initial implementation of the pytest coverage report
  • Add 2 CMake variables to be passed to the pytest and nose test runners
    • PYTEST_EXTRA_OPTIONS for pytest
    • NOSE_EXTRA_OPTIONS for nosetests
  • Add a CMake configure test to disable -D_GLIBCXX_PARALLEL
    • there are some cases where it misbehaves.
    • it only happens when the ELEMENTS_PARALLEL CMake flags is enabled
  • Use Read The Docs HTML Sphinx theme if available (Manuel Grizonnet)
  • Add the extra --output-junit option to the ctest call
    • the default call is now -T test --output-junit $(BUILDDIR)/Testing/JUnitTestReport.xml
    • add a CTEST_ARGS environment variable to recover the previous behavior
      (export CTEST_ARGS="-T test")
    • add a CTEST_EXTRA_ARGS environment variable to extend the already
      present options.
  • Add the Sphinx support for the cmake directory
    • use the sphinxcontrib-moderncmakedomain
    • the documentation is provided by either
      • a local cmake/index.rst static file
      • a generated list from cmake/*.cmake if the former file doesn't exist
    • the documentation only appear if there are some rst inserted in the
      cmake files.
  • Import the documentation from the Euclid Redmine site
  • Add support for Markdown files in Sphinx
  • Add the CMake EXTRA_SPHINX_FILES variable for files to be copied into the sphinx doc dir
  • Implementation of the HTML tree merge
    • the merge is triggered by the MERGE_HTML_DOC_TREES=ON CMake option. By
      default it is set to OFF
    • the tree is generated at build/doc/html
    • the root of the tree is the doxygen one
    • the sphinx tree is located at build/doc/html/sphinx

Changed

  • Move to the Keep a Changelog format
  • Update the jenkins configuration for EDEN-3
  • Change the obsolete failUnlessRaises methods that were deprecated in Python 3.1.
    • it is changed to assertRaises
    • it will be removed in Python 3.11
  • replace the obsolete imp python module with the importlib one
  • Improve the python coding style
    • more consistency with the import statements
    • use the __name__ for the global logger when applicable
    • define the global in capitals
  • Move the pytest coverage results into build.*/cov/PyTest. Now both XML
    and HTML reports are generated.
  • Use new CMake find_package layout
    • create a specific target
    • use caching for some variables only
  • Make C++17 the default standard
  • Restrict the -Wshadow warning to local variables only
  • Change the sanitize style into a list
    • several sanitizers can be used
    • the sanitizers are passed with a CMake option string that uses spaces
      as separator (e.g: -DSANITIZE_STYLE="undefined thread")

Fixed

  • Fix build of Logging.cpp in centos7 (Alejandro Álvarez Ayllón)
  • Remove of the obsolete distutils python package. Use the sysconfig module
    to retrieve the default PYTHONPATH.
  • Readd the needed -gcompile option for the profiling build type
  • Fix the python multiprocessing spawning by adding the __main__ guard

6.0.1

21 Oct 07:02

Choose a tag to compare

This is a patched version of 6.0.0 to clean up deployment issues.

Added

  • Enable debugging of CMake includes with USE_DEBUG_PRINT=ON
  • Add fake HTMLSummary target to be compatible with older make libraries

Changed

  • Use the env var CC if present to have priority over the compiler found in
    the PATH environment variable. This is needed because conda defines a new name
    for the compiler (x86_64-conda_cos6-linux-gnu-cc). This change allows the
    correct parsing of the compiler version and its use for the compiler flags switching.

Fixed

  • Cure ill-formed grep tests that were causing a test timeout.

6.0.0

21 Oct 07:01

Choose a tag to compare

This new release is targeting the EDEN 3 development environment. The major changes are:

  • A new companion software called ElementsEnv that supersedes the original EuclidEnv python project.
  • The support for a BINARY_TAG with only the major version of the compiler. For example, x86_64-fc34-gcc112-dbg becomes x86_64-fc34-gcc11-dbg for gcc 11.2. It relaxes the binary dependency between the projects. Internally, however, the branching on the compiler can still be done on the major, minor and patch numbers of the full version.

Added

  • Add the build, test and install tests for a squeezed Elements
    • Obviously this test file has to be avoided in the second level tests
      in order to avoid an infinite recusion.
    • This doubles roughly the global testing time
    • This kind of tests get the label "Meta"
  • Add checkQuality config files and output dir to gitignore template
    file (Manuel Grizonnet). Update Elements gitignore accordingly.
  • Add checkQuality config file and output directory to gitignore template file.
  • Add the Elements::Auxiliary namespace
    • add the alias Auxiliary::getVariableName = getAuxiliaryVariableName
    • and Auxiliary::getPath = getAuxiliaryPath
    • and Auxiliary::getLocations = getAuxiliaryLocation
  • Add the Elements::Configuration namespace with its aliases
  • Create the Elements::Services inline namespace. Add
    an ElementsServices = Elements::Services namespace alias for backward compatibility.
  • Added the support for the templated class creation task #21291 (Nicolas Morisset)
  • Add default docstring by default in init.py to silent sonar analyzer (Manuel Grizonnet)

Changed

  • Use the same directory for binary python module as the regular ones. They
    are not placed in a separate PYTHONPATH entry anymore.
  • Revert the guard logic for the template implementation files. This could
    hopefully force sonar to analyze them
  • Generate the doxygen graphs as PNG instead of SVG. There is a bug in the SVG
    generation software (doxygen/doxygen#5724) and then
    the graphs are not displayed correctly in the web browser. This will be
    reverted back when the bug will be fixed, probably in doxygen 1.9.
  • Convert the .icpp extension in the .tpp one. This is related to
    the issue https://euclid.roe.ac.uk/issues/15512 where Sonar is not
    parsing these *.icpp files. This conversion should solve this.
  • Use only the major compiler version in the BINARY_TAG
    • Add detection of the major and minor version of the target compiler
    • Add a conditional use of the custom include_guard macro depending
      on the CMake version.
    • Remove all the branching for gcc older than version 4.8
    • Add the optional inclusion of local flag from LocalBuildFlags.cmake
    • Use the global keyword for the include_guard macro
    • Fix the CMake include_guard macro

Fixed

  • Fixing the double indirection for the squeezed installation directory
    • Testing if the SOFTWARE_BASE_VAR is defined and not empty.
    • Testing if the ${SOFTWARE_BASE_VAR} is defined and not empty
    • in that case the ${${SOFTWARE_BASE_VAR}} value is used as the base
      installation directory.
    • otherwise /opt is chosen
      Please note that, by convention, SOFTWARE_BASE_VAR=EUCLID_BASE and
      EUCLID_BASE=/opt/euclid have to be found for the canonical Euclid
      installation
  • Fixes for the EuclidEnv -> ElementsEnv change
  • Attempt to fix the sphinx errors
  • Force the link of the stdc++ library to cure a conda problem. This is done on
    the only C program of the project.