summaryrefslogtreecommitdiffstats
path: root/02_exercise/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to '02_exercise/CMakeLists.txt')
-rw-r--r--02_exercise/CMakeLists.txt35
1 files changed, 6 insertions, 29 deletions
diff --git a/02_exercise/CMakeLists.txt b/02_exercise/CMakeLists.txt
index ca67d1a..9cae089 100644
--- a/02_exercise/CMakeLists.txt
+++ b/02_exercise/CMakeLists.txt
@@ -6,9 +6,13 @@ set(CMAKE_C_COMPILER gcc)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED True)
+find_package(Sanitizers)
+
add_executable(prog prog.c)
add_executable(shell shell.c)
target_link_libraries(shell PRIVATE array prompt_utils process)
+
+add_sanitizers(shell)
add_compile_definitions(_GNU_SOURCE)
add_library(array array.c)
@@ -25,33 +29,6 @@ target_link_libraries(process PRIVATE array)
add_executable(process_test process_test.c)
target_link_libraries(process_test PRIVATE process)
-
-
-set(CLANG_WARNINGS
- -Wall
- -Wextra # reasonable and standard
- -Wshadow # warn the user if a variable declaration shadows one from a
- # parent context
- -Wcast-align # warn for potential performance problem casts
- -Wunused # warn on anything being unused
- -Wpedantic # warn if non-standard C++ is used
- -Wconversion # warn on type conversions that may lose data
- -Wsign-conversion # warn on sign conversions
- -Wnull-dereference # warn if a null dereference is detected
- -Wdouble-promotion # warn if float is implicit promoted to double
- -Wformat=2 # warn on security issues around functions that format output
- # (ie printf)
- -Werror
- )
-set(GCC_WARNINGS
- ${CLANG_WARNINGS}
- -Wmisleading-indentation # warn if indentation implies blocks where blocks
- # do not exist
- -Wduplicated-cond # warn if if / else chain has duplicated conditions
- -Wduplicated-branches # warn if if / else branches have duplicated code
- -Wlogical-op # warn about logical operations being used where bitwise were
- # probably wanted
- )
-set(PROJECT_WARNINGS ${GCC_WARNINGS})
target_compile_options(shell INTERFACE ${PROJECT_WARNINGS})
-target_compile_options(prompt_utils INTERFACE ${PROJECT_WARNINGS}) \ No newline at end of file
+target_compile_options(prompt_utils INTERFACE ${PROJECT_WARNINGS})
+target_compile_options(process INTERFACE ${PROJECT_WARNINGS})