IntelligentSoftwareSystems/Galois

`app` and `dist_app` in CMake

Closed this issue · 2 comments

Just curious, not really issues:

  1. Why is app now only used in lonestar/tutorial_examples but its expansion in other applications?
  2. Why does app_dist not support customized sources, i.e. add_executable(${name} ${CPPSOURCES}) rather than add_executable(${name} ${CPPSOURCES} ${X_UNPARSED_ARGUMENTS}), while app does?

I assume these two functions should have a similar usage/interface.

The main reason app isn't used as much now is that we're trying to make all the applications good examples of how to use Galois even when you're not within the Galois source tree. Basically the only thing that's absolutely necessary to build out of the source tree is to have a find_package(Galois) at the top of the CMakeLists.txt for each app. Not having it there also improves clarity for people familiar with CMake but unfamiliar with our specific build system. All that said, it doesn't make a huge difference one way or another. It's not hard to look up what the function does if we do use it, but it doesn't save much code either. What we don't want though is people just using the function as a black box and not knowing how to use Galois outside of its own source tree.

I don't know about app_dist. We're trying to get rid of app entirely though, so I'm not sure we should worry about making the two interfaces match.

That makes sense. Thank you!