-
Notifications
You must be signed in to change notification settings - Fork 18
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
usage of mark_as_superbuild
#70
Labels
Comments
Merged
KrisThielemans
added a commit
that referenced
this issue
Oct 7, 2018
Use `ALL_PROJECTS` as opposed to `PROJECTS ALL_PROJECTS`. This seems to have the same effect though. See #70.
Wrong usage in |
paskino
pushed a commit
that referenced
this issue
Oct 23, 2018
* Remove setting of FFTW3_ROOT_DIR CMake variable Remove as it's ignored (see #147). Note that it was wrongly spelled in External_Gadgetron.cmake * pass SWIG_EXECUTABLE to all projects * correct use of mark_as_superbuild Use `ALL_PROJECTS` as opposed to `PROJECTS ALL_PROJECTS`. This seems to have the same effect though. See #70. * small corrections to FindACE.cmake - Don't set ACE_DIR with makr_as_superbuild. Should have been ACE_ROOT, but it isn't used anyway - correct variable names * some clean-up of Armadillo extra comments and remove mark_as_superbuild as not used. * correct setting of SWIG variables, adding SWIG_EXECUTABLE to the cache This also allows people to change the executable if they want. * correct diagnostics when using system ACE
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I don't think we use this properly.
SuperBuild.cmake
should add some variables to all subprojectsIndeed, it tries to do this (could do it for more of them I think). However, it says
I think this has to be
No idea why it would work now... but I think it does as I put it in :-)
All the external projects use it to pass CMake variables on
code is
This has 2 problems as far as I can see:
*_DIR
variable (many do not, e.g.GTEST_ROOT
).mark_as_superbuild
adds this variable then only to the top-level project, which in our case isCCPPETMR
, but not to the projects where they are actually needed.The 2nd item seems to imply these lines are currently effectively ignored. Hence the need for us to specify all the variables by hand again.
I wonder if we should use
ALL_PROJECTS
here as well, although then we're going to add variables where we actually don't need/use them. A better way would be to know to which projects we need to add them, but then we introduce dependencies on "downstream" projects, which seems a bad idea.Probably a better solution is to forget about
mark_as_superbuild
in the sub-projects, and to introduce a variable with all CMake args that need to be set if someone wants to use this project (but that seems exactly whatmark_as_superbuild
seems to aim to provide).Summary
I'm confused...
Here's an old-ish post with some info. It refers to old Slicer stuff, but here's a recent link. Note that this also has some interesting stuff with
unset
andExternalProject_SetIfNotDefined
which might be relevant to #51.The text was updated successfully, but these errors were encountered: