diff options
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | Makefile | 8 | ||||
| -rw-r--r-- | src/CMakeLists.txt | 4 | 
3 files changed, 12 insertions, 2 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a6f304..a4ebe92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,5 +21,5 @@ add_subdirectory(test testdir)  if(NOT CMAKE_BUILD_TYPE)    set(CMAKE_BUILD_TYPE "Release" CACHE STRING -  "Choose the type of build, options are: Debug Profile Release." FORCE) +  "Choose the type of build, options are: Debug Profile Release Asan Ubsan." FORCE)  endif(NOT CMAKE_BUILD_TYPE) @@ -19,7 +19,7 @@ VERSION?=$(SPECVERSION)  RELEASE?=CommonMark-$(VERSION)  INSTALL_PREFIX?=/usr/local -.PHONY: all cmake_build spec leakcheck clean fuzztest dingus upload test update-site upload-site debug asan mingw archive bench astyle update-spec afl +.PHONY: all cmake_build spec leakcheck clean fuzztest dingus upload test update-site upload-site debug ubsan asan mingw archive bench astyle update-spec afl  all: cmake_build man/man3/cmark.3 @@ -47,6 +47,12 @@ debug:  	cmake .. -DCMAKE_BUILD_TYPE=Debug; \  	make +ubsan: +	mkdir -p $(BUILDDIR); \ +	cd $(BUILDDIR); \ +	cmake .. -DCMAKE_BUILD_TYPE=Ubsan; \ +	make +  asan:  	mkdir -p $(BUILDDIR); \  	cd $(BUILDDIR); \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ba3e18e..f27186e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -164,3 +164,7 @@ endif()  if($ENV{TIMER})    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTIMER=1")  endif($ENV{TIMER}) + +if(CMAKE_BUILD_TYPE STREQUAL "Ubsan") +  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=undefined") +endif()
\ No newline at end of file | 
