diff --git a/.github/workflows/psv_pipelines.yml b/.github/workflows/psv_pipelines.yml index 5a85c8dc2..486bffbe8 100644 --- a/.github/workflows/psv_pipelines.yml +++ b/.github/workflows/psv_pipelines.yml @@ -108,6 +108,21 @@ jobs: run: ./scripts/linux/psv/test_psv.sh shell: bash + psv-linux-22-04-gcc11-build-no-exceptions: + name: PSV.Linux.22.04.gcc11.OLP_SDK_NO_EXCEPTION=ON + runs-on: ubuntu-22.04 + env: + BUILD_TYPE: RelWithDebInfo + steps: + - name: Check out repository + uses: actions/checkout@v4 + - name: Install Ubuntu dependencies + run: sudo apt-get update && sudo apt-get install -y ccache libssl-dev libcurl4-openssl-dev --no-install-recommends + shell: bash + - name: Compile project with cmake and ccache + run: gcc --version && ./scripts/linux/psv/build_psv_no_exceptions.sh + shell: bash + psv-linux-latest-gcc14-build-no-cache: name: PSV.Linux.latest.gcc14.OLP_SDK_ENABLE_DEFAULT_CACHE=OFF runs-on: ubuntu-latest diff --git a/olp-cpp-sdk-authentication/CMakeLists.txt b/olp-cpp-sdk-authentication/CMakeLists.txt index b8d9cc787..259056f1c 100644 --- a/olp-cpp-sdk-authentication/CMakeLists.txt +++ b/olp-cpp-sdk-authentication/CMakeLists.txt @@ -49,6 +49,9 @@ if(BUILD_SHARED_LIBS) PUBLIC AUTHENTICATION_SHARED_LIBRARY) endif() +target_compile_definitions(${PROJECT_NAME} PRIVATE BOOST_ALL_NO_LIB) +target_compile_definitions(${PROJECT_NAME} PRIVATE BOOST_JSON_NO_LIB) + # install component install (FILES ${AUTHENTICATION_INC} DESTINATION ${INCLUDE_DIRECTORY}/olp/authentication) diff --git a/olp-cpp-sdk-core/CMakeLists.txt b/olp-cpp-sdk-core/CMakeLists.txt index 6190c13dc..13e386aa6 100644 --- a/olp-cpp-sdk-core/CMakeLists.txt +++ b/olp-cpp-sdk-core/CMakeLists.txt @@ -456,6 +456,9 @@ if (OLP_SDK_USE_STD_ANY) PUBLIC OLP_SDK_USE_STD_ANY) endif() +target_compile_definitions(${PROJECT_NAME} PRIVATE BOOST_ALL_NO_LIB) +target_compile_definitions(${PROJECT_NAME} PRIVATE BOOST_JSON_NO_LIB) + target_include_directories(${PROJECT_NAME} PUBLIC $ $ diff --git a/scripts/android/build.sh b/scripts/android/build.sh index d10ee17df..86c34e52a 100755 --- a/scripts/android/build.sh +++ b/scripts/android/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -ex # -# Copyright (C) 2019-2024 HERE Europe B.V. +# Copyright (C) 2019-2026 HERE Europe B.V. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ # # This script will compile Data SDK for C++ -# with ANDROID_PLATFORM=android-28 and -DANDROID_ABI=arm64-v8a +# with ANDROID_PLATFORM=android-21 and -DANDROID_ABI=arm64-v8a # by using Android NDK 21. # @@ -27,7 +27,7 @@ env ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --list ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "ndk;21.3.6528147" --sdk_root=${ANDROID_HOME} >/dev/null -${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "platforms;android-28" >/dev/null +${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "platforms;android-21" >/dev/null ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --list export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/21.3.6528147 env @@ -38,7 +38,7 @@ ls -la $ANDROID_NDK_HOME/platforms mkdir -p build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE="$ANDROID_HOME/ndk/21.3.6528147/build/cmake/android.toolchain.cmake" \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DANDROID_PLATFORM=android-28 \ + -DANDROID_PLATFORM=android-21 \ -DANDROID_ABI=arm64-v8a \ -DANDROID_NDK="$ANDROID_HOME/ndk/21.3.6528147" \ -DOLP_SDK_ENABLE_TESTING=NO \ diff --git a/scripts/linux/psv/build_psv_no_exceptions.sh b/scripts/linux/psv/build_psv_no_exceptions.sh new file mode 100755 index 000000000..5fa847409 --- /dev/null +++ b/scripts/linux/psv/build_psv_no_exceptions.sh @@ -0,0 +1,37 @@ +#!/bin/bash -ex +# +# Copyright (C) 2026 HERE Europe B.V. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# License-Filename: LICENSE + +# Show initial ccache data +ccache -s + +mkdir -p build +cd build + +cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ + -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror $CXXFLAGS" \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -DOLP_SDK_BUILD_EXAMPLES=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DOLP_SDK_NO_EXCEPTION=ON \ + .. + +cmake --build . -- -j$(nproc) + +# Show last ccache data +ccache -s