New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CMake automate download & build of Assimp code #359
Comments
Postponed to milestone 2.0.0, where we can require a newer version of CMake and will have stopped supporting Ubuntu Trusty. |
Removing from Milestone 2.0.0, since "Trusty" is already removed, at least from the PPA auto builds list. |
Instead of just pulling and working on the latest Assimp release on github, I think it should be more robust to depend on a particular commit/release of the Assimp repo and periodically update that commit ID. This would ensure that nothing breaks in the MRPT compilation process if new non-backwards-compatible code is introduced to Assimp. This can be implemented with Git submodules which are designed for maintaining and tracking 3rd party project dependencies. |
Good point! 👍 I liked GitHub submodules, but after working some time with them in another project, I'm now more inclined to prefer leaving that work to CMake, since we avoid having "anything special" in the "git domain"... thoughts? |
The "anything special" point is indeed true; unfortunately they do require special attention and can easily break stuff especially in cases that one develops both the outer repo and the submodule itself. However, if one follows a basic set of rules, they are invaluable at splitting the work in separate repos. I have actually set up my entire catkin repo for the master thesis on git submodules. Anyway, the CMake solution is pretty neat as well, and also more suitable in this case since MRPT do not hold any other tool as a submodule |
I don't think that is the intent of submodules. Submodules really shouldn't be used to pull in other projects. A submodule should be a way of breaking up a single git repository into smaller pieces(modules), to avoid the issues associated with a large centralized software repository. "What happens is that you do a single commit in each submodule that is |
(still DLLs are in the wrong output dir) cc: #359
* Remove embedded copy of assimp, and use CMake to download it if needed * fix EP assimp build (still DLLs are in the wrong output dir) cc: #359 * fix EP assimp link * correctly removed Eigen3 embedded dir * EP out-of-source dirs * done porting eigen & assimp as EP * Remove embedded version of octomap cc: #574 * Add simpler build instructions to README * fix build of EP in GNU/Linux * Debian pkg: update after removing octomap sources
* Remove embedded copy of assimp, and use CMake to download it if needed * fix EP assimp build (still DLLs are in the wrong output dir) cc: #359 * fix EP assimp link * correctly removed Eigen3 embedded dir * EP out-of-source dirs * done porting eigen & assimp as EP * Remove embedded version of octomap cc: #574 * Add simpler build instructions to README * fix build of EP in GNU/Linux * Debian pkg: update after removing octomap sources
* Remove embedded copy of assimp, and use CMake to download it if needed * fix EP assimp build (still DLLs are in the wrong output dir) cc: #359 * fix EP assimp link * correctly removed Eigen3 embedded dir * EP out-of-source dirs * done porting eigen & assimp as EP * Remove embedded version of octomap cc: #574 * Add simpler build instructions to README * fix build of EP in GNU/Linux * Debian pkg: update after removing octomap sources
Sorry, accidentally referenced this issue. |
TO-DO (in a separate branch until stable):
otherlibs/assimp
subdirectory from these commits:The text was updated successfully, but these errors were encountered: