From 8e74cd6fbeb96329123eb2cfb11fb25e51c4f42f Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Sun, 4 Jun 2017 17:52:15 -0700 Subject: [PATCH 1/2] Use warnings-as-errors and high warning levels This will make sure codebase stays warning-clean. --- CMakeLists.txt | 4 ++++ Makefile | 4 ++-- demo/main.cpp | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 780a5043..debc2338 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,10 @@ option(BUILD_DEMO "Build demo" OFF) set(CMAKE_CXX_STANDARD 11) +if(MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /WX") +endif(MSVC) + set(SOURCES src/meshoptimizer.hpp src/indexgenerator.cpp diff --git a/Makefile b/Makefile index c77ca07e..35c1b609 100644 --- a/Makefile +++ b/Makefile @@ -8,8 +8,8 @@ OBJECTS=$(SOURCES:%=$(BUILD)/%.o) EXECUTABLE=$(BUILD)/meshoptimizer -CXXFLAGS=-g -Wall -std=c++11 -O3 -DNDEBUG -LDFLAGS=-pthread +CXXFLAGS=-g -Wall -Wextra -Werror -std=c++11 -O3 -DNDEBUG +LDFLAGS= all: $(EXECUTABLE) diff --git a/demo/main.cpp b/demo/main.cpp index 440dee4e..0b341791 100644 --- a/demo/main.cpp +++ b/demo/main.cpp @@ -31,7 +31,7 @@ Mesh generatePlane(unsigned int N) for (unsigned int y = 0; y <= N; ++y) for (unsigned int x = 0; x <= N; ++x) { - Vertex v = {float(x), float(y), 0, 0, 0, 1}; + Vertex v = {float(x), float(y), 0, 0, 0, 1, float(x) / float(N), float(y) / float(N)}; result.vertices.push_back(v); } From a2f5609fab8bcdfe169351cb1a19bdc13ad5c56a Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Sun, 4 Jun 2017 17:59:45 -0700 Subject: [PATCH 2/2] Disable -Wmissing-field-initializers to appease gcc 4.8.4 Unfortunately gcc 4.8.4 warns on "Foo foo = {}": https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36750 This appears to be fixed in gcc 5 but Travis uses gcc 4.8.4. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 35c1b609..f387164b 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ OBJECTS=$(SOURCES:%=$(BUILD)/%.o) EXECUTABLE=$(BUILD)/meshoptimizer -CXXFLAGS=-g -Wall -Wextra -Werror -std=c++11 -O3 -DNDEBUG +CXXFLAGS=-g -Wall -Wextra -Wno-missing-field-initializers -Werror -std=c++11 -O3 -DNDEBUG LDFLAGS= all: $(EXECUTABLE)