Converting exemplar to a CMake INTERFACE-type library

Takeaways on this topic from today’s weekly sync:

  • We should adopt what beman.optional does currently and declare the named header set in the top-level CMakeLists.txt while populating it in include/beman/exemplar/CMakeLists.txt
  • It’s okay to unconditionally move the lines find_package(beman-install-library REQUIRED) and beman_install_library(beman.exemplar) from src/beman/exemplar/CMakeLists.txt into the top-level CMakeLists.txt regardless of whether or not we’re building an INTERFACE vs a STATIC/SHARED library
  • The location of the beman.exemplar-config.cmake.in file (in the draft, tentatively moved from src/beman/exemplar into the top level directory) requires more discussion

@vito.gamberini, what are your thoughts on the last bullet item above?

1 Like