Open PeterBowman opened 5 years ago
Regarding required DL libraries on Windows & SDL2, check the following on all SDL2 subprojects:
As of SDL_image 1.2.5, JPEG, PNG, TIFF, and WEBP image loading libraries are dynamically loaded, so if you don't need to load those formats, you don't need to include those shared libraries. libpng depends on libz, and libtiff depends on both libz and libjpeg.
From https://www.libsdl.org/projects/SDL_image/. If we don't need some of these DLs, just don't care about them being missing from the bundled .zip/installer.
If we don't need some of these DLs, just don't care about them being missing from the bundled .zip/installer.
Done at https://github.com/asrob-uc3m/robotDevastation/commit/142ac3a1039fed22a7a010b9ec9cc542ae9024e9: libpng16-16.dll from SDL_image and libmpg123-0.dll from SDL_mixer.
YARP plugins are going to be more troublesome since all plugin manifests must be installed alongside RD's binaries and resources:
Release
/Debug
subdirectories.asrob-yarp-devices.ini
reflects a non-relocatable installation path which should be modified by NSIS custom scripts: NSISAdvancedTips, SO, yarp_core_package.nsi.BTW googletest 1.8.0 keeps installing headers and static libraries (https://github.com/roboticslab-uc3m/questions-and-answers/issues/41#issuecomment-484919930). It's easily solved by using googletest 1.8.1, but CMake warns about undefined variables. Perhaps GTestSources.cmake should inspect the parent folder? In that case, set both BUILD_GMOCK
and INSTALL_GTEST
to OFF
(ref).
BTW googletest 1.8.0 keeps installing headers and static libraries (roboticslab-uc3m/questions-and-answers#41 (comment)). It's easily solved by using googletest 1.8.1, but CMake warns about undefined variables. Perhaps GTestSources.cmake should inspect the parent folder? In that case, set both
BUILD_GMOCK
andINSTALL_GTEST
toOFF
(ref).
Done at https://github.com/asrob-uc3m/robotDevastation/commit/198deb61bcc5962a5ba75bc0a880a6964572c34e.
See https://github.com/asrob-uc3m/robotDevastation/issues/112 (packaging user/developer manuals).
Note to self: wire package version in project()
with CPack. See https://cmake.org/cmake/help/latest/release/3.12.html#cpack and https://github.com/roboticslab-uc3m/amor-api/commit/8858c0d43959f6e148203e3d6cdd669d8cb4eeaa.
Moar links 'n' stuff:
Also, check CMake 3.5+ releases as I'm aware that CPack support has been improved at some point.
Since Travis and AppVeyor will most certainly go into oblivion, check how YCM manages releases in the GH Actions framework: release.yml.
Currently WIP at the cpack branch. Main issue ATM: bundle plugins (DL libraries) that cannot be detected with ldd or similar. Check the BundleUtilities module and roboticslab-uc3m/amor-api/cmake/templates/bundle_example_app.cmake.in (private repo).