[build] Enable more warnings on the next build
Make compilation more pedantic.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 {};
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user