Allow for command-line specification of a targetted build
What
This MR adds a few build configuration variables that allow one to enable more targeted builds.
Currently there are a few build configuration variables in src/CMakeLists.txt that define which libraries to build: YARR_FRONT_ENDS_TO_BUILD
and YARR_CONTROLLERS_TO_BUILD
. This MR provides an additional variable SELECT_LIBS
, which is used to slim each of the YARR_*_TO_BUILD
lists in an easier fashion.
For example, if our system is an Rd53a
test stand relying on the Spec
-type PCIe cards, this MR allows one configure their build as follows:
$ cmake3 -DSELECT_LIBS="Rd53a|Spec" ..
... # cut
Controllers to build:
- Spec
FrontEnds to build:
- Rd53a
... # cut
This is simpler than typing out,
$ cmake3 -DYARR_CONTROLLERS_TO_BUILD="Spec" -DYARR_FRONT_ENDS_TO_BUILD="Rd53a" ..
Additionally, this MR adds the SELECT_TOOLS
configuration variable which will allow a user to easily trim down the list of built executables and therefore further reduce their compilation time. Much of the time a user only really needs to run scans and does not need to build all of the other unrelated tools. With the changes introduced in this MR, one can do:
$ cmake3 -DSELECT_TOOLS="scanConsole" ..
... # cut
Executeables to build:
- /home/YARR/src/tools/scanConsole.cpp
... # cut