Skip to content

Not all required xDAQ components are requested by CMakeLists.txt

Summary

The build system doesn't check for all the required xDAQ components because they're not listed in the find_package(xDAQ) command. The following entries are missing: asyncresolv logxmlappender mimetic peer.

Steps to reproduce

Try to build on a system without the corresponding packages.

What is the expected correct behavior?

Missing packages are detected at configure time and a nice error message is printed.

Relevant logs and/or screenshots

Seen in https://gitlab.cern.ch/lmoureau/cmsgemos/-/jobs/8153137

 CMake Error at cmake/CMSGEMOSFunctions.cmake:44 (add_library):
  Target "gemutils" links to target "xDAQ::asyncresolv" but the target was
  not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gemutils/CMakeLists.txt:1 (cmsgemos_add_module)
CMake Error at cmake/CMSGEMOSFunctions.cmake:44 (add_library):
  Target "gemutils" links to target "xDAQ::logxmlappender" but the target was
  not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gemutils/CMakeLists.txt:1 (cmsgemos_add_module)
...on and on with all the libraries listed above... 

Environment

  • Version used: develop + !12 (merged) + !13 (merged) + fixes towards working CI build
  • Operation System: centos:7 Docker image