@@ -21,26 +21,36 @@ project(mapcode_cpp)
2121# export ASAN_OPTIONS=debug=true:strict_string_checks=1:detect_stack_use_after_return=true:detect_invalid_pointer_pairs=99999:
2222# detect_container_overflow=true:detect_odr_violation=2:check_initialization_order=true
2323#
24- # Compiler directives:
24+ # Compiler directives, only for internal use :
2525#
26- # NO_SUPPORT_ALPHABETS - Drop alphabet support.
27- # NO_POSIX_THREADS - No multi-threaded unit testing - only effective for unit test.
28- # NO_FAST_ENCODE - Drop fast encoding support - only for internal use.
26+ # NO_POSIX_THREADS - No multi-threaded unit testing.
27+ # NO_FAST_ENCODE - Drop fast encoding support.
2928
3029set (MAPCODE_OPTIONS "" )
30+ set (MAPCODE_WARNING_OPTIONS "-Wall -Werror" )
31+ set (MAPCODE_ADDRESS_SANITIZER_COMPILER_OPTIONS "-fsanitize=address -fno-common -fno-optimize-sibling-calls -fno-omit-frame-pointer" )
32+ set (MAPCODE_ADDRESS_SANITIZER_LINKER_OPTIONS "-fsanitize=address" )
3133
32- set (CMAKE_C_FLAGS_DEBUG "${MAPCODE_OPTIONS} -O0 -g -DDEBUG -Wall -Werror -fsanitize=address -fno-common -fno-optimize-sibling-calls -fno-omit-frame-pointer " )
33- set (CMAKE_C_FLAGS_RELWITHDEBINFO "${MAPCODE_OPTIONS} -O2 -g -DDEBUG" )
34- set (CMAKE_C_FLAGS_RELEASE "${MAPCODE_OPTIONS} -O3 -DNDEBUG" )
34+ set (CMAKE_C_FLAGS_DEBUG "${MAPCODE_OPTIONS} ${MAPCODE_WARNING_OPTIONS} ${MAPCODE_ADDRESS_SANITIZER_COMPILER_OPTIONS} -O0 -g -DDEBUG" )
35+ set (CMAKE_C_FLAGS_RELWITHDEBINFO "${MAPCODE_OPTIONS} ${MAPCODE_WARNING_OPTIONS} -O2 -g -DDEBUG" )
36+ set (CMAKE_C_FLAGS_RELEASE "${MAPCODE_OPTIONS} ${MAPCODE_WARNING_OPTIONS} -O3 -DNDEBUG" )
3537
36- set (CMAKE_CXX_FLAGS_DEBUG "-O0 -g -DDEBUG -std=c++11" )
37- set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DDEBUG -std=c++11" )
38- set (CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -std=c++11" )
38+ set (CMAKE_CXX_FLAGS_DEBUG "${MAPCODE_OPTIONS} ${MAPCODE_WARNING_OPTIONS} -O0 -g -DDEBUG -std=c++11" )
39+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${MAPCODE_OPTIONS} ${MAPCODE_WARNING_OPTIONS} -O2 -g -DDEBUG -std=c++11" )
40+ set (CMAKE_CXX_FLAGS_RELEASE "${MAPCODE_OPTIONS} ${MAPCODE_WARNING_OPTIONS} -O3 -DNDEBUG -std=c++11" )
3941
40- set (CMAKE_EXE_LINKER_FLAGS_DEBUG "-fsanitize=address " )
42+ set (CMAKE_EXE_LINKER_FLAGS_DEBUG "${MAPCODE_ADDRESS_SANITIZER_LINKER_OPTIONS} " )
4143set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" )
4244set (CMAKE_EXE_LINKER_FLAGS_RELEASE "" )
4345
46+ set (SOURCE_DOC_FILES
47+ README.md
48+ utility/README.md
49+ unittest/README.md
50+ docs/logo_CLion.png
51+ docs/mapcode_library_c.docx
52+ docs/mapcode_library_c.pdf)
53+
4454set (SOURCE_FILES_MAPCODELIB
4555 mapcodelib/internal_data.h
4656 mapcodelib/internal_alphabet_recognizer.h
0 commit comments