From 59d06a8632f96db30964719ac4edcb632ab6cb75 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Mon, 7 Jun 2021 21:38:20 -0500 Subject: [PATCH] Integrating mapbox-gl-native --- .gitmodules | 6 +++++ CMakeLists.txt | 46 +++++++++++++++++++++++++++++++++ external/CMakeLists.txt | 4 +++ external/cmake-conan | 1 + external/mapbox-gl-native | 1 + external/mapbox-gl-native.cmake | 28 ++++++++++++++++++++ setup-debug.bat | 5 ++++ setup-release.bat | 5 ++++ tools/setup-common.bat | 5 ++++ 9 files changed, 101 insertions(+) create mode 100644 .gitmodules create mode 100644 CMakeLists.txt create mode 100644 external/CMakeLists.txt create mode 160000 external/cmake-conan create mode 160000 external/mapbox-gl-native create mode 100644 external/mapbox-gl-native.cmake create mode 100644 setup-debug.bat create mode 100644 setup-release.bat create mode 100644 tools/setup-common.bat diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..3498d407 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "external/mapbox-gl-native"] + path = external/mapbox-gl-native + url = ../mapbox-gl-native.git +[submodule "external/cmake-conan"] + path = external/cmake-conan + url = https://github.com/conan-io/cmake-conan.git diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..0453e1a0 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 3.11) +set(PROJECT_NAME supercell-wx) +project(${PROJECT_NAME} CXX) + +set(CMAKE_POLICY_DEFAULT_CMP0054 NEW) +set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) + +enable_testing() + +set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) + +include(${PROJECT_SOURCE_DIR}/external/cmake-conan/conan.cmake) + +conan_cmake_configure(REQUIRES boost/1.76.0 + openssl/1.1.1k + vulkan-loader/1.2.172 + GENERATORS cmake + cmake_find_package + cmake_paths + BUILD_REQUIRES cmake/3.19.4 + IMPORTS "bin, *.dll -> ./bin" + IMPORTS "lib, *.dylib -> ./bin" + OPTIONS openssl:shared=True) + +conan_cmake_autodetect(settings) + +conan_cmake_install(PATH_OR_REFERENCE . + BUILD missing + REMOTE conan-center + SETTINGS ${settings}) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +include(${CMAKE_BINARY_DIR}/conan_paths.cmake) +conan_basic_setup(TARGETS) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBOOST_ALL_NO_LIB") + +set(SUPERCELL_WX_DIR ${PROJECT_SOURCE_DIR}) + +option(BUILD_DOCS "Build documentation" OFF) + +add_subdirectory(external) + +if(BUILD_DOCS) + add_subdirectory(docs) +endif() diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt new file mode 100644 index 00000000..b6513bcb --- /dev/null +++ b/external/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.11) +set(PROJECT_NAME scwx-external) + +include(mapbox-gl-native.cmake) diff --git a/external/cmake-conan b/external/cmake-conan new file mode 160000 index 00000000..f166ec12 --- /dev/null +++ b/external/cmake-conan @@ -0,0 +1 @@ +Subproject commit f166ec12c615da39365b4a7f63958f7ed352a620 diff --git a/external/mapbox-gl-native b/external/mapbox-gl-native new file mode 160000 index 00000000..40b8010d --- /dev/null +++ b/external/mapbox-gl-native @@ -0,0 +1 @@ +Subproject commit 40b8010d12e82d0e6505aecedd641de70fe41cf7 diff --git a/external/mapbox-gl-native.cmake b/external/mapbox-gl-native.cmake new file mode 100644 index 00000000..6c550001 --- /dev/null +++ b/external/mapbox-gl-native.cmake @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.11) +set(PROJECT_NAME scwx-mbgl) + +set(gtest_disable_pthreads ON) +set(MBGL_WITH_QT ON) +add_subdirectory(mapbox-gl-native) + +set_target_properties(mbgl-qt PROPERTIES EXCLUDE_FROM_ALL True) +set_target_properties(mbgl-test-runner PROPERTIES EXCLUDE_FROM_ALL True) +set_target_properties(mbgl-vendor-icu PROPERTIES EXCLUDE_FROM_ALL True) + +set_target_properties(mbgl-benchmark PROPERTIES FOLDER mbgl/exclude) +set_target_properties(mbgl-render-test PROPERTIES FOLDER mbgl/exclude) +set_target_properties(mbgl-test PROPERTIES FOLDER mbgl/exclude) +set_target_properties(mbgl-vendor-benchmark PROPERTIES FOLDER mbgl/exclude) +set_target_properties(mbgl-vendor-googletest PROPERTIES FOLDER mbgl/exclude) +set_target_properties(mbgl-vendor-icu PROPERTIES FOLDER mbgl/exclude) +set_target_properties(mbgl-core-license PROPERTIES FOLDER mbgl/exclude) +set_target_properties(mbgl-qt PROPERTIES FOLDER mbgl/exclude) +set_target_properties(mbgl-qt-docs PROPERTIES FOLDER mbgl/exclude) +set_target_properties(mbgl-test-runner PROPERTIES FOLDER mbgl/exclude) + +set_target_properties(mbgl-core PROPERTIES FOLDER mbgl) +set_target_properties(mbgl-vendor-csscolorparser PROPERTIES FOLDER mbgl) +set_target_properties(mbgl-vendor-nunicode PROPERTIES FOLDER mbgl) +set_target_properties(mbgl-vendor-parsedate PROPERTIES FOLDER mbgl) +set_target_properties(mbgl-vendor-sqlite PROPERTIES FOLDER mbgl) +set_target_properties(qmapboxgl PROPERTIES FOLDER mbgl) diff --git a/setup-debug.bat b/setup-debug.bat new file mode 100644 index 00000000..31891eed --- /dev/null +++ b/setup-debug.bat @@ -0,0 +1,5 @@ +call tools\setup-common.bat +mkdir build-debug +cd build-debug +cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CONFIGURATION_TYPES=Debug -DCMAKE_PREFIX_PATH=C:\Qt\6.1.0\msvc2019_64 .. +pause diff --git a/setup-release.bat b/setup-release.bat new file mode 100644 index 00000000..13bc4c34 --- /dev/null +++ b/setup-release.bat @@ -0,0 +1,5 @@ +call tools\setup-common.bat +mkdir build-release +cd build-release +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CONFIGURATION_TYPES=Release -DCMAKE_PREFIX_PATH=C:\Qt\6.1.0\msvc2019_64 .. +pause diff --git a/tools/setup-common.bat b/tools/setup-common.bat new file mode 100644 index 00000000..e559dd4e --- /dev/null +++ b/tools/setup-common.bat @@ -0,0 +1,5 @@ +pip install conan +pip install sphinx +pip install sphinx_rtd_theme +pip install breathe +conan profile new default --detect