summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2022-10-20 01:10:34 +0300
committerOxore <oxore@protonmail.com>2022-10-20 01:10:34 +0300
commit911f72b2299ec654178af0b4e4fbbd3f870779b3 (patch)
tree35590d16197a05a79872118d2837cb3a9b5a9f21 /CMakeLists.txt
parenteddd0a826b1720c26b0ac5df0269db3982bc8f35 (diff)
Fix buffer overflow access, continue implementing graphics
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt30
1 files changed, 24 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 994b703..ec342a7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,12 +8,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_EXPORT_COMPILE_COMMANDS True)
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic")
-set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address -fno-omit-frame-pointer -O1")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-nested-anon-types -Wall -Wextra -pedantic")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-rtti") # Speed up compilation
-set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address -fno-omit-frame-pointer -O1")
-set(CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} -fsanitize=address -fno-omit-frame-pointer")
set(emulator_sources
bus.cpp
@@ -51,6 +45,30 @@ target_include_directories(musashi_m68k PRIVATE
find_package(SDL2 REQUIRED)
add_executable(emulator ${emulator_sources})
+target_compile_options(emulator PRIVATE
+ $<$<COMPILE_LANGUAGE:CXX>:-fms-extensions>
+ $<$<COMPILE_LANGUAGE:CXX>:-fno-exceptions>
+ $<$<COMPILE_LANGUAGE:CXX>:-fno-rtti>
+ $<$<COMPILE_LANGUAGE:CXX>:-Wsuggest-override>
+ # TODO enable these and fix warnings
+ #$<$<COMPILE_LANGUAGE:CXX>:-Wsuggest-final-types>
+ #$<$<COMPILE_LANGUAGE:CXX>:-Wsuggest-final-methods>
+ #$<$<COMPILE_LANGUAGE:CXX>:-Wold-style-cast>
+ #-Wconversion
+ #-Wsign-conversion
+ -fno-omit-frame-pointer
+ -Wall
+ -Wextra
+ -Wcast-align
+ -Wshadow
+ -Wlogical-op
+ -pedantic
+ -g3
+ -O2
+ -fsanitize=address,undefined
+)
+
+target_link_options(emulator PRIVATE -fsanitize=address,undefined)
target_link_libraries(emulator musashi_m68k)
# TODO make SDL2 optional for headless mode
target_include_directories(emulator PRIVATE ${SDL2_INCLUDE_DIRS})