Skip to content
Merged
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
14 changes: 7 additions & 7 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ jobs:
OFFFSET: 10 # offset for build number - due to previous builds ~ new builds must always have a higher number
run: |
BUILD_NUM=$GITHUB_RUN_NUMBER$((GITHUB_RUN_ATTEMPT + OFFFSET))
echo "INPUT_VERSION_CODE=${BUILD_NUM}" >> $GITHUB_ENV
echo "MM_VERSION_CODE=${BUILD_NUM}" >> $GITHUB_ENV

echo "Version code: ${BUILD_NUM}"

Expand Down Expand Up @@ -234,13 +234,13 @@ jobs:
run: |
mv \
${{ github.workspace }}/build-mm/app/android-build/build/outputs/apk/release/android-build-release-signed.apk \
${{ github.workspace }}/merginmaps-${{ env.INPUT_VERSION_CODE }}.apk
${{ github.workspace }}/merginmaps-${{ env.MM_VERSION_CODE }}.apk

- name: Upload APK to Artifacts
uses: actions/upload-artifact@v4
with:
path: ${{ github.workspace }}/merginmaps-${{ env.INPUT_VERSION_CODE }}.apk
name: Mergin Maps ${{ env.INPUT_VERSION_CODE }} APK [${{ matrix.ANDROID_ABI }}]
path: ${{ github.workspace }}/merginmaps-${{ env.MM_VERSION_CODE }}.apk
name: Mergin Maps ${{ env.MM_VERSION_CODE }} APK [${{ matrix.ANDROID_ABI }}]

- name: Build AAB
if: ${{ github.ref_name == 'master' || startsWith( github.ref_name, 'dev/' ) || github.ref_type == 'tag' }}
Expand All @@ -258,11 +258,11 @@ jobs:
run: |
mv \
${{ github.workspace }}/build-mm/app/android-build/build/outputs/bundle/release/android-build-release.aab \
${{ github.workspace }}/merginmaps-${{ env.INPUT_VERSION_CODE }}.aab
${{ github.workspace }}/merginmaps-${{ env.MM_VERSION_CODE }}.aab

- name: Upload AAB to Artifacts
if: ${{ github.ref_name == 'master' || startsWith( github.ref_name, 'dev/' ) || github.ref_type == 'tag' }}
uses: actions/upload-artifact@v4
with:
path: ${{ github.workspace }}/merginmaps-${{ env.INPUT_VERSION_CODE }}.aab
name: Mergin Maps ${{ env.INPUT_VERSION_CODE }} AAB [${{ matrix.ANDROID_ABI }}]
path: ${{ github.workspace }}/merginmaps-${{ env.MM_VERSION_CODE }}.aab
name: Mergin Maps ${{ env.MM_VERSION_CODE }} AAB [${{ matrix.ANDROID_ABI }}]
14 changes: 7 additions & 7 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ jobs:
TIMESTAMP=`date "+%y.%-m"`
CF_BUNDLE_VERSION=${TIMESTAMP}.${BUILD_NUM}

echo "INPUT_VERSION_CODE=${CF_BUNDLE_VERSION}" >> $GITHUB_ENV
echo "MM_VERSION_CODE=${CF_BUNDLE_VERSION}" >> $GITHUB_ENV
echo "Build number: ${CF_BUNDLE_VERSION}"

# add build number to summary
Expand Down Expand Up @@ -178,19 +178,19 @@ jobs:
cd build-mm

xcodebuild \
-project Input.xcodeproj/ \
-scheme Input \
-project MerginMaps.xcodeproj/ \
-scheme MerginMaps \
-sdk iphoneos \
-configuration Release \
archive -archivePath Input.xcarchive \
archive -archivePath MerginMaps.xcarchive \
"OTHER_CODE_SIGN_FLAGS=--keychain '$KEYCHAIN'"

- name: Create package
run: |
INPUT_DIR=`pwd`/mm
cd build-mm
xcodebuild \
-archivePath Input.xcarchive \
-archivePath MerginMaps.xcarchive \
-exportOptionsPlist $INPUT_DIR/scripts/ci/ios/exportOptions.plist \
-exportPath $PWD \
-allowProvisioningUpdates \
Expand All @@ -203,6 +203,6 @@ jobs:
INPUTAPP_BOT_GITHUB_TOKEN: ${{ secrets.INPUTAPP_BOT_GITHUB_TOKEN }}
if: success()
run: |
CF_BUNDLE_VERSION=`/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" build-mm/app/CMakeFiles/Input.dir/Info.plist`
CF_BUNDLE_VERSION=`/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" build-mm/app/CMakeFiles/MerginMaps.dir/Info.plist`
echo "Publishing ios ${CF_BUNDLE_VERSION}"
xcrun altool --upload-app -t ios -f build-mm/Input.ipa -u "$INPUTAPP_BOT_APPLEID_USER" -p "$INPUTAPP_BOT_APPLEID_PASS" --verbose
xcrun altool --upload-app -t ios -f build-mm/MerginMaps.ipa -u "$INPUTAPP_BOT_APPLEID_USER" -p "$INPUTAPP_BOT_APPLEID_PASS" --verbose
8 changes: 4 additions & 4 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ jobs:
- name: Calculate build number
run: |
BUILD_NUM=$GITHUB_RUN_NUMBER$GITHUB_RUN_ATTEMPT
echo "INPUT_VERSION_CODE=${BUILD_NUM}" >> $GITHUB_ENV
echo "MM_VERSION_CODE=${BUILD_NUM}" >> $GITHUB_ENV

echo "Version code: ${BUILD_NUM}"

Expand Down Expand Up @@ -159,7 +159,7 @@ jobs:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: build-mm-db/coverage.info

- name: build Input
- name: build app
run: |
mkdir -p install-mm
mkdir -p build-mm
Expand All @@ -186,9 +186,9 @@ jobs:
with:
format: 'YYYYMMDD'

- name: package Input
- name: package app
run: |
MM_TAR=input-${{ env.INPUT_SDK_VERSION }}-${{ steps.time.outputs.formattedTime }}-${{ github.run_number }}.tar.gz
MM_TAR=input-${{ env.MM_VERSION_CODE }}-${{ steps.time.outputs.formattedTime }}-${{ github.run_number }}.tar.gz
echo "MM_TAR=${MM_TAR}" >> $GITHUB_ENV

cd ${{ github.workspace }}/install-mm
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ jobs:
- name: Calculate build number
run: |
BUILD_NUM=$GITHUB_RUN_NUMBER$GITHUB_RUN_ATTEMPT
echo "INPUT_VERSION_CODE=${BUILD_NUM}" >> $GITHUB_ENV
echo "MM_VERSION_CODE=${BUILD_NUM}" >> $GITHUB_ENV
echo "Version code: ${BUILD_NUM}"
- name: build app (debug)
run: |
Expand Down Expand Up @@ -180,7 +180,7 @@ jobs:
export API_KEY_PATH=authkey.p8
fi

export APP_PATH=${{ github.workspace }}/install-mm/Input.app
export APP_PATH=${{ github.workspace }}/install-mm/MerginMaps.app
export DMG_PATH=merginmaps-${{ steps.time.outputs.formattedTime }}-${{ github.run_number }}.dmg
./mm/scripts/create_dmg.sh

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ jobs:
shell: bash
run: |
BUILD_NUM=$GITHUB_RUN_NUMBER$GITHUB_RUN_ATTEMPT
echo "INPUT_VERSION_CODE=${BUILD_NUM}" >> $GITHUB_ENV
echo "MM_VERSION_CODE=${BUILD_NUM}" >> $GITHUB_ENV
echo "Version code: ${BUILD_NUM}"

- name: Setup compiler
Expand Down Expand Up @@ -151,7 +151,7 @@ jobs:

cmake --build ${{ github.workspace }}\build-mm --config Release --verbose

IF NOT EXIST Release\Input.exe (echo err_INPUT_BUILD & exit /b 1)
IF NOT EXIST Release\MerginMaps.exe (echo err_MERGINMAPS_BUILD & exit /b 1)

- name: Install app
shell: cmd
Expand Down
80 changes: 18 additions & 62 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ if (ANDROID_ABI)
set(ANDROID_STL "c++_shared")
set(ANDROID_ARM_NEON ON)

# Target/Minimum API levels for Android, used as Input target properties
set(INPUT_ANDROID_TARGET_SDK_VERSION "35")
set(INPUT_ANDROID_MIN_SDK_VERSION "${ANDROIDAPI}")
set(INPUT_ANDROID_NDK_PATH "$ENV{ANDROID_NDK_HOME}")
if (NOT INPUT_ANDROID_NDK_PATH)
# Target/Minimum API levels for Android, used as MerginMaps target properties
set(MM_ANDROID_TARGET_SDK_VERSION "35")
set(MM_ANDROID_MIN_SDK_VERSION "${ANDROIDAPI}")
set(MM_ANDROID_NDK_PATH "$ENV{ANDROID_NDK_HOME}")
if (NOT MM_ANDROID_NDK_PATH)
message(FATAL_ERROR "Set required environment variable ANDROID_NDK_HOME.")
endif ()
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE
"${INPUT_ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake"
"${MM_ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake"
)
endif ()

Expand All @@ -61,15 +61,12 @@ endif ()
# ########################################################################################
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})

# TODO remove this variable
set(INPUT_CMAKE_TEMPLATES_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_templates)

include(VersionDetect)
include(PlatformDetect)
mm_detect_platform()

project(
Input
MerginMaps
VERSION ${MM_VERSION_MAJOR}.${MM_VERSION_MINOR}.${MM_VERSION_PATCH}
DESCRIPTION "Collect. Share. Publish."
HOMEPAGE_URL "https://merginmaps.com"
Expand All @@ -92,15 +89,15 @@ else ()
set(HAVE_BLUETOOTH_DEFAULT TRUE)
endif ()

if (DEFINED ENV{INPUT_VERSION_CODE})
set(INPUT_VERSION_CODE_DEFAULT "$ENV{INPUT_VERSION_CODE}")
if (DEFINED ENV{MM_VERSION_CODE})
set(MM_VERSION_CODE_DEFAULT "$ENV{MM_VERSION_CODE}")
else ()
if (ANDROID)
set(INPUT_VERSION_CODE_DEFAULT "0000000")
set(MM_VERSION_CODE_DEFAULT "0000000")
elseif (IOS)
set(INPUT_VERSION_CODE_DEFAULT "00.00.000000")
set(MM_VERSION_CODE_DEFAULT "00.00.000000")
else ()
set(INPUT_VERSION_CODE_DEFAULT "000000")
set(MM_VERSION_CODE_DEFAULT "000000")
endif ()
endif ()

Expand Down Expand Up @@ -141,8 +138,8 @@ set(USE_KEYCHAIN
"Whether to use keychains/wallets to store credentials. If false, we use QSettings"
)

set(INPUT_VERSION_CODE
"${INPUT_VERSION_CODE_DEFAULT}"
set(MM_VERSION_CODE
"${MM_VERSION_CODE_DEFAULT}"
CACHE STRING "Build version (for stores)"
)

Expand Down Expand Up @@ -303,24 +300,24 @@ if (IOS)
add_compile_definitions(QT_NO_PRINTER)
endif ()

# This is for QGIS defined, do not move to inputconfig.h
# This is for QGIS defined, do not move to mmconfig.h
add_compile_definitions(HAVE_WIDGETS)

# QGIS defines
# add_compile_definitions("$<$<CONFIG:DEBUG>:QGIS_PREFIX_PATH=${QGIS_PREFIX_PATH}>")
add_compile_definitions("$<$<CONFIG:DEBUG>:QGIS_QUICK_EXPAND_TEST_DATA>")

# Generate inputconfig.h
if (ENABLE_TESTS)
set(INPUT_TEST TRUE)
set(MM_TEST TRUE)
file(COPY test/test_data DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/test/)
set(TEST_DATA_DIR "${CMAKE_CURRENT_BINARY_DIR}/test/test_data")
endif ()

set(MM_FORMATS_PATH "${CMAKE_CURRENT_SOURCE_DIR}/docs/supported_formats.txt")

# Generate mmconfig.h
configure_file(
${CMAKE_SOURCE_DIR}/cmake_templates/inputconfig.h.in ${CMAKE_BINARY_DIR}/inputconfig.h
${CMAKE_SOURCE_DIR}/cmake_templates/mmconfig.h.in ${CMAKE_BINARY_DIR}/mmconfig.h
)
include_directories(${CMAKE_BINARY_DIR})

Expand Down Expand Up @@ -379,28 +376,6 @@ if (ANDROID)
# set(ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_BINARY_DIR}/android-template)
endif ()

if (ANDROID)
if (VCPKG_TARGET_TRIPLET STREQUAL "arm-android")
set(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} -fPIC -fstack-protector-strong -lunwind -Wl,--exclude-libs=libunwind.a"
)
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -fPIC -fstack-protector-strong -lunwind -Wl,--exclude-libs=libunwind.a"
)
else ()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -fstack-protector-strong")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -fstack-protector-strong")
endif ()

link_libraries("-ljnigraphics")

# Make sure the generator for android_deployment_settings.json can figure out the
# architecture
list(APPEND CMAKE_FIND_ROOT_PATH /)

# set(ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_BINARY_DIR}/android-template)
endif ()

Comment on lines -382 to -403
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this is removed and what does it have with renaming of input -> mm?

# ########################################################################################
# RESOURCES
# ########################################################################################
Expand All @@ -418,25 +393,6 @@ file(
PATTERN "*.cmake" EXCLUDE
PATTERN "vcpkg*" EXCLUDE
)

# ########################################################################################
# RESOURCES
# ########################################################################################
message(STATUS "Copying proj and qgis resources to android/assets/qgis-data")
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/app/android/assets/qgis-data/resources)
file(COPY ${QGIS_RESOURCE_DIR}/qgis.db
DESTINATION ${CMAKE_BINARY_DIR}/app/android/assets/qgis-data/resources/
)
file(COPY ${QGIS_RESOURCE_DIR}/srs.db
DESTINATION ${CMAKE_BINARY_DIR}/app/android/assets/qgis-data/resources/
)
file(
COPY ${PROJ_DIR}
DESTINATION ${CMAKE_BINARY_DIR}/app/android/assets/qgis-data/
PATTERN "*.cmake" EXCLUDE
PATTERN "vcpkg*" EXCLUDE
)

Comment on lines -421 to -439
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this is removed and what does it have with renaming of input -> mm?

# ########################################################################################
# SUBDIRECTORIES
# ########################################################################################
Expand Down
Loading
Loading