roboticslab-uc3m / questions-and-answers

A place for general debate and question&answer
https://robots.uc3m.es/developer-manual/appendix/repository-index.html
2 stars 0 forks source link

YCM 0.10 upgrade path #78

Closed PeterBowman closed 5 years ago

PeterBowman commented 5 years ago

Currently in devel branch (release notes):

PeterBowman commented 5 years ago
* I suspect this may break once YCM 0.10 is merged into master. The `CONFIGURE_SOURCE_DIR` might need to be replaced with `SOURCE_DIR`, not sure though.

It does break, indeed. The upstream CMake option should read SOURCE_SUBDIR. Reported at https://github.com/robotology/ycm/issues/210.

PeterBowman commented 5 years ago

It does break, indeed.

My bad, got fooled by the way CMake treats local and cached variables. See https://github.com/robotology/ycm/issues/210#issuecomment-470091529 for context.

PeterBowman commented 5 years ago

The ExternalProject module from CMake master was locally updated into cmake-next/proposed [...]

TODO: replace deprecated option (needs YCM 0.10) and apply workaround given at https://github.com/robotology/ycm/issues/212 (can/should? be done now).

PeterBowman commented 5 years ago

The ExternalProject module from CMake master was locally updated into cmake-next/proposed, allegedly most customizations had been removed. We use the CONFIGURE_SOURCE_DIR option

TODO: replace deprecated option (needs YCM 0.10) and apply workaround given at robotology/ycm#212 (can/should? be done now).

No hurry, our current code will work fine thanks to the upstream workaround. This bullet boils down to replacing the will-be-deprecated option to ycm_ep_helper().

PeterBowman commented 5 years ago

YCM v0.10 is out! https://github.com/robotology/ycm/releases/tag/v0.10.0

PeterBowman commented 5 years ago

YCM v0.10.1 was released today. We might have found another issue: https://github.com/robotology/ycm/issues/244.

PeterBowman commented 5 years ago

We might have found another issue: robotology/ycm#244.

Fixed in current YCM master branch, scheduled for v0.10.2. This has fixed our superbuild Travis jobs, too.

PeterBowman commented 5 years ago

The FetchContent module from CMake 3.11 will be imported via cmake-next. We might want to fetch googletest on configure time (already moved from embedded copy to apt package or on-system installation), see #41 (comment).

I can't think of a good solution, see https://github.com/roboticslab-uc3m/questions-and-answers/issues/41#issuecomment-484919930. The FetchContent way is kinda close to YCM superbuilds, which I wanted to avoid. On the other hand, it gives total control of the googletest version requested, but we'd like to look for it on system first (the YCM-way) and fall back to the download step - this option involves a custom FindGTestSources script, again.

Nothing more to do here, closing.

PeterBowman commented 4 years ago

Drop install-related lines in superbuild-repos (ref): robotology/ycm#235 (experimental?).

Will be made relocatable, see https://github.com/robotology/ycm/pull/289.

PeterBowman commented 8 months ago

The GIT_SHALLOW and GIT_PROGRESS were actually ignored since ycm_ep_helper never forwarded them to ExternalProject_Add. Support has been recently added for a SHALLOW option (https://github.com/robotology/ycm/pull/440), I'm going to use this instead.

traversaro commented 8 months ago

@PeterBowman if you need more arguments to be forwarded to ExternalProject feel free to suggest them!