Skip to content

Commit

Permalink
Merge master into release
Browse files Browse the repository at this point in the history
  • Loading branch information
dg0yt committed Dec 5, 2019
2 parents 5611e99 + 4629f19 commit 192ba1f
Show file tree
Hide file tree
Showing 130 changed files with 192,396 additions and 163,460 deletions.
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ endif()

# Project declaration

project(Mapper VERSION 0.9.0 LANGUAGES CXX C)
project(Mapper VERSION 0.9.1 LANGUAGES CXX C)
set(Mapper_COPYRIGHT "(C) 2019 The OpenOrienteering developers")

math(EXPR Mapper_VERSION_CODE "${Mapper_VERSION_MAJOR} * 10000 + ${Mapper_VERSION_MINOR} * 100 + ${Mapper_VERSION_PATCH} * 2 + ${CMAKE_SIZEOF_VOID_P} / 4 - 1")

Expand All @@ -41,7 +42,7 @@ else()
set(Mapper_VERSION_DISPLAY "${Mapper_VERSION}")
endif()

set(Mapper_COPYRIGHT "(C) 2012-2018 The OpenOrienteering developers")
string(REGEX REPLACE "[\\/:*?| ]" "_" Mapper_VERSION_FILESYSTEM "${Mapper_VERSION_DISPLAY}")

if(${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
message(AUTHOR_WARNING "In-source builds are discouraged for development.")
Expand Down
12 changes: 10 additions & 2 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,17 @@ libcups2-dev \
libgdal-dev \
libpolyclipping-dev \
libproj-dev \
libqt5sensors5-dev \
libqt5serialport5-dev \
libqt5sql5-sqlite \
qt5-default \
qtbase5-dev qtbase5-private-dev qtbase5-dev-tools \
qttools5-dev qttools5-dev-tools libqt5sql5-sqlite \
qt5-image-formats-plugins \
qtbase5-dev \
qtbase5-dev-tools \
qtbase5-private-dev \
qtpositioning5-dev \
qttools5-dev \
qttools5-dev-tools \
zlib1g-dev
```

Expand Down
68 changes: 48 additions & 20 deletions ci/azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,16 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

variables:
ENABLE_PDF_MANUAL: 0

jobs:
- job: Codespell
pool:
vmImage: 'ubuntu-18.04'
steps:
- checkout: self
fetchDepth: 1
- template: codespell.yml


Expand All @@ -40,6 +45,8 @@ jobs:
pool:
vmImage: 'ubuntu-18.04'
steps:
- checkout: self
fetchDepth: 1
- template: release-notes.yml


Expand All @@ -48,10 +55,12 @@ jobs:
dependsOn: Release_Notes
variables:
IMAGE_NAME: 'macos-10.13'
SUPERBUILD_INSTALL_DIR: /Users/vsts/superbuild
SUPERBUILD_INSTALL_DIR: $(HOME)/superbuild
pool:
vmImage: '$(IMAGE_NAME)'
steps:
- checkout: self
fetchDepth: 1
- template: setup-macos.yml
- bash: |
echo "##vso[task.setVariable variable=ORIG_TEST_RESULTS]${TEST_RESULTS}"
Expand All @@ -60,7 +69,7 @@ jobs:
parameters:
cmakeArgs: >
-DCMAKE_BUILD_TYPE=Release
"-DCMAKE_PREFIX_PATH=/Users/vsts/superbuild\;/usr"
"-DCMAKE_PREFIX_PATH=$(HOME)/superbuild\;/usr"
-DCMAKE_FIND_FRAMEWORK=LAST
-DCMAKE_FIND_APPBUNDLE=LAST
-DMapper_CI_ENABLE_GDAL=0
Expand All @@ -74,7 +83,7 @@ jobs:
parameters:
cmakeArgs: >
-DCMAKE_BUILD_TYPE=Release
"-DCMAKE_PREFIX_PATH=/Users/vsts/superbuild\;/usr"
"-DCMAKE_PREFIX_PATH=$(HOME)/superbuild\;/usr"
-DCMAKE_FIND_FRAMEWORK=LAST
-DCMAKE_FIND_APPBUNDLE=LAST
-DMapper_CI_ENABLE_GDAL=1
Expand All @@ -89,18 +98,22 @@ jobs:
condition: succeededOrFailed()
variables:
IMAGE_NAME: 'ubuntu-18.04'
SUPERBUILD_INSTALL_DIR: /home/vsts/superbuild
SUPERBUILD_INSTALL_DIR: $(HOME)/superbuild
CLAZY_VERSION: 1.5
CLAZY_CHECKS: 'level0,level1,no-rule-of-two-soft,no-const-signal-or-slot,no-fully-qualified-moc-types'
CLAZY_IGNORE_DIRS: '.*printsupport.qt-5.*'
CLAZY_NO_WERROR: 1
ENABLE_PDF_MANUAL: 1
pool:
vmImage: '$(IMAGE_NAME)'
steps:
- checkout: self
fetchDepth: 1
- template: setup-ubuntu.yml
- template: build.yml
parameters:
cmakeArgs: >
-G Ninja
-DCMAKE_BUILD_TYPE=RelWithDebInfo
- template: publish.yml
- bash: |
Expand All @@ -111,11 +124,11 @@ jobs:
- job: Linux_Coverage
displayName: Linux (Debug, coverage)
dependsOn: Linux_clazy
dependsOn: macOS
condition: succeededOrFailed()
variables:
IMAGE_NAME: 'ubuntu-18.04'
SUPERBUILD_INSTALL_DIR: /home/vsts/superbuild
SUPERBUILD_INSTALL_DIR: $(HOME)/superbuild
CC: gcc
CFLAGS: -fprofile-arcs -ftest-coverage
CXX: g++
Expand All @@ -124,11 +137,12 @@ jobs:
pool:
vmImage: '$(IMAGE_NAME)'
steps:
- checkout: self
fetchDepth: 1
- template: setup-ubuntu.yml
- template: build.yml
parameters:
cmakeArgs: >
-G Ninja
-DCMAKE_BUILD_TYPE=Debug
-DMapper_CI_ENABLE_COVERAGE=1
buildArgs:
Expand All @@ -140,12 +154,14 @@ jobs:
dependsOn: Release_Notes
variables:
IMAGE_NAME: 'macos-10.13'
SUPERBUILD_INSTALL_DIR: /Users/vsts/superbuild
SUPERBUILD_INSTALL_DIR: $(HOME)/superbuild
TARGET: armv7a-linux-androideabi
TARGET_SUFFIX: -$(TARGET)
pool:
vmImage: '$(IMAGE_NAME)'
steps:
- checkout: self
fetchDepth: 1
- template: setup-macos.yml
- template: build.yml
parameters:
Expand All @@ -157,8 +173,8 @@ jobs:
-D$(TARGET)_TOOLCHAIN_DIR=$(SUPERBUILD_INSTALL_DIR)/$(TARGET)/toolchain
-DMapper_CI_APP_ID=org.openorienteering.mapper$(APP_ID_SUFFIX)
-DMapper_CI_GDAL_DATA_DIR=$(SUPERBUILD_INSTALL_DIR)/$(TARGET)/usr/share/gdal
-DANDROID_SDK_INSTALL_ROOT=/Users/vsts
-DANDROID_NDK_INSTALL_ROOT=/Users/vsts
-DANDROID_SDK_INSTALL_ROOT=$(HOME)
-DANDROID_NDK_INSTALL_ROOT=$(HOME)
-DANDROID_BUILD_LIBCXX=1
buildArgs: -j5
toolchainTargets:
Expand All @@ -173,12 +189,14 @@ jobs:
dependsOn: Android_armv7
variables:
IMAGE_NAME: 'macos-10.13'
SUPERBUILD_INSTALL_DIR: /Users/vsts/superbuild
SUPERBUILD_INSTALL_DIR: $(HOME)/superbuild
TARGET: aarch64-linux-android
TARGET_SUFFIX: -$(TARGET)
pool:
vmImage: '$(IMAGE_NAME)'
steps:
- checkout: self
fetchDepth: 1
- template: setup-macos.yml
- template: build.yml
parameters:
Expand All @@ -190,8 +208,8 @@ jobs:
-D$(TARGET)_TOOLCHAIN_DIR=$(SUPERBUILD_INSTALL_DIR)/$(TARGET)/toolchain
-DMapper_CI_APP_ID=org.openorienteering.mapper$(APP_ID_SUFFIX)
-DMapper_CI_GDAL_DATA_DIR=$(SUPERBUILD_INSTALL_DIR)/$(TARGET)/usr/share/gdal
-DANDROID_SDK_INSTALL_ROOT=/Users/vsts
-DANDROID_NDK_INSTALL_ROOT=/Users/vsts
-DANDROID_SDK_INSTALL_ROOT=$(HOME)
-DANDROID_NDK_INSTALL_ROOT=$(HOME)
-DANDROID_BUILD_LIBCXX=1
buildArgs: -j5
toolchainTargets:
Expand All @@ -206,12 +224,14 @@ jobs:
dependsOn: Android_x86_64
variables:
IMAGE_NAME: 'macos-10.13'
SUPERBUILD_INSTALL_DIR: /Users/vsts/superbuild
SUPERBUILD_INSTALL_DIR: $(HOME)/superbuild
TARGET: i686-linux-android
TARGET_SUFFIX: -$(TARGET)
pool:
vmImage: '$(IMAGE_NAME)'
steps:
- checkout: self
fetchDepth: 1
- template: setup-macos.yml
- template: build.yml
parameters:
Expand All @@ -223,8 +243,8 @@ jobs:
-D$(TARGET)_TOOLCHAIN_DIR=$(SUPERBUILD_INSTALL_DIR)/$(TARGET)/toolchain
-DMapper_CI_APP_ID=org.openorienteering.mapper$(APP_ID_SUFFIX)
-DMapper_CI_GDAL_DATA_DIR=$(SUPERBUILD_INSTALL_DIR)/$(TARGET)/usr/share/gdal
-DANDROID_SDK_INSTALL_ROOT=/Users/vsts
-DANDROID_NDK_INSTALL_ROOT=/Users/vsts
-DANDROID_SDK_INSTALL_ROOT=$(HOME)
-DANDROID_NDK_INSTALL_ROOT=$(HOME)
-DANDROID_BUILD_LIBCXX=1
buildArgs: -j5
toolchainTargets:
Expand All @@ -239,12 +259,14 @@ jobs:
dependsOn: Release_Notes
variables:
IMAGE_NAME: 'macos-10.13'
SUPERBUILD_INSTALL_DIR: /Users/vsts/superbuild
SUPERBUILD_INSTALL_DIR: $(HOME)/superbuild
TARGET: x86_64-linux-android
TARGET_SUFFIX: -$(TARGET)
pool:
vmImage: '$(IMAGE_NAME)'
steps:
- checkout: self
fetchDepth: 1
- template: setup-macos.yml
- template: build.yml
parameters:
Expand All @@ -256,8 +278,8 @@ jobs:
-D$(TARGET)_TOOLCHAIN_DIR=$(SUPERBUILD_INSTALL_DIR)/$(TARGET)/toolchain
-DMapper_CI_APP_ID=org.openorienteering.mapper$(APP_ID_SUFFIX)
-DMapper_CI_GDAL_DATA_DIR=$(SUPERBUILD_INSTALL_DIR)/$(TARGET)/usr/share/gdal
-DANDROID_SDK_INSTALL_ROOT=/Users/vsts
-DANDROID_NDK_INSTALL_ROOT=/Users/vsts
-DANDROID_SDK_INSTALL_ROOT=$(HOME)
-DANDROID_NDK_INSTALL_ROOT=$(HOME)
-DANDROID_BUILD_LIBCXX=1
buildArgs: -j5
toolchainTargets:
Expand All @@ -274,12 +296,14 @@ jobs:
condition: False
variables:
IMAGE_NAME: 'ubuntu-18.04'
SUPERBUILD_INSTALL_DIR: /home/vsts/superbuild
SUPERBUILD_INSTALL_DIR: $(HOME)/superbuild
TARGET: x86_64-w64-mingw32
TARGET_SUFFIX: -$(TARGET)
pool:
vmImage: '$(IMAGE_NAME)'
steps:
- checkout: self
fetchDepth: 1
- template: setup-ubuntu.yml
- template: build.yml
parameters:
Expand Down Expand Up @@ -307,6 +331,8 @@ jobs:
pool:
vmImage: '$(IMAGE_NAME)'
steps:
- checkout: self
fetchDepth: 1
- template: setup-msys2.yml
- template: build.yml
parameters:
Expand All @@ -331,6 +357,8 @@ jobs:
pool:
vmImage: '$(IMAGE_NAME)'
steps:
- checkout: self
fetchDepth: 1
- template: setup-msys2.yml
- template: build.yml
parameters:
Expand Down
12 changes: 8 additions & 4 deletions ci/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ steps:
set -x
set -e
git clone --branch master --depth 1 https://github.com/openorienteering/superbuild.git
cp ci/openorienteering-mapper-ci.cmake superbuild/
displayName: 'Checkout superbuild source'

- task: CMake@1
Expand All @@ -50,13 +49,13 @@ steps:
$(SOURCE_DIR)/superbuild
-DCMAKE_BUILD_TYPE=Release
-DSUPERBUILD_DISABLE_DEPENDENCIES=TRUE
-DMapper_CI_GIT_REPOSITORY=$(SOURCE_DIR)
-DMapper_CI_GIT_TAG=$(Build.SourceVersion)
-DMapper_CI_SOURCE_DIR=$(SOURCE_DIR)
"-DMapper_CI_VERSION_DISPLAY=$(VERSION_DISPLAY)"
-DMapper_CI_QT_VERSION=$(openorienteering.mapper.qt.version)
-DMapper_CI_LICENSING_PROVIDER=$(openorienteering.mapper.licensing.provider)
-DMapper_CI_ENABLE_POSITIONING=$(openorienteering.mapper.positioning.enabled)
-DMapper_CI_GDAL_DATA_DIR=$(SUPERBUILD_INSTALL_DIR)/share/gdal
-DMapper_CI_MANUAL_PDF=$(ENABLE_PDF_MANUAL)
-Ddefault_INSTALL_DIR=
-Ddefault_INSTALL_PREFIX=$(SUPERBUILD_INSTALL_DIR)
-Ddefault_TOOLCHAIN_DIR=$(SUPERBUILD_INSTALL_DIR)/toolchain
Expand Down Expand Up @@ -96,9 +95,14 @@ steps:

- bash: |
set -x
set -e
#
mkdir output
mkdir -p output
cp build/${TARGET:-default}/openorienteering-mapper-ci/${{ parameters.outputFilter }} output/
if [ "${ENABLE_PDF_MANUAL}" = "1" ] ; then
cp build/${TARGET:-default}/openorienteering-mapper-ci/doc/manual/*-Manual.pdf output/
fi
#
if [ ! -f build/default/openorienteering-mapper-ci/Testing/TAG ]; then
set +x # https://github.com/microsoft/azure-pipelines-tasks/issues/10331
Expand Down
16 changes: 9 additions & 7 deletions ci/openorienteering-mapper-ci.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

set(Mapper_CI_GIT_REPOSITORY "mapper" CACHE STRING "Mapper (CI): Repository reference")
set(Mapper_CI_GIT_TAG "master" CACHE STRING "Mapper (CI): Tag or commit to checkout")
set(Mapper_CI_SOURCE_DIR "NOTFOUND" CACHE STRING "Mapper (CI): Source code directory")
set(Mapper_CI_VERSION_DISPLAY "ci" CACHE STRING "Mapper (CI): Version display string")
set(Mapper_CI_APP_ID "org.openorienteering.mapper.ci" CACHE STRING "Mapper (CI): Android App ID")
set(Mapper_CI_LICENSING_PROVIDER "OFF" CACHE STRING "Mapper (CI): Provider for 3rd-party licensing information")
Expand All @@ -45,6 +44,11 @@ if(APPLE)
set(patch_command )
endif()

add_custom_target(openorienteering-mapper-ci-source)
set_property(TARGET openorienteering-mapper-ci-source
PROPERTY SB_SOURCE_DIR "${Mapper_CI_SOURCE_DIR}"
)

superbuild_package(
NAME openorienteering-mapper
VERSION ci
Expand All @@ -63,11 +67,6 @@ superbuild_package(
host:doxygen
host:qttools-${Mapper_CI_QT_VERSION}

SOURCE
GIT_REPOSITORY ${Mapper_CI_GIT_REPOSITORY}
GIT_TAG ${Mapper_CI_GIT_TAG}
${patch_command}

USING
Mapper_CI_VERSION_DISPLAY
Mapper_CI_APP_ID
Expand Down Expand Up @@ -114,7 +113,10 @@ superbuild_package(
>
$<$<BOOL:@Mapper_CI_ENABLE_COVERAGE@>:
"-DMapper_DEVELOPMENT_BUILD:BOOL=FALSE"
"-DCMAKE_DISABLE_FIND_PACKAGE_ClangTidy:BOOL=TRUE"
"-DCMAKE_DISABLE_FIND_PACKAGE_IWYU:BOOL=TRUE"
>
BUILD_ALWAYS 1
INSTALL_COMMAND
"${CMAKE_COMMAND}" --build . --target package$<IF:$<STREQUAL:@CMAKE_GENERATOR@,Ninja>,,/fast>
$<$<NOT:$<BOOL:@CMAKE_CROSSCOMPILING@>>:
Expand Down
3 changes: 1 addition & 2 deletions ci/publish-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,10 @@ steps:
#
mkdir coverage
# Run gcovr from source dir, cf. https://github.com/gcovr/gcovr/issues/64
cd build/source/openorienteering-mapper-ci
gcovr \
--xml \
--output $(Build.SourcesDirectory)/coverage/coverage.xml \
--root $(Build.SourcesDirectory)/build/source/openorienteering-mapper-ci \
--root . \
--filter src/ \
--filter test/ \
--object-directory $(Build.SourcesDirectory)/build/default/openorienteering-mapper-ci/Testing/CoverageInfo \
Expand Down
3 changes: 2 additions & 1 deletion ci/setup-msys2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ steps:
- template: setup-common.yml
- bash: |
SOURCE_DIR=${BUILD_SOURCESDIRECTORY//\\/\/}
SUPERBUILD_INSTALL_DIR_NATIVE=${SUPERBUILD_INSTALL_DIR//\//\\}
SUPERBUILD_INSTALL_DIR_NATIVE='$(SUPERBUILD_INSTALL_DIR)'
SUPERBUILD_INSTALL_DIR_NATIVE=${SUPERBUILD_INSTALL_DIR_NATIVE//\//\\}
echo "##vso[task.setVariable variable=SOURCE_DIR]${SOURCE_DIR}"
echo "##vso[task.setVariable variable=TEST_RESULTS]${BUILD_SOURCESDIRECTORY}\\build\\default\\openorienteering-mapper-ci\\Testing"
echo "##vso[task.setVariable variable=CMAKE_WRAPPING]-E env ${SUPERBUILD_INSTALL_DIR_NATIVE}\usr\bin\bash.exe ${SOURCE_DIR}/ci/shell.sh cmake"
Expand Down
Loading

0 comments on commit 192ba1f

Please sign in to comment.