Loading CMakeLists.txt +9 −4 Original line number Diff line number Diff line Loading @@ -38,7 +38,8 @@ if(UNIX) set(TARGET_PLATFORM "" CACHE STRING "i686 / x86_64") set(CLANG "" CACHE STRING "1=msan / 2=asan / 3=usan") set(GCC "" CACHE STRING "1=use gcc instead of default (clang)") set(GCOV OFF CACHE BOOL "enable GCOV") set(MSAN_TRACK_ORIGINS OFF CACHE BOOL "enable origin tracking for Clang MSAN") set(COVERAGE OFF CACHE BOOL "enable coverage instrumentation") set(STRIP OFF CACHE BOOL "enable STRIP") if(NOT CMAKE_BUILD_TYPE) Loading @@ -64,7 +65,7 @@ if(UNIX) # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") # set C compiler if(GCC OR GCOV) if(GCC) find_program(cc NAMES gcc-13 gcc REQUIRED) else() find_program(cc NAMES clang-18 clang REQUIRED) Loading @@ -76,6 +77,10 @@ if(UNIX) if("${CLANG}" MATCHES "1" OR "${CLANG}" MATCHES "msan") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=memory") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=memory") if(MSAN_TRACK_ORIGINS) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-memory-track-origins") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize-memory-track-origins") endif() elseif("${CLANG}" MATCHES "2" OR "${CLANG}" MATCHES "asan") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address") Loading @@ -96,8 +101,8 @@ if(UNIX) message(FATAL_ERROR "Unknown CLANG setting: ${CLANG}") endif() endif() # GCOV if(GCOV) # COVERAGE if(COVERAGE) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage -fprofile-update=atomic") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -fprofile-update=atomic") endif() Loading Makefile +10 −7 Original line number Diff line number Diff line Loading @@ -65,11 +65,10 @@ endif CFLAGS += -std=c99 -pedantic -Wcast-qual -Wall -W -Wextra -Wno-long-long \ -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \ -Werror-implicit-function-declaration \ -Wno-implicit-fallthrough -ffp-contract=off -Wno-implicit-fallthrough -ffp-contract=off \ -Winit-self -Wunused-but-set-variable # to be uncommented in CI # CFLAGS += -Werror CFLAGS += -Winit-self CFLAGS += -Wunused-but-set-variable # libs to link LDLIBS += -lm Loading @@ -84,13 +83,17 @@ $(warning clang compiler not found - falling back to cc) endif # Clang sanitizer compiler options ifeq "$(CLANG)" "0" CC = clang endif ifeq "$(CLANG)" "1" CC = clang CFLAGS += -fsanitize=memory LDFLAGS += -fsanitize=memory # can be set in call to make, e.g. "make CLANG=1 MSAN_TRACK_ORIGINS=1" ifeq "$(MSAN_TRACK_ORIGINS)" "1" CFLAGS += -fsanitize-memory-track-origins LDFLAGS += -fsanitize-memory-track-origins endif endif ifeq "$(CLANG)" "2" CC = clang Loading Loading @@ -127,7 +130,7 @@ CFLAGS += -g3 LDFLAGS += -g3 endif ifeq "$(GCOV)" "1" ifeq "$(COVERAGE)" "1" CC = gcc CFLAGS += -fprofile-arcs -ftest-coverage -fprofile-update=atomic LDFLAGS += -fprofile-arcs -ftest-coverage -fprofile-update=atomic Loading Loading
CMakeLists.txt +9 −4 Original line number Diff line number Diff line Loading @@ -38,7 +38,8 @@ if(UNIX) set(TARGET_PLATFORM "" CACHE STRING "i686 / x86_64") set(CLANG "" CACHE STRING "1=msan / 2=asan / 3=usan") set(GCC "" CACHE STRING "1=use gcc instead of default (clang)") set(GCOV OFF CACHE BOOL "enable GCOV") set(MSAN_TRACK_ORIGINS OFF CACHE BOOL "enable origin tracking for Clang MSAN") set(COVERAGE OFF CACHE BOOL "enable coverage instrumentation") set(STRIP OFF CACHE BOOL "enable STRIP") if(NOT CMAKE_BUILD_TYPE) Loading @@ -64,7 +65,7 @@ if(UNIX) # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") # set C compiler if(GCC OR GCOV) if(GCC) find_program(cc NAMES gcc-13 gcc REQUIRED) else() find_program(cc NAMES clang-18 clang REQUIRED) Loading @@ -76,6 +77,10 @@ if(UNIX) if("${CLANG}" MATCHES "1" OR "${CLANG}" MATCHES "msan") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=memory") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=memory") if(MSAN_TRACK_ORIGINS) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-memory-track-origins") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize-memory-track-origins") endif() elseif("${CLANG}" MATCHES "2" OR "${CLANG}" MATCHES "asan") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address") Loading @@ -96,8 +101,8 @@ if(UNIX) message(FATAL_ERROR "Unknown CLANG setting: ${CLANG}") endif() endif() # GCOV if(GCOV) # COVERAGE if(COVERAGE) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage -fprofile-update=atomic") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -fprofile-update=atomic") endif() Loading
Makefile +10 −7 Original line number Diff line number Diff line Loading @@ -65,11 +65,10 @@ endif CFLAGS += -std=c99 -pedantic -Wcast-qual -Wall -W -Wextra -Wno-long-long \ -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \ -Werror-implicit-function-declaration \ -Wno-implicit-fallthrough -ffp-contract=off -Wno-implicit-fallthrough -ffp-contract=off \ -Winit-self -Wunused-but-set-variable # to be uncommented in CI # CFLAGS += -Werror CFLAGS += -Winit-self CFLAGS += -Wunused-but-set-variable # libs to link LDLIBS += -lm Loading @@ -84,13 +83,17 @@ $(warning clang compiler not found - falling back to cc) endif # Clang sanitizer compiler options ifeq "$(CLANG)" "0" CC = clang endif ifeq "$(CLANG)" "1" CC = clang CFLAGS += -fsanitize=memory LDFLAGS += -fsanitize=memory # can be set in call to make, e.g. "make CLANG=1 MSAN_TRACK_ORIGINS=1" ifeq "$(MSAN_TRACK_ORIGINS)" "1" CFLAGS += -fsanitize-memory-track-origins LDFLAGS += -fsanitize-memory-track-origins endif endif ifeq "$(CLANG)" "2" CC = clang Loading Loading @@ -127,7 +130,7 @@ CFLAGS += -g3 LDFLAGS += -g3 endif ifeq "$(GCOV)" "1" ifeq "$(COVERAGE)" "1" CC = gcc CFLAGS += -fprofile-arcs -ftest-coverage -fprofile-update=atomic LDFLAGS += -fprofile-arcs -ftest-coverage -fprofile-update=atomic Loading