diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2017-11-29 15:54:40 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2017-11-29 17:31:33 +0100 |
commit | 8757164ac8f2b033b2b12d4baf075ed18cfeb2b4 (patch) | |
tree | 788aa097c9b079b2c0203be41ece33a49b0a753b /platform | |
parent | 2eec5a19803a01e21d5793706ae69ac0d886cee5 (diff) | |
download | qtlocation-mapboxgl-8757164ac8f2b033b2b12d4baf075ed18cfeb2b4.tar.gz |
[build] standardize on -fvisibility=hidden for all targets
Enables -fvisibility=hidden for iOS and Linux, and adds a workaround for GCC 6.3-7.1
Adds a GCC 6 build
Enables diagnostics for C files
Fixes a shadow warning in parsedate.c
Diffstat (limited to 'platform')
-rw-r--r-- | platform/android/config.cmake | 40 | ||||
-rw-r--r-- | platform/ios/config.cmake | 8 | ||||
-rw-r--r-- | platform/linux/config.cmake | 1 | ||||
-rw-r--r-- | platform/macos/config.cmake | 25 | ||||
-rw-r--r-- | platform/qt/qt.cmake | 3 |
5 files changed, 7 insertions, 70 deletions
diff --git a/platform/android/config.cmake b/platform/android/config.cmake index fb5a0d7c56..96ec901a42 100644 --- a/platform/android/config.cmake +++ b/platform/android/config.cmake @@ -7,6 +7,9 @@ set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> cruT <TARGET> <LINK_FLAGS> <OBJECTS>") set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> ruT <TARGET> <LINK_FLAGS> <OBJECTS>") set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> ruT <TARGET> <LINK_FLAGS> <OBJECTS>") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffunction-sections -fdata-sections") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections -fdata-sections") + if ((ANDROID_ABI STREQUAL "armeabi") OR (ANDROID_ABI STREQUAL "armeabi-v7a") OR (ANDROID_ABI STREQUAL "arm64-v8a") OR (ANDROID_ABI STREQUAL "x86") OR (ANDROID_ABI STREQUAL "x86_64")) # Use Identical Code Folding on platforms that support the gold linker. @@ -14,6 +17,9 @@ if ((ANDROID_ABI STREQUAL "armeabi") OR (ANDROID_ABI STREQUAL "armeabi-v7a") OR set(CMAKE_SHARED_LINKER_FLAGS "-fuse-ld=gold -Wl,--icf=safe ${CMAKE_SHARED_LINKER_FLAGS}") endif() +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections -Wl,--version-script=${CMAKE_SOURCE_DIR}/platform/android/version-script") +set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--gc-sections -Wl,--version-script=${CMAKE_SOURCE_DIR}/platform/android/version-script") + mason_use(jni.hpp VERSION 3.0.0 HEADER_ONLY) mason_use(nunicode VERSION 1.7.1) mason_use(sqlite VERSION 3.14.2) @@ -79,12 +85,6 @@ macro(mbgl_platform_core) target_add_mason_package(mbgl-core PUBLIC rapidjson) target_add_mason_package(mbgl-core PRIVATE icu) - target_compile_options(mbgl-core - PRIVATE -fvisibility=hidden - PRIVATE -ffunction-sections - PRIVATE -fdata-sections - ) - target_link_libraries(mbgl-core PUBLIC -llog PUBLIC -landroid @@ -113,12 +113,6 @@ macro(mbgl_filesource) target_add_mason_package(mbgl-filesource PUBLIC sqlite) target_add_mason_package(mbgl-filesource PUBLIC jni.hpp) - target_compile_options(mbgl-filesource - PRIVATE -fvisibility=hidden - PRIVATE -ffunction-sections - PRIVATE -fdata-sections - ) - target_link_libraries(mbgl-filesource PUBLIC -llog PUBLIC -landroid @@ -308,12 +302,6 @@ add_library(mbgl-android STATIC platform/android/src/jni.cpp ) -target_compile_options(mbgl-android - PRIVATE -fvisibility=hidden - PRIVATE -ffunction-sections - PRIVATE -fdata-sections -) - target_link_libraries(mbgl-android PUBLIC mbgl-filesource PUBLIC mbgl-core @@ -327,8 +315,6 @@ add_library(mapbox-gl SHARED target_link_libraries(mapbox-gl PRIVATE mbgl-android - PRIVATE -Wl,--gc-sections - PRIVATE -Wl,--version-script=${CMAKE_SOURCE_DIR}/platform/android/version-script ) ## Test library ## @@ -346,14 +332,8 @@ macro(mbgl_platform_test) PRIVATE platform/android ) - target_compile_options(mbgl-test - PRIVATE -fvisibility=hidden - ) - target_link_libraries(mbgl-test PRIVATE mbgl-android - PRIVATE -Wl,--gc-sections - PRIVATE -Wl,--version-script=${CMAKE_SOURCE_DIR}/platform/android/version-script ) endmacro() @@ -363,14 +343,6 @@ add_library(example-custom-layer SHARED platform/android/src/example_custom_layer.cpp ) -target_compile_options(example-custom-layer - PRIVATE -fvisibility=hidden - PRIVATE -ffunction-sections - PRIVATE -fdata-sections -) - target_link_libraries(example-custom-layer PRIVATE mbgl-core - PRIVATE -Wl,--gc-sections - PRIVATE -Wl,--version-script=${CMAKE_SOURCE_DIR}/platform/android/version-script ) diff --git a/platform/ios/config.cmake b/platform/ios/config.cmake index e9b3f4b218..7f54d71313 100644 --- a/platform/ios/config.cmake +++ b/platform/ios/config.cmake @@ -62,10 +62,6 @@ macro(mbgl_platform_core) target_add_mason_package(mbgl-core PUBLIC polylabel) target_add_mason_package(mbgl-core PRIVATE icu) - target_compile_options(mbgl-core - PRIVATE -fvisibility=hidden - ) - target_include_directories(mbgl-core PUBLIC platform/darwin PUBLIC platform/default @@ -94,10 +90,6 @@ macro(mbgl_filesource) PRIVATE platform/default/sqlite3.cpp ) - target_compile_options(mbgl-filesource - PRIVATE -fvisibility=hidden - ) - target_link_libraries(mbgl-filesource PUBLIC "-lsqlite3" PUBLIC "-framework Foundation" diff --git a/platform/linux/config.cmake b/platform/linux/config.cmake index c64e20eddf..fef0f4486c 100644 --- a/platform/linux/config.cmake +++ b/platform/linux/config.cmake @@ -30,7 +30,6 @@ macro(mbgl_platform_core) target_link_libraries(mbgl-core PUBLIC -lGLESv2 PUBLIC -lEGL - PUBLIC -lgbm ) else() target_sources(mbgl-core diff --git a/platform/macos/config.cmake b/platform/macos/config.cmake index b7312216c0..45cae9bf7d 100644 --- a/platform/macos/config.cmake +++ b/platform/macos/config.cmake @@ -50,7 +50,6 @@ macro(mbgl_platform_core) target_compile_options(mbgl-core PRIVATE -fobjc-arc - PRIVATE -fvisibility=hidden ) target_include_directories(mbgl-core @@ -81,7 +80,6 @@ macro(mbgl_filesource) target_compile_options(mbgl-filesource PRIVATE -fobjc-arc - PRIVATE -fvisibility=hidden ) target_link_libraries(mbgl-filesource @@ -96,11 +94,6 @@ macro(mbgl_platform_glfw) PRIVATE mbgl-filesource PRIVATE mbgl-loop-darwin ) - - target_compile_options(mbgl-glfw - PRIVATE -fvisibility=hidden - ) - endmacro() @@ -109,9 +102,6 @@ macro(mbgl_platform_render) PRIVATE mbgl-filesource PRIVATE mbgl-loop-darwin ) - target_compile_options(mbgl-render - PRIVATE -fvisibility=hidden - ) endmacro() @@ -120,9 +110,6 @@ macro(mbgl_platform_offline) PRIVATE mbgl-filesource PRIVATE mbgl-loop-darwin ) - target_compile_options(mbgl-offline - PRIVATE -fvisibility=hidden - ) endmacro() @@ -141,10 +128,6 @@ macro(mbgl_platform_test) COMPILE_FLAGS -DWORK_DIRECTORY="${CMAKE_SOURCE_DIR}" ) - target_compile_options(mbgl-test - PRIVATE -fvisibility=hidden - ) - target_link_libraries(mbgl-test PRIVATE mbgl-filesource PRIVATE mbgl-loop-darwin @@ -152,10 +135,6 @@ macro(mbgl_platform_test) endmacro() macro(mbgl_platform_benchmark) - target_compile_options(mbgl-benchmark - PRIVATE -fvisibility=hidden - ) - target_sources(mbgl-benchmark PRIVATE benchmark/src/main.cpp ) @@ -173,10 +152,6 @@ macro(mbgl_platform_benchmark) endmacro() macro(mbgl_platform_node) - target_compile_options(mbgl-node - PRIVATE -fvisibility=hidden - ) - target_link_libraries(mbgl-node PRIVATE "-Wl,-bind_at_load" ) diff --git a/platform/qt/qt.cmake b/platform/qt/qt.cmake index 7b3c7fe1a2..ae8b4bac99 100644 --- a/platform/qt/qt.cmake +++ b/platform/qt/qt.cmake @@ -5,8 +5,7 @@ option(WITH_QT_DECODERS "Use builtin Qt image decoders" OFF) option(WITH_QT_I18N "Use builtin Qt i18n support" OFF) option(WITH_QT_4 "Use Qt4 instead of Qt5" OFF) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -D__QT__") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -D__QT__") +add_definitions("-D__QT__") set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) |