[ENHANCEMENT] normalize third-party headers
CMake
use a lot of third parties. And it is possible to use the system provided ones or the CMake
ones.
For that purpose, currently, a wrapper header (or multiple headers), for each third-party, is used but:
- This header is inconsistent with the header provided by the system (for example
cm_json_reader.h
rather thanjson/reader.h
- In the
CMake
sources, it is not obvious to identify what are the third-party headers.
So, I propose the following approach:
- wrapper headers have the same layout as the standard third-party headers
- To distinguish them from the system headers, store them under a root directory used as a prefix for include directives (I propose
tp
as this root directory (short and meaningful)). - In the
CMake
sources, include these headers by using angle brackets rather than quotes.
So to continue with json example:
- Under
Utilities
directory, we have:tp/json/reader.h
- In
CMake
sources, we have#include <tp/json/reader.h>
clang-format
must be updated to create a group for these headers.