Reorganize header files with cmake/preprocessor defines

Basis for the discussion: 741eeb38 (src: Drop pointless CMAKE_CURRENT_SOURCE_DIR for log4tango files, 2025-12-05)

We have a bit of a mess in the include files with constants and friends:

  • common/log4tango/config.h.in: #cmakedefine from previous log4tango library
  • common/git_revision.h: git version information
  • common/tango_versions.h.in: version information plus #cmakedefine from libtango
  • server/tango_config.h: Preprocessor defines

And I would like to cleanup that up (post the splitting code effort but before the 10.3.0 release).

Here is my proposal:

  • common/defines.h.in: #cmakedefine (libtango and log4tango) and preprocessor defines
  • common/version.h: version information plus git version information

It is intentional that I dropped the tango_ prefix in the filenames and also that the old names don't match the new names. If someone included the old files directly she would now get a compile error for a missing include instead of things not working. I also lifted the distinction between preprocessor defines and #cmakedefine ones. The user doesn't care about that, and it is also confusing to have to know about it.

@dlacoste-esrf @bourtemb @thomasives Thoughts?

EDIT: And the new header files would also live in common where they belong.

Edited by Thomas Braun