Skip to content

Commit 9407bdf

Browse files
committed
Adding pedantic warnings and treating warnings as errors, fixing some warnings
1 parent 6252e0c commit 9407bdf

File tree

3 files changed

+28
-7
lines changed

3 files changed

+28
-7
lines changed

CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,30 @@
1919
cmake_minimum_required(VERSION 3.3)
2020
project(Libraries)
2121

22+
find_package(WPEFramework)
23+
2224
if (BUILD_REFERENCE)
2325
add_definitions (-DBUILD_REFERENCE=${BUILD_REFERENCE})
2426
endif()
2527

28+
if(ENABLE_STRICT_COMPILER_SETTINGS)
29+
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
30+
message(FATAL_ERROR "Compiling with Clang")
31+
set(CMAKE_STRICT_COMPILER_SETTINGS "-Weverything -Wextra -Wpedantic -Werror")
32+
set(CMAKE_STRICT_CXX_COMPILER_SETTINGS "${CMAKE_STRICT_COMPILER_SETTINGS} -Wnon-virtual-dtor")
33+
elseif(${CMAKE_COMPILER_IS_GNUCXX})
34+
message(STATUS "Compiling with GCC")
35+
set(CMAKE_STRICT_COMPILER_SETTINGS "-Wall -Wextra -Wpedantic -Werror")
36+
set(CMAKE_STRICT_CXX_COMPILER_SETTINGS "${CMAKE_STRICT_COMPILER_SETTINGS} -Wnon-virtual-dtor")
37+
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
38+
message(STATUS "Compiling with MS Visual Studio")
39+
set(CMAKE_STRICT_COMPILER_SETTINGS "/W4")
40+
else()
41+
message(STATUS "Compiler ${CMAKE_CXX_COMPILER_ID}")
42+
endif()
43+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_STRICT_CXX_COMPILER_SETTINGS}")
44+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_STRICT_COMPILER_SETTINGS}")
45+
endif()
46+
2647
add_subdirectory(Source)
2748

Source/bluetooth/BluetoothUtils.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,9 @@ int BtUtilsHciDevba(int dev_id, bdaddr_t* bdaddr)
113113

114114
int BtUtilsOtherBdaddr(int dd, int dev_id, long arg)
115115
{
116-
PUSH_WARNING(DISABLE_WARNING_MISSING_FIELD_INITIALIZERS)
117-
struct hci_dev_info di = { .dev_id = static_cast<uint16_t>(dev_id) };
118-
POP_WARNING()
116+
struct hci_dev_info di;
117+
di.dev_id = static_cast<uint16_t>(dev_id);
118+
119119
if (ioctl(dd, HCIGETDEVINFO, (void*)&di))
120120
return 0;
121121

@@ -127,9 +127,8 @@ POP_WARNING()
127127

128128
int BtUtilsSameBdaddr(int dd, int dev_id, long arg)
129129
{
130-
PUSH_WARNING(DISABLE_WARNING_MISSING_FIELD_INITIALIZERS)
131-
struct hci_dev_info di = { .dev_id = static_cast<uint16_t>(dev_id) };
132-
POP_WARNING()
130+
struct hci_dev_info di;
131+
di.dev_id = static_cast<uint16_t>(dev_id);
133132

134133
if (ioctl(dd, HCIGETDEVINFO, (void*)&di))
135134
return 0;

Source/bluetooth/HCISocket.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -813,8 +813,9 @@ namespace Bluetooth {
813813
// Create definitions for the HCI commands
814814
// ------------------------------------------------------------------------
815815
struct Command {
816+
PUSH_WARNING(DISABLE_WARNING_PEDANTIC)
816817
using Void = char[0];
817-
818+
POP_WARNING()
818819
typedef CommandType<cmd_opcode_pack(OGF_LINK_CTL, OCF_INQUIRY), inquiry_cp, uint8_t>
819820
Inquiry;
820821

0 commit comments

Comments
 (0)