-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Optionally keep external source in build directory #2118
Optionally keep external source in build directory #2118
Conversation
@mwoehlke-kitware, I tried this in Windows. First I deleted my drake-distro/externals directory, then I built using an out-of-source build directory. Most of the externals did go into the build directory as expected. However, a new drake-distro/externals directory got created with some cruft. For example, here is drake-distro/externals/eigen: The list of polluters was: bot_core_lcmtypes, bullet, eigen, googletest, gtk, lcm, spotless, swigmake, and yaml_cpp. Is this the behavior you are expecting? |
@sherm1; sanity check, did you turn on |
Something is fishy... I just tried on my Windows machine, and I don't even get an |
Add an option (only available in non-PODS configuration) to keep the sources for external projects in the build directory, rather than the source directory. This ensures that it is always possible to have multiple build trees for a single (drake) source tree, at the expense of added inconvenience and disk usage (because the sources for external projects are duplicated).
b9f1861
to
02038a2
Compare
Oops; had copy/paste errors in some variable names. Should be fixed now. (Build on my Windows machine is in progress¹, but seems okay so far, and sources are in the expected location.) Don't forget to turn on (¹ |
@mwoehlke-kitware -- sorry I missed
|
Also, it did create drake-distro/externals in my source directory, with the same set of subdirectories, but now those subdirectories are all empty. |
Oh. Oh, lovely. It took a while to track down what's even trying to compile this. Turns out it is I'm... just going to refrain from comment on that... (¹ Unless
I went back and did a VS build, and did see this... but after deleting it, nothing is recreating it. I also can't figure out what is creating it in the first place. |
(Adding "do not review" and "do not merge" to take the place of "waiting for code update" that got nixed a couple weeks ago.) |
@mwoehlke-kitware Does this PR still make sense? I wonder if #2487 has superseded it, perhaps? |
|
Add an option (only available in non-PODS configuration¹) to keep the sources for external projects in the build directory, rather than the source directory. This ensures that it is always possible to have multiple build trees for a single (drake) source tree, at the expense of added inconvenience and disk usage (because the sources for external projects are duplicated).
(¹ i.e. running CMake directly rather than using the root
Makefile
.)Note: This is OFF by default. CI will only test that adding the option didn't break anything.
This should fix #1859 and possibly #2094 (when using the option), though I'm on the fence if I want to close the issue(s) when this lands. I think we should still strive to fix individual packages that "pollute" the source tree when not using this option.
This change is