Start turning on some warnings

This repo needs a lot of help with warnings, start
turning some on slowly.

Change-Id: Icb3cee86829228cd4cbabecc98e43c77cef17223
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c5537b8..546f726 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,14 @@
 set (CMAKE_CXX_STANDARD_REQUIRED ON)
 set (CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
 
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
+set (
+    CMAKE_CXX_FLAGS
+    "${CMAKE_CXX_FLAGS} \
+    -Werror \
+    -Wtype-limits \
+    -Wnull-dereference \
+"
+)
 
 project (intel-ipmi-oem CXX)
 
@@ -22,7 +29,7 @@
 add_definitions (-Wno-psabi)
 
 if (NOT YOCTO) # headers that can't be built without yocto
-    include_directories (non-yocto)
+    include_directories (SYSTEM non-yocto)
 
     configure_file (CMakeLists.txt.in 3rdparty/CMakeLists.txt)
     execute_process (COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
@@ -31,30 +38,30 @@
                      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3rdparty)
 
     set (CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}/prefix ${CMAKE_PREFIX_PATH})
-    include_directories (${CMAKE_BINARY_DIR}/prefix/include)
+    include_directories (SYSTEM ${CMAKE_BINARY_DIR}/prefix/include)
     link_directories (${CMAKE_BINARY_DIR}/prefix/lib)
 
-    include_directories (${CMAKE_BINARY_DIR}/sdbusplus-src)
+    include_directories (SYSTEM ${CMAKE_BINARY_DIR}/sdbusplus-src)
     link_directories (${CMAKE_BINARY_DIR}/sdbusplus-src/.libs)
-    include_directories (${CMAKE_BINARY_DIR}/phosphor-logging-src)
+    include_directories (SYSTEM ${CMAKE_BINARY_DIR}/phosphor-logging-src)
     link_directories (${CMAKE_BINARY_DIR}/phosphor-logging-src/.libs)
-    include_directories (${CMAKE_BINARY_DIR}/intel-dbus-interfaces-src)
+    include_directories (SYSTEM ${CMAKE_BINARY_DIR}/intel-dbus-interfaces-src)
     link_directories (${CMAKE_BINARY_DIR}/intel-dbus-interfaces-src/.libs)
-    include_directories (${CMAKE_BINARY_DIR}/phosphor-ipmi-host/include)
-    include_directories (${CMAKE_BINARY_DIR}/ipmid/user_channel)
-    include_directories (${CMAKE_BINARY_DIR}) # link_directories
-                                              # (${CMAKE_BINARY_DIR}/sdbusplus-
-                                              # src/.libs)
+    include_directories (SYSTEM ${CMAKE_BINARY_DIR}/phosphor-ipmi-host/include)
+    include_directories (SYSTEM ${CMAKE_BINARY_DIR}/ipmid/user_channel)
+    include_directories (SYSTEM ${CMAKE_BINARY_DIR}) # link_directories  (${CMAK
+                                                     # E_BINARY_DIR}/sdbusplus-
+                                                     # src/.libs)
 endif ()
 
 if (YOCTO)
     find_package (PkgConfig REQUIRED)
     pkg_check_modules (LOGGING phosphor-logging REQUIRED)
-    include_directories (${LOGGING_INCLUDE_DIRS})
+    include_directories (SYSTEM ${LOGGING_INCLUDE_DIRS})
     link_directories (${LOGGING_LIBRARY_DIRS})
 
     pkg_check_modules (LIBIPMID libipmid REQUIRED)
-    include_directories (${LIBIPMID_INCLUDE_DIRS})
+    include_directories (SYSTEM ${LIBIPMID_INCLUDE_DIRS})
     link_directories (${LIBIPMID_LIBRARY_DIRS})
 
 endif ()
@@ -73,13 +80,10 @@
     target_link_libraries (runSensorTests ${GTEST_BOTH_LIBRARIES}
                            ${CMAKE_THREAD_LIBS_INIT} sdbusplus -lsystemd)
 endif ()
-
-include_directories (${CMAKE_CURRENT_SOURCE_DIR}/include)
-
 #
 # import OpenSSL (crypto)
 find_package (OpenSSL REQUIRED)
-include_directories (${OPENSSL_INCLUDE_DIR})
+include_directories (SYSTEM ${OPENSSL_INCLUDE_DIR})
 
 add_library (zinteloemcmds
              SHARED src/oemcommands.cpp src/sensorcommands.cpp
diff --git a/CMakeLists.txt.in b/CMakeLists.txt.in
index 01570f8..9181ae5 100644
--- a/CMakeLists.txt.in
+++ b/CMakeLists.txt.in
@@ -9,8 +9,7 @@
 
 externalproject_add (
     intel-dbus-interfaces PREFIX ${CMAKE_BINARY_DIR}/intel-dbus-interfaces
-    GIT_REPOSITORY
-    https://github.com/openbmc/intel-dbus-interfaces GIT_TAG
+    GIT_REPOSITORY https://github.com/openbmc/intel-dbus-interfaces GIT_TAG
     b5f2dd444c5d3808d005452417e4ae2ea28624ff SOURCE_DIR
     ${CMAKE_BINARY_DIR}/intel-dbus-interfaces-src BINARY_DIR
     ${CMAKE_BINARY_DIR}/intel-dbus-interfaces-build CONFIGURE_COMMAND cd
@@ -29,8 +28,7 @@
 )
 
 externalproject_add (
-    host-ipmid PREFIX ${CMAKE_BINARY_DIR}/phosphor-host-ipmid
-    GIT_REPOSITORY
+    host-ipmid PREFIX ${CMAKE_BINARY_DIR}/phosphor-host-ipmid GIT_REPOSITORY
     https://github.com/openbmc/phosphor-host-ipmid SOURCE_DIR
     ${CMAKE_BINARY_DIR}/phosphor-ipmi-host-src BINARY_DIR
     ${CMAKE_BINARY_DIR}/phosphor-ipmi-host-build CONFIGURE_COMMAND cd
@@ -52,12 +50,11 @@
     "${CMAKE_BINARY_DIR}/prefix/include/phosphor-ipmi-host/" LOG_DOWNLOAD ON
 )
 
-externalproject_add (
-    gtest GIT_REPOSITORY "https://github.com/google/googletest.git" GIT_TAG
-    dfa853b63d17c787914b663b50c2095a0c5b706e CMAKE_ARGS
-    -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/googletest-build SOURCE_DIR
-    "${CMAKE_BINARY_DIR}/googletest-src" BINARY_DIR
-    "${CMAKE_BINARY_DIR}/googletest-build" CMAKE_ARGS
-    -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/prefix
-)
+externalproject_add (gtest GIT_REPOSITORY
+                     "https://github.com/google/googletest.git" GIT_TAG
+                     dfa853b63d17c787914b663b50c2095a0c5b706e CMAKE_ARGS
+                     -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/googletest-build
+                     SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-src" BINARY_DIR
+                     "${CMAKE_BINARY_DIR}/googletest-build" CMAKE_ARGS
+                     -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/prefix)
 
diff --git a/src/bmccontrolservices.cpp b/src/bmccontrolservices.cpp
index b446886..8386899 100644
--- a/src/bmccontrolservices.cpp
+++ b/src/bmccontrolservices.cpp
@@ -104,6 +104,7 @@
             return !std::get<bool>(it->second);
         }
     }
+    return false;
 }
 
 ipmi::RspType<> setBmcControlServices(boost::asio::yield_context yield,
diff --git a/src/manufacturingcommands.cpp b/src/manufacturingcommands.cpp
index ad38e79..082df1e 100644
--- a/src/manufacturingcommands.cpp
+++ b/src/manufacturingcommands.cpp
@@ -408,7 +408,7 @@
                                    ipmi_data_len_t data_len,
                                    ipmi_context_t context)
 {
-    uint8_t ret = 0;
+    int8_t ret = 0;
     ipmi_ret_t retCode = IPMI_CC_OK;
     SetSmSignalReq* pReq = static_cast<SetSmSignalReq*>(request);
     std::string ledName;