commit b9fa9b74c9bb0d75a28b67c4dd75aff6f3ba8a75
parent e1750f8ebcb57ca73a008e69b6a052c125af540e
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Tue, 19 May 2026 15:49:16 +0200
Merge branch 'release_0.3' into develop
Diffstat:
3 files changed, 43 insertions(+), 22 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,4 +1,3 @@
-.gitignore
tmp
[Bb]uild*
*.sw[po]
diff --git a/README.md b/README.md
@@ -1,32 +1,54 @@
# Solstice Animation
The purpose of this library is to compute the positioning of the constituents
-of a solar facility. It has been developed in the scope of the Solstice project,
-in collaboration with the
-[Laboratory of Excellence Solstice](http://www.labex-solstice.fr) and the
-[PROMES](http://www.promes.cnrs.fr/index.php?page=home-en) laboratory of the
-National Center for Scientific Research ([CNRS](http://www.cnrs.fr/index.php)).
+of a solar facility. It was developed as part of the
+[Solstice](https://gitlab.com/meso-star/solstice) project, in collaboration with
+the [Laboratory of Excellence Solstice](http://www.labex-solstice.fr) and the
+[PROMES](http://www.promes.cnrs.fr/) laboratory of the National Center for
+Scientific Research ([CNRS](http://www.cnrs.fr)). Starting in 2026, a new
+development effort founded by [Ademe](https://www.ademe.fr/) is ongoing.
## How to build
-The Solstice-Anim library relies on the [CMake](http://www.cmake.org) and the
-[RCMake](https://gitlab.com/vaplv/rcmake/) package to build.
-It also depends on the [RSys](https://gitlab.com/vaplv/rsys/) and on the
-[OpenMP](http://www.openmp.org) 1.2 specification to parallelize its
-computations.
+This library, as part of the Solstice app, can be built on any POSIX system.
-First ensure that CMake and a compiler that implements the OpenMP 1.2
-specification are installed on your system. Then install the RCMake package as
-well as all the aforementioned prerequisites. Finally generate the project from
-the `cmake/CMakeLists.txt` file by appending to the `CMAKE_PREFIX_PATH`
-variable the install directories of its dependencies.
+Note that you will most likely want to build the entire Solstice app rather than
+this library alone. If so, a good starting point is the
+[start-build](https://gitlab.com/meso-star/star-build) build system.
+
+The Solstice-Anim library relies on the [RSys](https://gitlab.com/vaplv/rsys/)
+library, and on the [OpenMP](http://www.openmp.org) 1.2 specification to
+parallelize its computations.
+
+First ensure that the make utility and a compiler that implements the OpenMP 1.2
+specification are installed on your system. Then install the above
+prerequisites. Finally, edit the config.mk file to meet your needs and build
+the project by running:
+
+ make clean install
## Release notes
+### Version 0.3
+
+Replace CMake with a POSIX Makefile
+
+The build procedure is now written in POSIX make and can be configured via
+the config.mk file. A pkg-config file is also provided to link the
+library as an external dependency.
+
+Compared to the CMake alternative, this Makefile adds support for static
+libraries and an uninstall target. It also enables compiler and linker
+flags for various hardening features, improving the security and
+robustness of generated binaries. More broadly, the motivation for this
+rewrite is to rely on a well-established standard with a simple feature
+set, available on all UNIX systems - reducing portability concerns and
+maintenance burden while remaining significantly lighter.
+
### Version 0.2.4
-Sets the CMake minimum version to 3.1: since CMake 3.20, version 2.8 has become
-obsolete.
+Raise the minimum required CMake version to 3.1, as version 2.8 has been
+deprecated since CMake 3.20.
### Version 0.2.3
@@ -39,8 +61,8 @@ Fix a compilation issue that prevented building tests.
### Version 0.2.1
-Update the version of the RSys dependency to 0.6: replace the deprecated
-`[N]CHECK` macros by the new macro `CHK`.
+Update the RSys dependency to 0.6: replace the deprecated `[N]CHECK` macros by
+the new macro `CHK`.
### Version 0.2
diff --git a/config.mk b/config.mk
@@ -1,6 +1,6 @@
VERSION_MAJOR = 0
-VERSION_MINOR = 2
-VERSION_PATCH = 4
+VERSION_MINOR = 3
+VERSION_PATCH = 0
VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
PREFIX = /usr/local