summaryrefslogtreecommitdiff
path: root/platform/qt/qt.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'platform/qt/qt.cmake')
-rw-r--r--platform/qt/qt.cmake103
1 files changed, 67 insertions, 36 deletions
diff --git a/platform/qt/qt.cmake b/platform/qt/qt.cmake
index cee0d1080c..ae8b4bac99 100644
--- a/platform/qt/qt.cmake
+++ b/platform/qt/qt.cmake
@@ -5,30 +5,18 @@ 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)
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-set(MBGL_QT_FILES
- # File source
- PRIVATE platform/default/asset_file_source.cpp
- PRIVATE platform/default/default_file_source.cpp
- PRIVATE platform/default/local_file_source.cpp
- PRIVATE platform/default/online_file_source.cpp
-
- # Offline
- PRIVATE platform/default/mbgl/storage/offline.cpp
- PRIVATE platform/default/mbgl/storage/offline_database.cpp
- PRIVATE platform/default/mbgl/storage/offline_database.hpp
- PRIVATE platform/default/mbgl/storage/offline_download.cpp
- PRIVATE platform/default/mbgl/storage/offline_download.hpp
- PRIVATE platform/default/sqlite3.hpp
-
- # Misc
- PRIVATE platform/default/logging_stderr.cpp
+set(MBGL_QT_CORE_FILES
+ # Headless view
+ PRIVATE platform/default/mbgl/gl/headless_frontend.cpp
+ PRIVATE platform/default/mbgl/gl/headless_frontend.hpp
+ PRIVATE platform/default/mbgl/gl/headless_backend.cpp
+ PRIVATE platform/default/mbgl/gl/headless_backend.hpp
+ PRIVATE platform/qt/src/headless_backend_qt.cpp
# Thread pool
PRIVATE platform/default/mbgl/util/shared_thread_pool.cpp
@@ -36,36 +24,57 @@ set(MBGL_QT_FILES
PRIVATE platform/default/mbgl/util/default_thread_pool.cpp
PRIVATE platform/default/mbgl/util/default_thread_pool.hpp
+ # Thread
+ PRIVATE platform/qt/src/thread_local.cpp
+
# Platform integration
PRIVATE platform/qt/src/async_task.cpp
PRIVATE platform/qt/src/async_task_impl.hpp
- PRIVATE platform/qt/src/http_file_source.cpp
- PRIVATE platform/qt/src/http_file_source.hpp
- PRIVATE platform/qt/src/http_request.cpp
- PRIVATE platform/qt/src/http_request.hpp
- PRIVATE platform/qt/src/image.cpp
+ PRIVATE platform/qt/src/qt_logging.cpp
+ PRIVATE platform/qt/src/qt_image.cpp
PRIVATE platform/qt/src/run_loop.cpp
PRIVATE platform/qt/src/run_loop_impl.hpp
- PRIVATE platform/qt/src/sqlite3.cpp
PRIVATE platform/qt/src/string_stdlib.cpp
PRIVATE platform/qt/src/timer.cpp
PRIVATE platform/qt/src/timer_impl.hpp
PRIVATE platform/qt/src/utf.cpp
)
-include_directories(
- PRIVATE platform/qt/include
+set(MBGL_QT_FILESOURCE_FILES
+ # File source
+ PRIVATE platform/qt/src/http_file_source.cpp
+ PRIVATE platform/qt/src/http_file_source.hpp
+ PRIVATE platform/qt/src/http_request.cpp
+ PRIVATE platform/qt/src/http_request.hpp
+
+ # Database
+ PRIVATE platform/qt/src/sqlite3.cpp
)
# Shared library
add_library(qmapboxgl SHARED
platform/qt/include/qmapbox.hpp
platform/qt/include/qmapboxgl.hpp
+ platform/qt/src/qt_conversion.hpp
+ platform/qt/src/qt_geojson.cpp
+ platform/qt/src/qt_geojson.hpp
platform/qt/src/qmapbox.cpp
platform/qt/src/qmapboxgl.cpp
platform/qt/src/qmapboxgl_p.hpp
+ platform/qt/src/qmapboxgl_renderer_frontend_p.hpp
+ platform/qt/src/qmapboxgl_renderer_frontend_p.cpp
platform/default/mbgl/util/default_styles.hpp
- platform/default/mbgl/util/default_styles.cpp
+)
+
+target_include_directories(qmapboxgl
+ PUBLIC platform/qt/include
+)
+
+target_link_libraries(qmapboxgl
+ PRIVATE mbgl-core
+ PRIVATE mbgl-filesource
+ ${MBGL_QT_CORE_LIBRARIES}
+ ${MBGL_QT_FILESOURCE_LIBRARIES}
)
# C++ app
@@ -76,27 +85,47 @@ add_executable(mbgl-qt
platform/qt/resources/common.qrc
)
+target_compile_options(qmapboxgl
+ PRIVATE -std=c++03
+)
+
+target_link_libraries(mbgl-qt
+ PRIVATE qmapboxgl
+)
+
if(WITH_QT_4)
include(platform/qt/qt4.cmake)
else()
include(platform/qt/qt5.cmake)
endif()
+xcode_create_scheme(TARGET mbgl-qt)
+
# OS specific configurations
if (MASON_PLATFORM STREQUAL "osx" OR MASON_PLATFORM STREQUAL "ios")
- list(APPEND MBGL_QT_FILES
+ list(APPEND MBGL_QT_CORE_FILES
PRIVATE platform/darwin/src/nsthread.mm
)
- list(APPEND MBGL_QT_LIBRARIES
+ list(APPEND MBGL_QT_CORE_LIBRARIES
PRIVATE "-framework Foundation"
- PRIVATE "-framework OpenGL"
)
-else()
- list(APPEND MBGL_QT_FILES
+ if(WITH_QT_4)
+ list(APPEND MBGL_QT_CORE_LIBRARIES
+ PRIVATE "-framework OpenGL"
+ )
+ endif()
+elseif (CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
+ list(APPEND MBGL_QT_CORE_FILES
PRIVATE platform/default/thread.cpp
)
- list(APPEND MBGL_QT_LIBRARIES
- PRIVATE -lGL
+ if(WITH_QT_4)
+ list(APPEND MBGL_QT_CORE_LIBRARIES
+ PRIVATE "-lGL"
+ )
+ endif()
+elseif (CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
+ list(APPEND MBGL_QT_CORE_FILES
+ PRIVATE platform/qt/src/thread.cpp
)
endif()
@@ -107,3 +136,5 @@ add_custom_command(
${CMAKE_SOURCE_DIR}/platform/qt/include
${CMAKE_CURRENT_BINARY_DIR}/platform/qt/include
)
+
+xcode_create_scheme(TARGET qmapboxgl)