summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2017-11-29 15:54:40 +0100
committerKonstantin Käfer <mail@kkaefer.com>2017-11-29 17:31:33 +0100
commit8757164ac8f2b033b2b12d4baf075ed18cfeb2b4 (patch)
tree788aa097c9b079b2c0203be41ece33a49b0a753b /platform
parent2eec5a19803a01e21d5793706ae69ac0d886cee5 (diff)
downloadqtlocation-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.cmake40
-rw-r--r--platform/ios/config.cmake8
-rw-r--r--platform/linux/config.cmake1
-rw-r--r--platform/macos/config.cmake25
-rw-r--r--platform/qt/qt.cmake3
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)