diff --git a/CMakeLists.txt b/CMakeLists.txt index af31c60..ece3b25 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,22 +1,10 @@ -cmake_minimum_required(VERSION "3.12" FATAL_ERROR) +cmake_minimum_required(VERSION "3.15" FATAL_ERROR) project(tmx2gba VERSION "0.3") # Options option(TMX2GBA_DKP_INSTALL "Install into DEVKITPRO prefix" OFF) option(ASAN "Enable address sanitiser" OFF) -# C++20 & C99 -set(CMAKE_CXX_STANDARD 20) -set(CMAKE_C_STANDARD 99) - -# Enable strong warnings -if (MSVC) - string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - string(REPLACE "/W3" "/W4" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -else() - add_compile_options(-Wall) -endif() - if (ASAN) add_compile_options(-fsanitize=address -fno-omit-frame-pointer) add_link_options(-fsanitize=address -shared-libasan) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0a013b6..bc3fb2b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,6 +8,17 @@ add_executable(tmx2gba headerwriter.hpp headerwriter.cpp tmx2gba.cpp) +set_target_properties(tmx2gba PROPERTIES + # C++20 & C99 + CXX_STANDARD 20 + C_STANDARD 99) + +# Enable strong warnings +target_compile_options(tmx2gba PRIVATE + $<$:/Wall> + $<$:-Wall -Wextra -pedantic> + $<$:-Weverything>) + target_link_libraries(tmx2gba External::base64 External::miniz diff --git a/src/argparse.cpp b/src/argparse.cpp index 6834708..dcf53f8 100644 --- a/src/argparse.cpp +++ b/src/argparse.cpp @@ -151,6 +151,8 @@ bool ArgParse::ArgParser::CheckParse(ArgParse::ParseErr err) const case ParseErr::ARG_RANGE: DisplayError("Argument out of range.", false); return false; + default: + return false; } } @@ -207,7 +209,7 @@ bool ArgParse::ReadParamFile(std::vector& tokens, std::istream& fil } else { - quoteStr.push_back(c); + quoteStr.push_back(static_cast(c)); } } } diff --git a/src/argparse.hpp b/src/argparse.hpp index 4c81cbc..16d078d 100644 --- a/src/argparse.hpp +++ b/src/argparse.hpp @@ -35,8 +35,7 @@ namespace ArgParse { const std::vector