LINUX.ORG.RU

История изменений

Исправление m0rph, (текущая версия) :

Ибавиться нормально не получится. Я для себя сделал такой костыль: cmake вычисляет длину пути до директории с исходниками и дефайнит ее:

string(LENGTH ${CMAKE_SOURCE_DIR}/src/ SOURCE_PREFIX_LENGTH)
add_definitions(-DSOURCE_PREFIX_LENGTH=${SOURCE_PREFIX_LENGTH})
Потом в коде логгера есть нечто такое (код упростил):
#ifndef SOURCE_PREFIX_LENGTH
#warning SOURCE_PREFIX_LENGTH is not defined, forcing to 0
#define SOURCE_PREFIX_LENGTH	0
#endif

#define trace(message) log((__FILE__ + SOURCE_PREFIX_LENGTH), __LINE__, message)

Исходная версия m0rph, :

Ибавиться нормально не получится. Я для себя сделал такой костыль: cmake вычисляет длину пути до директории сборки и дефайнит ее:

string(LENGTH ${CMAKE_SOURCE_DIR}/src/ SOURCE_PREFIX_LENGTH)
add_definitions(-DSOURCE_PREFIX_LENGTH=${SOURCE_PREFIX_LENGTH})
Потом в коде логгера есть нечто такое (код упростил):
#ifndef SOURCE_PREFIX_LENGTH
#warning SOURCE_PREFIX_LENGTH is not defined, forcing to 0
#define SOURCE_PREFIX_LENGTH	0
#endif

#define trace(message) log((__FILE__ + SOURCE_PREFIX_LENGTH), __LINE__, message)