]> gitweb.hhaalo.de Git - discspan.git/commitdiff
change build default debug with address sanitizer
authorBastian Dehn <hhaalo@arcor.de>
Sun, 31 Aug 2025 06:57:32 +0000 (08:57 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 31 Aug 2025 06:57:32 +0000 (08:57 +0200)
CMakeLists.txt
libs/spandisc/CMakeLists.txt
libs/spandisc/src/logic.c

index ec0a4a5549c7556cf8056acb277cd7e8bfca94e5..2c306cdea694a7993d7e2e6360e136344dbf9a52 100644 (file)
@@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.13.4)
 
 set(CMAKE_SYSTEM_NAME "Linux" CACHE STRING "Build for Linux")
 
+set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build Type [Debug|Release]")
+message(STATUS "CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
+
 message(STATUS "CMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}")
 
 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
@@ -12,8 +15,13 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
        set(CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++" CACHE STRING "C++ Compiler")
 endif()
 
-set(CMAKE_C_FLAGS "-Wall")
-set(CMAKE_CXX_FLAGS "-Wall")
+if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
+       set(CMAKE_C_FLAGS "-Wall -g -fsanitize=address")
+       set(CMAKE_CXX_FLAGS "-Wall -g -fsanitize=address")
+else()
+       set(CMAKE_C_FLAGS "-Werror")
+       set(CMAKE_CXX_FLAGS "-Werror")
+endif()
 
 project(discspan)
 
index 038e6eb1c0b287a5efd8b017e628b7dd51523a47..7b162429f5071e931c006052452bc21bf875190e 100644 (file)
@@ -1,19 +1,5 @@
 cmake_minimum_required(VERSION 3.13.4)
 
-set(CMAKE_SYSTEM_NAME "Linux" CACHE STRING "Build for Linux")
-message(STATUS "CMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}")
-
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-       set(CMAKE_C_COMPILER "gcc" CACHE STRING "C Compiler")
-       set(CMAKE_CXX_COMPILER "g++" CACHE STRING "C++ Compiler")
-elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
-       set(CMAKE_C_COMPILER "x86_64-w64-mingw32-gcc" CACHE STRING "C Compiler")
-       set(CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++" CACHE STRING "C++ Comiler")
-endif()
-
-set(CMAKE_C_FLAGS "-Wall")
-set(CMAKE_CXX_FLAGS "-Wall")
-
 project(spandisc)
 
 set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Install prefix")
index 2fc531ecac7853636cd3ba235fbb780f90b095ea..5e0014eb4df5a352425fc7debc2cf0b774b3cac7 100644 (file)
@@ -8,6 +8,8 @@
 #include "splitter.h"
 #include "filehandler.h"
 
+#define NUM_LEN 5
+
 status_print_t status_print = NULL;
 
 const char * get_version()
@@ -29,7 +31,7 @@ void span(const char *input, const char *output, unsigned long long split)
        collection_t* col = init_collection();
        split_all(&srcdata, col);
 
-       char outname[strlen(output) + 4];
+       char* outname = malloc(sizeof(char) * (strlen(output) + NUM_LEN));
        for (int i = 0; i < col->length; i++) {
                sprintf(outname, "%s%04d", output, col->disc[i].nr);
                on_status_print(outname, col->disc[i]);
@@ -38,4 +40,7 @@ void span(const char *input, const char *output, unsigned long long split)
 
        free_collection(col);
        col = NULL;
+
+       free(outname);
+       outname = NULL;
 }