Skip to content

Draft: T: don't use execute_process, integrate in cmake

Robert Schmidt requested to merge t-no-execute-process into develop

This work is part of the MR on ctest, !1932 (merged), but now extended:

  • integrate T code in cmake
  • this has the effect that generated files (T_IDs.h, _check_vcd) are created inside the build directory (<build-dir>/common/utils/T instead of the source directory (common/utils/T)
  • fix build problems with T_TRACER=OFF, and disable it in the clang build pipeline
  • don't build T sources multiple times, but define one single target that is linked into the others: before, there would be ${T_SOURCE} as part of all targets, rebuilding these files; now there is a single target T that you can also build independently
  • Makefiles in common/utils/T are preserved

one motivation was that I had the impression that re-running cmake, the execute_process() in CMakeLists.txt would make all targets out-of-date, so after running cmake, we would need to rebuild everything. This still seems to be the case, but nevertheless, there is now cleaner integration with CMake. Maybe we can also fix that.

What about integrating all T executables (e.g., macpdu2wireshark) into cmake? Edit: works, and is supported in parallel to existing Makefile tooling. The CI will use cmake, though

Edited by Robert Schmidt

Merge request reports