From 011b9f4c14d90aee1641bce0097f9ad1cf72cc99 Mon Sep 17 00:00:00 2001 From: Tobias Reisinger Date: Sun, 27 Sep 2020 00:05:48 +0200 Subject: [PATCH] Fix cmake to not break gdb --- CMakeLists.txt | 12 +++++++++--- include/logger.h | 16 ++++++++-------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a34ecd..0ea6ad6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,8 @@ target_link_libraries(core -lsqlite3) target_link_libraries(core -luuid) set(CMAKE_C_FLAGS "$ENV{CFLAGS}") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -std=gnu99 -Wpedantic -Werror -Wall -Wextra -ffile-prefix-map=${CMAKE_SOURCE_DIR}/src/=") +set(CMAKE_C_FLAGS "-D'__FILENAME__=\"$(subst $(realpath ${CMAKE_SOURCE_DIR}/src/)/,,$(abspath $<))\"'") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -std=gnu99 -Wpedantic -Werror -Wall -Wextra") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -fprofile-arcs -ftest-coverage") @@ -58,16 +59,21 @@ add_custom_target(docs IF(CMAKE_BUILD_TYPE MATCHES Debug) message("debug mode") add_custom_target(debug + COMMAND gdb ./core + DEPENDS core + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + ) + add_custom_target(valgrind COMMAND valgrind -s ./core start DEPENDS core WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) - add_custom_target(debug-leak + add_custom_target(valgrind-leak COMMAND valgrind --leak-check=full --show-leak-kinds=all ./core start DEPENDS core WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) - add_custom_target(debug-callgrind + add_custom_target(valgrind-callgrind COMMAND valgrind --tool=callgrind ./core start DEPENDS core WORKING_DIRECTORY ${CMAKE_BINARY_DIR} diff --git a/include/logger.h b/include/logger.h index 20c30e0..02e28e6 100644 --- a/include/logger.h +++ b/include/logger.h @@ -13,13 +13,13 @@ void logger_log(int level, const char *filename, int line, const char *func, const char *msg, ...); -#define LOGGER_NONE(...) logger_log(LOG_NONE , __FILE__, __LINE__, __func__, ##__VA_ARGS__) -#define LOGGER_DEBUG(...) logger_log(LOG_DEBUG , __FILE__, __LINE__, __func__, ##__VA_ARGS__) -#define LOGGER_INFO(...) logger_log(LOG_INFO , __FILE__, __LINE__, __func__, ##__VA_ARGS__) -#define LOGGER_NOTICE(...) logger_log(LOG_NOTICE , __FILE__, __LINE__, __func__, ##__VA_ARGS__) -#define LOGGER_WARNING(...) logger_log(LOG_WARNING, __FILE__, __LINE__, __func__, ##__VA_ARGS__) -#define LOGGER_ERR(...) logger_log(LOG_ERR , __FILE__, __LINE__, __func__, ##__VA_ARGS__) -#define LOGGER_CRIT(...) logger_log(LOG_CRIT , __FILE__, __LINE__, __func__, ##__VA_ARGS__) -#define LOGGER_EMERG(...) logger_log(LOG_EMERG , __FILE__, __LINE__, __func__, ##__VA_ARGS__) +#define LOGGER_NONE(...) logger_log(LOG_NONE , __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) +#define LOGGER_DEBUG(...) logger_log(LOG_DEBUG , __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) +#define LOGGER_INFO(...) logger_log(LOG_INFO , __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) +#define LOGGER_NOTICE(...) logger_log(LOG_NOTICE , __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) +#define LOGGER_WARNING(...) logger_log(LOG_WARNING, __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) +#define LOGGER_ERR(...) logger_log(LOG_ERR , __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) +#define LOGGER_CRIT(...) logger_log(LOG_CRIT , __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) +#define LOGGER_EMERG(...) logger_log(LOG_EMERG , __FILENAME__, __LINE__, __func__, ##__VA_ARGS__) #endif //EMGAUWA_LOGGER_H