The meaning of using quotes to #include is implementation defined, so it
may or not may be what we want. At least POSIX
(https://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html)
says: "headers whose names are enclosed in double-quotes ( "" ) shall be
searched for first in the directory of the file with the #include line",
so not what we want since "spdlog" ends up twice in the path.
Paths pointing to the root of the library where replaced for ones relatives to each file.
For example, inside /include/spdlog/details/file_helper.h:
This will look for os.h in /include/spdlog/details/spdlog/details/ which doesn't exists.
replaced with:
When building with GCC's -Wfinal-types, a lot of types of spdlog
are marked as being more optimizable if they were marked final.
This patch adds a possibility for the user of the library to `#define SPDLOG_FINAL final`
and enjoy potentially better performance : GCC is then able to replace virtual calls by true
function calls if it can ensure that there are no derived types).
By default SPDLOG_FINAL is defined to nothing to not break existing code that
may be inheriting of some of these types for some reason.