[build] Enable more warnings on the next build

Make compilation more pedantic.
This commit is contained in:
Thiago Marcos P. Santos
2019-11-05 13:54:30 +02:00
parent 4c1d03c257
commit f73467786d
5 changed files with 27 additions and 24 deletions

View File

@@ -28,21 +28,24 @@ option(MBGL_WITH_QT "Build Mapbox GL Qt bindings" OFF)
option(MBGL_WITH_SANITIZER "Use [address|thread|memory|undefined] here" OFF)
set(CMAKE_CXX_FLAGS_DEBUGCOVERAGE "${CMAKE_CXX_FLAGS_DEBUG} --coverage")
set(CMAKE_C_FLAGS_DEBUGCOVERAGE "${CMAKE_CXX_FLAGS_DEBUG} --coverage")
set(CMAKE_C_FLAGS_DEBUGCOVERAGE "${CMAKE_C_FLAGS_DEBUG} --coverage")
set(CMAKE_CXX_FLAGS_SANITIZE "-DSANITIZE -g -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=${MBGL_WITH_SANITIZER}")
set(CMAKE_C_FLAGS_SANITIZE "-DSANITIZE -g -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=${MBGL_WITH_SANITIZER}")
if(MBGL_WITH_QT)
find_package(Qt5Core REQUIRED)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
endif()
add_compile_options(
$<$<COMPILE_LANGUAGE:CXX>:-fno-rtti>
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wall>
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wextra>
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Werror>
$<$<CXX_COMPILER_ID:GNU>:-Wno-error=maybe-uninitialized>
$<$<CXX_COMPILER_ID:GNU>:-Wno-error=unknown-pragmas>
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=deprecated-declarations>
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=unused-parameter>
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=unused-property-ivar>
)
# Avoid warnings when setting visibility
cmake_policy(SET CMP0063 NEW)
# Compiler/linker configuration
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -56,6 +59,12 @@ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
if(MBGL_WITH_QT)
find_package(Qt5Core REQUIRED)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
endif()
add_library(
mbgl-core STATIC
${MBGL_ROOT}/include/mbgl/actor/actor.hpp

View File

@@ -7,22 +7,16 @@ namespace platform {
class Collator::Impl {
public:
Impl(bool caseSensitive_, bool diacriticSensitive_, optional<std::string>)
: caseSensitive(caseSensitive_), diacriticSensitive(diacriticSensitive_) {}
Impl(optional<std::string>) {}
bool operator==(const Impl& other) const { return true; }
bool operator==(const Impl&) const { return true; }
int compare(const std::string& lhs, const std::string& rhs) const { return 0; }
int compare(const std::string&, const std::string&) const { return 0; }
std::string resolvedLocale() const { return ""; }
private:
bool caseSensitive;
bool diacriticSensitive;
};
Collator::Collator(bool caseSensitive, bool diacriticSensitive, optional<std::string> locale_)
: impl(std::make_shared<Impl>(caseSensitive, diacriticSensitive, std::move(locale_))) {}
Collator::Collator(bool, bool, optional<std::string> locale_) : impl(std::make_shared<Impl>(std::move(locale_))) {}
int Collator::compare(const std::string& lhs, const std::string& rhs) const {
return impl->compare(lhs, rhs);

View File

@@ -34,7 +34,7 @@ MGL_EXPORT
and the type `String`. Alternatively, you may call this method from your
application delegate’s `-applicationDidFinishLaunching:` method.
*/
@property (class, nullable) NSString *accessToken;
@property (class, assign, nullable) NSString *accessToken;
@end

View File

@@ -124,7 +124,7 @@ public:
}
}
static optional<GeoJSON> toGeoJSON(const Holder& holder, Error& error) {
static optional<GeoJSON> toGeoJSON(const Holder&, Error& error) {
error = { "toGeoJSON not implemented" };
return {};
}

View File

@@ -140,7 +140,7 @@ private: // Private utilities for converting from mgl to mbgl values
class = typename std::enable_if<!std::is_enum<MBGLEnum>::value>::type,
typename MGLEnum = ObjCEnum,
class = typename std::enable_if<!std::is_enum<MGLEnum>::value>::type>
NSObject* toRawStyleSpecValue(NSObject *rawMGLValue, MBGLEnum &mbglValue) {
NSObject* toRawStyleSpecValue(NSObject *rawMGLValue, MBGLEnum &) {
if ([rawMGLValue isKindOfClass:[NSValue class]]) {
const auto rawNSValue = (NSValue *)rawMGLValue;
if (strcmp([rawNSValue objCType], @encode(CGVector)) == 0) {
@@ -157,13 +157,13 @@ private: // Private utilities for converting from mgl to mbgl values
class = typename std::enable_if<std::is_enum<MBGLEnum>::value>::type,
typename MGLEnum = ObjCEnum,
class = typename std::enable_if<std::is_enum<MGLEnum>::value>::type>
NSString* toRawStyleSpecValue(ObjCType rawValue, MBGLEnum &mbglValue) {
NSString* toRawStyleSpecValue(ObjCType rawValue, MBGLEnum &) {
MGLEnum mglEnum;
[rawValue getValue:&mglEnum];
return @(mbgl::Enum<MGLEnum>::toString(mglEnum));
}
NSObject* toRawStyleSpecValue(MGLColor *color, MBGLType &mbglValue) {
NSObject* toRawStyleSpecValue(MGLColor *color, MBGLType &) {
return @(color.mgl_color.stringify().c_str());
}