README.md (3226B)
1 # Solstice Animation 2 3 The purpose of this library is to compute the positioning of the constituents 4 of a solar facility. It was developed as part of the 5 [Solstice](https://gitlab.com/meso-star/solstice) project, in collaboration with 6 the [Laboratory of Excellence Solstice](http://www.labex-solstice.fr) and the 7 [PROMES](http://www.promes.cnrs.fr/) laboratory of the National Center for 8 Scientific Research ([CNRS](http://www.cnrs.fr)). Starting in 2026, a new 9 development effort funded by [Ademe](https://www.ademe.fr/) is ongoing. 10 11 ## How to build 12 13 This library, as part of the Solstice app, can be built on any x86-64 POSIX system. 14 15 Note that you will most likely want to build the entire Solstice app rather than 16 this library alone. If so, a good starting point is the dedicated 17 [Solstice web page](https://www.meso-star.com/solstice/install.html). 18 19 The Solstice-Anim library relies on the [RSys](https://gitlab.com/vaplv/rsys/) 20 library, and on the [OpenMP](http://www.openmp.org) 1.2 specification to 21 parallelize its computations. 22 23 First ensure that the make utility and a compiler that implements the OpenMP 1.2 24 specification are installed on your system. Then install the above 25 prerequisites. Finally, edit the config.mk file to meet your needs and build 26 the project by running: 27 28 make clean install 29 30 ## Release notes 31 32 ### Version 0.4 33 34 - Fix some algorithm thresholds. 35 Fix threshold preventing difficult but possible tracking. 36 The previous threshold seemed too high; the new one is low enough to 37 accommodate a real-world situation that triggered this fix. 38 39 40 ### Version 0.3 41 42 Replace CMake with a POSIX Makefile 43 44 The build procedure is now written in POSIX make and can be configured via 45 the config.mk file. A pkg-config file is also provided to link the 46 library as an external dependency. 47 48 Compared to the CMake alternative, this Makefile adds support for static 49 libraries and an uninstall target. It also enables compiler and linker 50 flags for various hardening features, improving the security and 51 robustness of generated binaries. More broadly, the motivation for this 52 rewrite is to rely on a well-established standard with a simple feature 53 set, available on all UNIX systems - reducing portability concerns and 54 maintenance burden while remaining significantly lighter. 55 56 ### Version 0.2.4 57 58 Raise the minimum required CMake version to 3.1, as version 2.8 has been 59 deprecated since CMake 3.20. 60 61 ### Version 0.2.3 62 63 Remove code that is now part of rsys and upgrade to rsys 0.10. This prevented 64 building using rsys >= 0.8. 65 66 ### Version 0.2.2 67 68 Fix a compilation issue that prevented building tests. 69 70 ### Version 0.2.1 71 72 Update the RSys dependency to 0.6: replace the deprecated `[N]CHECK` macros by 73 the new macro `CHK`. 74 75 ### Version 0.2 76 77 Update the `sanim_node_visit_tree` function: the submitted sun direction may be 78 NULL. In this case, the pivot constraints are not resolved during the tree 79 traversal. 80 81 ## License 82 83 Copyright (C) 2018-2026 |Meso|Star> (<contact@meso-star.com>). 84 Copyright (C) 2016, 2017 CNRS. 85 86 Solstice Animation is free software released under the GPL v3+ license: GNU GPL 87 version 3 or later. You are welcome to redistribute it under certain 88 conditions; refer to the COPYING file for details.