Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 30 additions & 3 deletions .github/workflows/build-cmake.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,12 @@ jobs:
cc: clang
cxx: clang++
developer-dir: /Applications/Xcode_16.4.app/Contents/Developer

- os: windows-2025
cc: cl.exe
cxx: cl.exe
unity: OFF

exclude:
- environment: { unity: OFF }
cmake-build-type: Release
Expand Down Expand Up @@ -118,15 +124,37 @@ jobs:
brew install ninja qt@6
pip3 install tornado --break-system-packages

- name: Install Qt
if: ${{ runner.os == 'Windows' }}
uses: jurplel/install-qt-action@v4

- name: Configure repository
if: ${{ runner.os != 'Windows' }}
shell: bash
run: ./configure.sh

- uses: ilammy/msvc-dev-cmd@v1
if: ${{ runner.os == 'Windows' }}

- name: Bootstrap boost (Windows)
if: ${{ runner.os == 'Windows' }}
shell: cmd
run: .\bootstrap.bat
working-directory: ./3party/boost

- name: Install boost (Windows)
if: ${{ runner.os == 'Windows' }}
shell: cmd
run: .\b2.exe headers
working-directory: ./3party/boost

- name: Configure ccache
uses: hendrikmuhs/[email protected]
with:
key: ${{ github.workflow }}-${{ matrix.environment.os }}-${{ matrix.environment.cc }}-${{ matrix.environment.unity }}-${{ matrix.cmake-build-type }}

- name: Configure cmake
shell: bash
env:
CC: ${{ matrix.environment.cc }}
CXX: ${{ matrix.environment.cxx }}
Expand All @@ -136,13 +164,12 @@ jobs:
run: |
cmake . -B ${{ env.BUILD_DIR }} -G Ninja \
-DCMAKE_BUILD_TYPE=${{ matrix.cmake-build-type }} \
-DCMAKE_C_FLAGS=-g1 \
-DCMAKE_CXX_FLAGS=-g1 \
-DCMAKE_UNITY_BUILD=${UNITY_BUILD}

- name: Compile
shell: bash
working-directory: ${{ env.BUILD_DIR }}
run: ninja
run: cmake --build .

- name: Prepare testing environment (Linux)
if: ${{ runner.os == 'Linux' }}
Expand Down
57 changes: 0 additions & 57 deletions .github/workflows/code-style-check.yaml

This file was deleted.

13 changes: 13 additions & 0 deletions 3party/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,19 @@ if (NOT WITH_SYSTEM_PROVIDED_3PARTY)
add_library(utf8cpp INTERFACE)
add_library(utf8cpp::utf8cpp ALIAS utf8cpp)
target_include_directories(utf8cpp INTERFACE "${OMIM_ROOT}/3party/utfcpp/source")

set(ZLIB_BUILD_EXAMPLES OFF)
set(SKIP_INSTALL_ALL ON)
include(FetchContent)
FetchContent_Declare(
zlib
GIT_REPOSITORY https://github.com/madler/zlib.git
GIT_TAG v1.3.1
)
FetchContent_MakeAvailable(zlib)
set_target_properties(zlib PROPERTIES UNITY_BUILD OFF)
set_target_properties(zlibstatic PROPERTIES UNITY_BUILD OFF)
add_library(ZLIB::ZLIB ALIAS zlibstatic)
endif()

add_subdirectory(agg)
Expand Down
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -187,10 +187,9 @@ if (WITH_SYSTEM_PROVIDED_3PARTY)
find_package(jansson CONFIG REQUIRED)
find_package(pugixml REQUIRED)
find_package(utf8cpp REQUIRED)
find_package(ZLIB REQUIRED)
endif()

find_package(ZLIB REQUIRED)

# Include 3party dependencies.
add_subdirectory(3party)

Expand Down
71 changes: 35 additions & 36 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -295,42 +295,41 @@ dependencies {
testImplementation 'org.mockito:mockito-inline:5.2.0'
}

afterEvaluate {
def allowedPermissions = [
// location
"name='android.permission.ACCESS_COARSE_LOCATION'",
"name='android.permission.ACCESS_FINE_LOCATION'",
"name='android.permission.ACCESS_LOCATION_EXTRA_COMMANDS'",
// network
"name='android.permission.INTERNET'",
"name='android.permission.ACCESS_NETWORK_STATE'",
// foreground services
"name='android.permission.FOREGROUND_SERVICE'",
"name='android.permission.FOREGROUND_SERVICE_LOCATION'",
"name='android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK'",
"name='android.permission.FOREGROUND_SERVICE_DATA_SYNC'",
"name='android.permission.FOREGROUND_SERVICE_SPECIAL_USE'",
// notifications
"name='android.permission.POST_NOTIFICATIONS'",
// wake lock
"name='android.permission.WAKE_LOCK'",
// Android Auto
"name='androidx.car.app.NAVIGATION_TEMPLATES'",
"name='androidx.car.app.ACCESS_SURFACE'",
// storage
"name='android.permission.READ_EXTERNAL_STORAGE' maxSdkVersion='22'",
// internal permissions
// comes from androidx.work:work-runtime
"name='android.permission.RECEIVE_BOOT_COMPLETED'",
// all apps targeting Android 13 and higher automatically get RECEIVER_NOT_EXPORTED_PERMISSION flag added to their Manifest files
// Regex to allow it for the following app packages:
// app.organicmaps
// app.organicmaps.(debug|beta)
// app.organicmaps.web.(debug|beta)
~/name='app\.organicmaps(\.web)?(\.debug|\.beta)?\.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION'/
]
registerCheckApkPermissionsTasks(project, allowedPermissions)
}
def allowedPermissions = [
// location
"name='android.permission.ACCESS_COARSE_LOCATION'",
"name='android.permission.ACCESS_FINE_LOCATION'",
"name='android.permission.ACCESS_LOCATION_EXTRA_COMMANDS'",
// network
"name='android.permission.INTERNET'",
"name='android.permission.ACCESS_NETWORK_STATE'",
// foreground services
"name='android.permission.FOREGROUND_SERVICE'",
"name='android.permission.FOREGROUND_SERVICE_LOCATION'",
"name='android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK'",
"name='android.permission.FOREGROUND_SERVICE_DATA_SYNC'",
"name='android.permission.FOREGROUND_SERVICE_SPECIAL_USE'",
// notifications
"name='android.permission.POST_NOTIFICATIONS'",
// wake lock
"name='android.permission.WAKE_LOCK'",
// Android Auto
"name='androidx.car.app.NAVIGATION_TEMPLATES'",
"name='androidx.car.app.ACCESS_SURFACE'",
// storage
"name='android.permission.READ_EXTERNAL_STORAGE' maxSdkVersion='22'",
// internal permissions
// comes from androidx.work:work-runtime
"name='android.permission.RECEIVE_BOOT_COMPLETED'",
// all apps targeting Android 13 and higher automatically get RECEIVER_NOT_EXPORTED_PERMISSION flag added to their Manifest files
// Regex to allow it for the following app packages:
// app.organicmaps
// app.organicmaps.(debug|beta)
// app.organicmaps.web
// app.organicmaps.web.(debug|beta)
~/name='app\.organicmaps(\.web)?(\.debug|\.beta)?\.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION'/
]
registerCheckApkPermissionsTasks(project, allowedPermissions)

android.applicationVariants.all { variant ->
def authorityValue = variant.applicationId + ".provider"
Expand Down
39 changes: 0 additions & 39 deletions android/app/src/main/res/values-bn/strings.xml

This file was deleted.

22 changes: 0 additions & 22 deletions android/app/src/main/res/values-ia/strings.xml

This file was deleted.

Loading
Loading