[build] Remove Qt builds from legacy buildsystem
This commit is contained in:
95
Makefile
95
Makefile
@@ -453,101 +453,6 @@ check: compdb
|
||||
|
||||
endif
|
||||
|
||||
#### Qt targets #####################################################
|
||||
|
||||
QT_QMAKE_FOUND := $(shell command -v qmake 2> /dev/null)
|
||||
ifdef QT_QMAKE_FOUND
|
||||
export QT_INSTALL_DOCS = $(shell qmake -query QT_INSTALL_DOCS)
|
||||
QT_ROOT_PATH = build/qt-$(BUILD_PLATFORM)-$(BUILD_PLATFORM_VERSION)
|
||||
endif
|
||||
|
||||
export QT_OUTPUT_PATH = $(QT_ROOT_PATH)/$(BUILDTYPE)
|
||||
QT_BUILD = $(QT_OUTPUT_PATH)/build.ninja
|
||||
|
||||
$(QT_BUILD): $(BUILD_DEPS)
|
||||
@scripts/check-qt.sh
|
||||
mkdir -p $(QT_OUTPUT_PATH)
|
||||
(cd $(QT_OUTPUT_PATH) && $(CMAKE) -G Ninja ../../.. \
|
||||
-DCMAKE_BUILD_TYPE=$(BUILDTYPE) \
|
||||
-DMBGL_PLATFORM=qt \
|
||||
-DMASON_PLATFORM=$(MASON_PLATFORM) \
|
||||
-DMASON_PLATFORM_VERSION=$(MASON_PLATFORM_VERSION) \
|
||||
-DWITH_QT_DECODERS=${WITH_QT_DECODERS} \
|
||||
-DWITH_QT_I18N=${WITH_QT_I18N} \
|
||||
-DWITH_COVERAGE=${WITH_COVERAGE})
|
||||
|
||||
ifeq ($(HOST_PLATFORM), macos)
|
||||
|
||||
MACOS_QT_PROJ_PATH = $(QT_ROOT_PATH)/xcode/mbgl.xcodeproj
|
||||
$(MACOS_QT_PROJ_PATH): $(BUILD_DEPS)
|
||||
@scripts/check-qt.sh
|
||||
mkdir -p $(QT_ROOT_PATH)/xcode
|
||||
(cd $(QT_ROOT_PATH)/xcode && $(CMAKE) -G Xcode ../../.. \
|
||||
-DMBGL_PLATFORM=qt \
|
||||
-DMASON_PLATFORM=$(MASON_PLATFORM) \
|
||||
-DMASON_PLATFORM_VERSION=$(MASON_PLATFORM_VERSION) \
|
||||
-DWITH_QT_DECODERS=${WITH_QT_DECODERS} \
|
||||
-DWITH_QT_I18N=${WITH_QT_I18N} \
|
||||
-DWITH_COVERAGE=${WITH_COVERAGE})
|
||||
|
||||
.PHONY: qtproj
|
||||
qtproj: $(MACOS_QT_PROJ_PATH)
|
||||
open $(MACOS_QT_PROJ_PATH)
|
||||
|
||||
endif
|
||||
|
||||
ifdef QNX_HOST
|
||||
export WITH_QT_DECODERS ?= ON
|
||||
export QCC_COMPILER_TARGET ?= gcc_ntox86_64
|
||||
export QCC_NTOARCH ?= x86_64
|
||||
|
||||
export QNX_OUTPUT_PATH = build/qt-qnx-$(QCC_NTOARCH)/$(BUILDTYPE)
|
||||
QNX_QT_BUILD = $(QNX_OUTPUT_PATH)/build.ninja
|
||||
$(QNX_QT_BUILD): $(BUILD_DEPS)
|
||||
@scripts/check-qt.sh
|
||||
mkdir -p $(QNX_OUTPUT_PATH)
|
||||
(cd $(QNX_OUTPUT_PATH) && $(CMAKE) -G Ninja ../../.. \
|
||||
-DCMAKE_BUILD_TYPE=$(BUILDTYPE) \
|
||||
-DQCC_COMPILER_TARGET=${QCC_COMPILER_TARGET} \
|
||||
-DQCC_NTOARCH=${QCC_NTOARCH} \
|
||||
-DCMAKE_TOOLCHAIN_FILE=platform/qt/qnx.cmake \
|
||||
-DMBGL_PLATFORM=qt \
|
||||
-DWITH_QT_DECODERS=${WITH_QT_DECODERS} \
|
||||
-DWITH_QT_I18N=${WITH_QT_I18N} \
|
||||
-DWITH_COVERAGE=${WITH_COVERAGE})
|
||||
|
||||
.PHONY: qnx-qt-lib
|
||||
qnx-qt-lib: $(QNX_QT_BUILD)
|
||||
$(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(QNX_OUTPUT_PATH) qmapboxgl
|
||||
|
||||
endif
|
||||
|
||||
.PHONY: qt-lib
|
||||
qt-lib: $(QT_BUILD)
|
||||
$(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(QT_OUTPUT_PATH) qmapboxgl
|
||||
|
||||
.PHONY: qt-app
|
||||
qt-app: $(QT_BUILD)
|
||||
$(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(QT_OUTPUT_PATH) mbgl-qt
|
||||
|
||||
.PHONY: run-qt-app
|
||||
run-qt-app: qt-app
|
||||
$(QT_OUTPUT_PATH)/mbgl-qt
|
||||
|
||||
.PHONY: qt-test
|
||||
qt-test: $(QT_BUILD)
|
||||
$(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(QT_OUTPUT_PATH) mbgl-test
|
||||
|
||||
run-qt-test-%: qt-test
|
||||
$(QT_OUTPUT_PATH)/mbgl-test --gtest_catch_exceptions=0 --gtest_filter=$*
|
||||
|
||||
.PHONY: run-qt-test
|
||||
run-qt-test: run-qt-test-*
|
||||
|
||||
.PHONY: qt-docs
|
||||
qt-docs:
|
||||
qdoc $(shell pwd)/platform/qt/config.qdocconf -outputdir $(shell pwd)/$(QT_OUTPUT_PATH)/docs
|
||||
|
||||
#### Node targets ##############################################################
|
||||
|
||||
.PHONY: test-node
|
||||
|
||||
99
circle.yml
99
circle.yml
@@ -184,8 +184,6 @@ workflows:
|
||||
ignore: /.*/
|
||||
- macos-debug
|
||||
- macos-render-tests
|
||||
- qt5-linux-gcc5-release
|
||||
- qt5-macos-debug
|
||||
nightly:
|
||||
triggers:
|
||||
- schedule:
|
||||
@@ -507,16 +505,6 @@ commands:
|
||||
- run:
|
||||
name: Build test
|
||||
command: make test
|
||||
build-qt-app:
|
||||
steps:
|
||||
- run:
|
||||
name: Build qt-app
|
||||
command: make qt-app
|
||||
build-qt-test:
|
||||
steps:
|
||||
- run:
|
||||
name: Build qt-test
|
||||
command: make qt-test
|
||||
build-ios-test:
|
||||
steps:
|
||||
- run:
|
||||
@@ -586,18 +574,6 @@ commands:
|
||||
brew install node@8
|
||||
brew link node@8 --force --overwrite
|
||||
|
||||
install-qt-macos-dependencies:
|
||||
steps:
|
||||
- run:
|
||||
name: Install Qt macOS dependencies
|
||||
command: |
|
||||
brew install qt
|
||||
brew link qt --force
|
||||
export HOMEBREW_QT5_CELLAR=$(brew --cellar qt)
|
||||
export HOMEBREW_QT5_VERSION=$(brew list --versions qt | rev | cut -d' ' -f1 | rev)
|
||||
sudo ln -s $HOMEBREW_QT5_CELLAR/$HOMEBREW_QT5_VERSION/mkspecs /usr/local/mkspecs
|
||||
sudo ln -s $HOMEBREW_QT5_CELLAR/$HOMEBREW_QT5_VERSION/plugins /usr/local/plugins
|
||||
|
||||
run-node-macos-tests:
|
||||
steps:
|
||||
- run:
|
||||
@@ -1185,30 +1161,6 @@ jobs:
|
||||
- save-dependencies
|
||||
- run-unit-tests-sanitized
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
linux-gcc49-debug:
|
||||
docker:
|
||||
- image: mbgl/linux-gcc-4.9:e3818a77c1
|
||||
resource_class: large
|
||||
working_directory: /src
|
||||
environment:
|
||||
LIBSYSCONFCPUS: 4
|
||||
JOBS: 4
|
||||
BUILDTYPE: Debug
|
||||
WITH_EGL: 1
|
||||
DISPLAY: :0
|
||||
steps:
|
||||
- install-dependencies
|
||||
- check-if-this-job-can-be-skipped
|
||||
- build-linux
|
||||
- build-benchmark
|
||||
- build-test
|
||||
- save-dependencies
|
||||
- run-unit-tests
|
||||
- run:
|
||||
name: Build offline CLI
|
||||
command: make offline
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
linux-gcc5-debug-coverage:
|
||||
docker:
|
||||
@@ -1590,54 +1542,3 @@ jobs:
|
||||
name: Collect GitHub statistics
|
||||
command: |
|
||||
scripts/publish_github_stats.js
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
qt5-linux-gcc5-release:
|
||||
docker:
|
||||
- image: mbgl/linux-gcc-5-qt-5.9:5cd92d7d1c
|
||||
resource_class: large
|
||||
working_directory: /src
|
||||
environment:
|
||||
LIBSYSCONFCPUS: 4
|
||||
JOBS: 4
|
||||
BUILDTYPE: Release
|
||||
WITH_QT_I18N: 1
|
||||
steps:
|
||||
- install-dependencies
|
||||
- check-if-this-job-can-be-skipped
|
||||
- build-qt-app
|
||||
- build-qt-test
|
||||
- run:
|
||||
name: Build qt-docs
|
||||
command: make qt-docs
|
||||
- save-dependencies
|
||||
- run:
|
||||
name: Run valgrind-backed tests
|
||||
environment:
|
||||
JOBS: 1 # https://github.com/mapbox/mapbox-gl-native/issues/9108
|
||||
command: |
|
||||
xvfb-run --server-args="-screen 0 1024x768x24" \
|
||||
build/qt-linux-x86_64/Release/mbgl-test --gtest_filter=-*.Load --gtest_filter=-Memory.Vector --gtest_filter=-BiDi.*
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
qt5-macos-debug:
|
||||
macos:
|
||||
xcode: "9.3.1"
|
||||
environment:
|
||||
BUILDTYPE: Debug
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
steps:
|
||||
- install-macos-dependencies
|
||||
- install-qt-macos-dependencies
|
||||
- install-dependencies
|
||||
- check-if-this-job-can-be-skipped
|
||||
- build-qt-app
|
||||
- build-qt-test
|
||||
- run:
|
||||
name: Run qt-test
|
||||
command: make run-qt-test
|
||||
- save-dependencies
|
||||
- store_artifacts:
|
||||
path: test/fixtures
|
||||
destination: test/fixtures
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
include(platform/qt/qt.cmake)
|
||||
|
||||
macro(mbgl_platform_core)
|
||||
target_sources(mbgl-core
|
||||
${MBGL_QT_CORE_FILES}
|
||||
)
|
||||
|
||||
target_include_directories(mbgl-core
|
||||
PRIVATE platform/qt
|
||||
PRIVATE platform/qt/include
|
||||
PUBLIC platform/default/include
|
||||
)
|
||||
|
||||
target_link_libraries(mbgl-core PRIVATE
|
||||
${MBGL_QT_CORE_LIBRARIES}
|
||||
mbgl-vendor-nunicode
|
||||
)
|
||||
|
||||
if(NOT WITH_QT_DECODERS)
|
||||
target_sources(mbgl-core
|
||||
PRIVATE platform/default/src/mbgl/util/jpeg_reader.cpp
|
||||
PRIVATE platform/default/src/mbgl/util/png_reader.cpp
|
||||
)
|
||||
|
||||
target_add_mason_package(mbgl-core PRIVATE libjpeg-turbo)
|
||||
target_add_mason_package(mbgl-core PRIVATE libpng)
|
||||
else()
|
||||
add_definitions(-DQT_IMAGE_DECODERS)
|
||||
endif()
|
||||
|
||||
if(NOT WITH_QT_I18N)
|
||||
target_sources(mbgl-core PRIVATE platform/default/src/mbgl/text/bidi.cpp)
|
||||
target_link_libraries(mbgl-core PRIVATE mbgl-vendor-icu)
|
||||
else()
|
||||
target_sources(mbgl-core PRIVATE platform/qt/src/bidi.cpp)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
||||
macro(mbgl_filesource)
|
||||
target_sources(mbgl-filesource
|
||||
${MBGL_QT_FILESOURCE_FILES}
|
||||
)
|
||||
|
||||
target_link_libraries(mbgl-filesource
|
||||
${MBGL_QT_FILESOURCE_LIBRARIES}
|
||||
)
|
||||
endmacro()
|
||||
|
||||
# FIXME: For now tests are disabled on Windows until we
|
||||
# get the node.js dependencies working.
|
||||
if (NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
|
||||
macro(mbgl_platform_test)
|
||||
target_sources(mbgl-test
|
||||
PRIVATE platform/qt/test/main.cpp
|
||||
PRIVATE platform/qt/test/qmapboxgl.test.cpp
|
||||
PRIVATE platform/qt/test/qmapboxgl.test.cpp
|
||||
)
|
||||
|
||||
target_include_directories(mbgl-test
|
||||
PRIVATE platform/qt
|
||||
)
|
||||
|
||||
set_source_files_properties(
|
||||
platform/qt/test/main.cpp
|
||||
PROPERTIES COMPILE_FLAGS -DWORK_DIRECTORY="${CMAKE_SOURCE_DIR}"
|
||||
)
|
||||
|
||||
target_link_libraries(mbgl-test
|
||||
PRIVATE qmapboxgl
|
||||
PRIVATE mbgl-filesource
|
||||
PRIVATE -pthread
|
||||
)
|
||||
endmacro()
|
||||
endif()
|
||||
@@ -1,77 +0,0 @@
|
||||
# CMake toolchain file for QNX Environment.
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# To use this file, you need to set the 'CMAKE_TOOLCHAIN_FILE' to point to
|
||||
# 'qnx.cmake' on the command line:
|
||||
#
|
||||
# cmake -DDCMAKE_TOOLCHAIN_FILE=platform/qt/qnx.cmake
|
||||
#
|
||||
# You will also need to provide the locations of the QNX HOST and TARGET locations.
|
||||
# This can be done by setting the environment variables(QNX_HOST and QNX_TARGET) from
|
||||
# the command line or running the environment setup script provided by the QNX Software
|
||||
# Development Platform:
|
||||
#
|
||||
# source <SDP_DIRECTORY>/qnxsdp-env.sh
|
||||
#
|
||||
# Options:
|
||||
#
|
||||
# QCC_COMPILER_TARGET:
|
||||
# The compiler name. Default: gcc_ntox86_64.
|
||||
# QCC_NTOARCH:
|
||||
# The architecture to compile for. Default: x86_64.
|
||||
# QNX_HOST:
|
||||
# Environment variable to QNX host build tools location.
|
||||
# QNX_TARGET:
|
||||
# Environment variable to QNX target location.
|
||||
|
||||
set(CMAKE_SYSTEM_NAME QNX)
|
||||
set(CMAKE_HOST_SYSTEM_NAME QNX)
|
||||
SET(CMAKE_SYSTEM_VERSION 7.0.0)
|
||||
set(QCC_COMPILER_TARGET "$ENV{QCC_COMPILER_TARGET}")
|
||||
set(QCC_NTOARCH "$ENV{QCC_NTOARCH}")
|
||||
|
||||
#Check environment variables
|
||||
if ("$ENV{QNX_HOST}" STREQUAL "")
|
||||
message(FATAL_ERROR "QNX_HOST environment variable not set")
|
||||
endif()
|
||||
|
||||
if ("$ENV{QNX_TARGET}" STREQUAL "")
|
||||
message(FATAL_ERROR "QNX_TARGET environment variable not set")
|
||||
endif()
|
||||
|
||||
set(QNX_HOST "$ENV{QNX_HOST}")
|
||||
set(QNX_TARGET "$ENV{QNX_TARGET}")
|
||||
|
||||
# Use 'qcc' instead of nto${QCC_NTOARCH}-gcc and nto${QCC_NTOARCH}-gcc++ once
|
||||
# the issue https://gitlab.kitware.com/cmake/cmake/issues/17126 is resolved.
|
||||
#set(CMAKE_C_COMPILER qcc)
|
||||
#set(CMAKE_C_COMPILER_TARGET ${QCC_COMPILER_TARGET})
|
||||
#set(CMAKE_CXX_COMPILER QCC)
|
||||
#set(CMAKE_CXX_COMPILER_TARGET ${QCC_COMPILER_TARGET})
|
||||
|
||||
set(CMAKE_C_COMPILER ${QNX_HOST}/usr/bin/nto${QCC_NTOARCH}-gcc)
|
||||
set(CMAKE_CXX_COMPILER "${QNX_HOST}/usr/bin/nto${QCC_NTOARCH}-g++")
|
||||
|
||||
set(CMAKE_LINKER "${QNX_HOST}/usr/bin/nto${QCC_NTOARCH}-ld" CACHE PATH "QNX linker program" FORCE)
|
||||
set(CMAKE_AR "${QNX_HOST}/usr/bin/nto${QCC_NTOARCH}-ar" CACHE PATH "QNX ar program" FORCE)
|
||||
set(CMAKE_NM "${QNX_HOST}/usr/bin/nto${QCC_NTOARCH}-nm" CACHE PATH "QNX nm program" FORCE)
|
||||
set(CMAKE_OBJCOPY "${QNX_HOST}/usr/bin/nto${QCC_NTOARCH}-objcopy" CACHE PATH "QNX objcopy program" FORCE)
|
||||
set(CMAKE_OBJDUMP "${QNX_HOST}/usr/bin/nto${QCC_NTOARCH}-objdump" CACHE PATH "QNX objdump program" FORCE)
|
||||
set(CMAKE_RANLIB "${QNX_HOST}/usr/bin/nto${QCC_NTOARCH}-ranlib" CACHE PATH "QNX ranlib program" FORCE)
|
||||
set(CMAKE_STRIP "${QNX_HOST}/usr/bin/nto${QCC_NTOARCH}-strip" CACHE PATH "QNX strip program" FORCE)
|
||||
set (CMAKE_SH "${QNX_HOST}/usr/bin/sh" CACHE PATH "QNX shell program" FORCE)
|
||||
|
||||
set(CMAKE_C_FLAGS_DEBUG "-g")
|
||||
set(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-g -D_DEBUG")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH "${QNX_TARGET}")
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
@@ -1,186 +0,0 @@
|
||||
# This file is to be reused by target platforms that don't
|
||||
# support `mason` (i.e. Yocto). Do not add any `mason` macro.
|
||||
|
||||
option(WITH_QT_DECODERS "Use builtin Qt image decoders" OFF)
|
||||
option(WITH_QT_I18N "Use builtin Qt i18n support" OFF)
|
||||
|
||||
add_definitions("-D__QT__")
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(MBGL_QT_CORE_FILES
|
||||
# Headless view
|
||||
PRIVATE platform/default/src/mbgl/gfx/headless_frontend.cpp
|
||||
PRIVATE platform/default/include/mbgl/gfx/headless_frontend.hpp
|
||||
PRIVATE platform/default/src/mbgl/gfx/headless_backend.cpp
|
||||
PRIVATE platform/default/include/mbgl/gfx/headless_backend.hpp
|
||||
PRIVATE platform/default/src/mbgl/gl/headless_backend.cpp
|
||||
PRIVATE platform/default/include/mbgl/gl/headless_backend.hpp
|
||||
PRIVATE platform/qt/src/headless_backend_qt.cpp
|
||||
|
||||
# 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/local_glyph_rasterizer.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/string_stdlib.cpp
|
||||
PRIVATE platform/qt/src/timer.cpp
|
||||
PRIVATE platform/qt/src/timer_impl.hpp
|
||||
PRIVATE platform/qt/src/utf.cpp
|
||||
PRIVATE platform/qt/src/gl_functions.cpp
|
||||
PRIVATE platform/qt/src/format_number.cpp
|
||||
|
||||
PRIVATE platform/default/src/mbgl/text/collator.cpp
|
||||
PRIVATE platform/default/src/mbgl/text/unaccent.cpp
|
||||
PRIVATE platform/default/include/mbgl/text/unaccent.hpp
|
||||
|
||||
#Layer manager
|
||||
PRIVATE platform/default/src/mbgl/layermanager/layer_manager.cpp
|
||||
)
|
||||
|
||||
set(MBGL_QT_FILESOURCE_FILES
|
||||
# File source
|
||||
PRIVATE platform/default/src/mbgl/storage/file_source.cpp
|
||||
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_map_observer.cpp
|
||||
platform/qt/src/qmapboxgl_map_observer.hpp
|
||||
platform/qt/src/qmapboxgl_map_renderer.cpp
|
||||
platform/qt/src/qmapboxgl_map_renderer.hpp
|
||||
platform/qt/src/qmapboxgl_renderer_backend.cpp
|
||||
platform/qt/src/qmapboxgl_renderer_backend.hpp
|
||||
platform/qt/src/qmapboxgl_scheduler.cpp
|
||||
platform/qt/src/qmapboxgl_scheduler.hpp
|
||||
)
|
||||
|
||||
target_include_directories(qmapboxgl
|
||||
PUBLIC platform/qt/include
|
||||
PRIVATE src
|
||||
)
|
||||
|
||||
target_compile_definitions(qmapboxgl
|
||||
PRIVATE "-DQT_BUILD_MAPBOXGL_LIB"
|
||||
)
|
||||
|
||||
target_link_libraries(qmapboxgl
|
||||
PRIVATE mbgl-core
|
||||
PRIVATE mbgl-filesource
|
||||
${MBGL_QT_CORE_LIBRARIES}
|
||||
${MBGL_QT_FILESOURCE_LIBRARIES}
|
||||
)
|
||||
|
||||
# C++ app
|
||||
add_executable(mbgl-qt
|
||||
platform/qt/app/main.cpp
|
||||
platform/qt/app/mapwindow.cpp
|
||||
platform/qt/app/mapwindow.hpp
|
||||
platform/qt/resources/common.qrc
|
||||
)
|
||||
|
||||
target_compile_options(qmapboxgl
|
||||
PRIVATE -std=c++03
|
||||
)
|
||||
|
||||
target_link_libraries(mbgl-qt
|
||||
PRIVATE qmapboxgl
|
||||
)
|
||||
|
||||
find_package(Qt5Core REQUIRED)
|
||||
find_package(Qt5Gui REQUIRED)
|
||||
find_package(Qt5Network REQUIRED)
|
||||
find_package(Qt5OpenGL REQUIRED)
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
find_package(Qt5Sql REQUIRED)
|
||||
|
||||
# Qt5 always build OpenGL ES2 which is the compatibility
|
||||
# mode. Qt5 will take care of translating the desktop
|
||||
# version of OpenGL to ES2.
|
||||
add_definitions("-DMBGL_USE_GLES2")
|
||||
|
||||
set(MBGL_QT_CORE_LIBRARIES
|
||||
PUBLIC Qt5::Core
|
||||
PUBLIC Qt5::Gui
|
||||
PUBLIC Qt5::OpenGL
|
||||
)
|
||||
|
||||
set(MBGL_QT_FILESOURCE_LIBRARIES
|
||||
PUBLIC Qt5::Network
|
||||
PUBLIC Qt5::Sql
|
||||
)
|
||||
|
||||
target_link_libraries(mbgl-qt
|
||||
PRIVATE Qt5::Widgets
|
||||
)
|
||||
|
||||
xcode_create_scheme(TARGET mbgl-qt)
|
||||
|
||||
# OS specific configurations
|
||||
if (MASON_PLATFORM STREQUAL "osx" OR MASON_PLATFORM STREQUAL "ios")
|
||||
list(APPEND MBGL_QT_CORE_FILES
|
||||
PRIVATE platform/darwin/src/nsthread.mm
|
||||
)
|
||||
list(APPEND MBGL_QT_CORE_LIBRARIES
|
||||
PRIVATE "-framework Foundation"
|
||||
)
|
||||
elseif (CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
list(APPEND MBGL_QT_CORE_FILES
|
||||
PRIVATE platform/default/src/mbgl/util/thread.cpp
|
||||
)
|
||||
elseif (CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
|
||||
add_definitions("-DQT_COMPILING_QIMAGE_COMPAT_CPP")
|
||||
add_definitions("-DRAPIDJSON_HAS_CXX11_RVALUE_REFS")
|
||||
add_definitions("-D_USE_MATH_DEFINES")
|
||||
|
||||
add_definitions("-Wno-deprecated-declarations")
|
||||
add_definitions("-Wno-macro-redefined")
|
||||
add_definitions("-Wno-microsoft-exception-spec")
|
||||
add_definitions("-Wno-unknown-argument")
|
||||
add_definitions("-Wno-unknown-warning-option")
|
||||
add_definitions("-Wno-unused-command-line-argument")
|
||||
add_definitions("-Wno-unused-local-typedef")
|
||||
add_definitions("-Wno-unused-private-field")
|
||||
add_definitions("-Wno-inconsistent-missing-override")
|
||||
|
||||
list(APPEND MBGL_QT_CORE_FILES
|
||||
PRIVATE platform/qt/src/thread.cpp
|
||||
)
|
||||
elseif (CMAKE_HOST_SYSTEM_NAME STREQUAL "QNX")
|
||||
list(APPEND MBGL_QT_CORE_FILES
|
||||
PRIVATE platform/qt/src/thread.cpp
|
||||
)
|
||||
add_definitions("-Wno-narrowing")
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
TARGET qmapboxgl
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
${CMAKE_SOURCE_DIR}/platform/qt/include
|
||||
${CMAKE_CURRENT_BINARY_DIR}/platform/qt/include
|
||||
)
|
||||
|
||||
xcode_create_scheme(TARGET qmapboxgl)
|
||||
Reference in New Issue
Block a user