diff options
Diffstat (limited to 'platform/qt/qt.cmake')
-rw-r--r-- | platform/qt/qt.cmake | 103 |
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) |