SOFA binaries
Prepare the sources
- Update SOFA version in CMakeLists.txt
cmake # Manually define VERSION set(Sofa_VERSION_MAJOR <new release major version>) set(Sofa_VERSION_MINOR <new release minor version>) set(Sofa_VERSION_PATCH <new release patch version>)
- Update External Projects versions
For each ExternalProject.cmake.in file in the sources, edit the lineGIT_TAG origin/<branch of the new release>
- Set the CMake variables
cmake SOFA_BUILD_RELEASE_PACKAGE=ON CPACK_GENERATOR=ZIP CPACK_BINARY_ZIP=ON
- If you want to generate an installer:
- Install the latest Qt Installer Framework (Qt IFW)
- Set the CMake variables
- [MacOS] Set CMake variable for OSX compatibility version:
CMAKE_OSX_DEPLOYMENT_TARGET=10.15
- [MacOS] If you want to generate a bundle (.app), set the CMake variables:
cmake CPACK_GENERATOR=ZIP;DragNDrop CPACK_BINARY_ZIP=ON CPACK_BINARY_DRAGNDROP=ON
Generate the binaries
- Configure + Generate + Build
- Install:
make install
orninja install
- Make sure that
linux-postinstall-fixup.sh
orwindows-postinstall-fixup.sh
ormacos-postinstall-fixup.sh
was triggered and its output is OK - Your binaries should be in your build directory
Plugin binaries
Troubleshooting
- To show how Qt plugins are loaded and used:
export QT_DEBUG_PLUGINS=1
- [Linux][MacOS] To fix library dependency resolution:
export LD_LIBRARY_PATH=/path/to/sofa/bin:/path/to/sofa/lib:$LD_LIBRARY_PATH
- [MacOS] To show when dylibs are loaded:
export DYLD_PRINT_LIBRARIES=1
Publishing a SOFA release
Once the binaries are generated:
Last modified: 2 February 2022