This commit is contained in:
Siarhei Fedartsou 2024-10-12 21:38:27 +02:00
parent 6ec17cfd95
commit 4897275562
2 changed files with 160 additions and 159 deletions

View File

@ -177,98 +177,98 @@ jobs:
strategy: strategy:
matrix: matrix:
include: include:
- name: gcc-13-debug-cov # - name: gcc-13-debug-cov
continue-on-error: false # continue-on-error: false
node: 20 # node: 20
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TOOLS: ON # BUILD_TOOLS: ON
BUILD_TYPE: Debug # BUILD_TYPE: Debug
CCOMPILER: gcc-13 # CCOMPILER: gcc-13
CUCUMBER_TIMEOUT: 20000 # CUCUMBER_TIMEOUT: 20000
CXXCOMPILER: g++-13 # CXXCOMPILER: g++-13
ENABLE_COVERAGE: ON # ENABLE_COVERAGE: ON
- name: clang-18-debug-asan-ubsan # - name: clang-18-debug-asan-ubsan
continue-on-error: false # continue-on-error: false
node: 20 # node: 20
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TOOLS: ON # BUILD_TOOLS: ON
BUILD_TYPE: Debug # BUILD_TYPE: Debug
CCOMPILER: clang-18 # CCOMPILER: clang-18
CUCUMBER_TIMEOUT: 20000 # CUCUMBER_TIMEOUT: 20000
CXXCOMPILER: clang++-18 # CXXCOMPILER: clang++-18
ENABLE_SANITIZER: ON # ENABLE_SANITIZER: ON
TARGET_ARCH: x86_64-asan-ubsan # TARGET_ARCH: x86_64-asan-ubsan
OSRM_CONNECTION_RETRIES: 10 # OSRM_CONNECTION_RETRIES: 10
OSRM_CONNECTION_EXP_BACKOFF_COEF: 1.5 # OSRM_CONNECTION_EXP_BACKOFF_COEF: 1.5
- name: clang-18-release # - name: clang-18-release
continue-on-error: false # continue-on-error: false
node: 18 # node: 18
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TOOLS: ON # BUILD_TOOLS: ON
BUILD_TYPE: Release # BUILD_TYPE: Release
CCOMPILER: clang-18 # CCOMPILER: clang-18
CXXCOMPILER: clang++-18 # CXXCOMPILER: clang++-18
CUCUMBER_TIMEOUT: 60000 # CUCUMBER_TIMEOUT: 60000
ENABLE_LTO: OFF # ENABLE_LTO: OFF
- name: clang-18-debug # - name: clang-18-debug
continue-on-error: false # continue-on-error: false
node: 18 # node: 18
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TOOLS: ON # BUILD_TOOLS: ON
BUILD_TYPE: Debug # BUILD_TYPE: Debug
CCOMPILER: clang-18 # CCOMPILER: clang-18
CXXCOMPILER: clang++-18 # CXXCOMPILER: clang++-18
CUCUMBER_TIMEOUT: 60000 # CUCUMBER_TIMEOUT: 60000
ENABLE_LTO: OFF # ENABLE_LTO: OFF
- name: clang-18-debug-clang-tidy # - name: clang-18-debug-clang-tidy
continue-on-error: false # continue-on-error: false
node: 18 # node: 18
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TOOLS: ON # BUILD_TOOLS: ON
BUILD_TYPE: Debug # BUILD_TYPE: Debug
CCOMPILER: clang-18 # CCOMPILER: clang-18
CXXCOMPILER: clang++-18 # CXXCOMPILER: clang++-18
CUCUMBER_TIMEOUT: 60000 # CUCUMBER_TIMEOUT: 60000
ENABLE_CLANG_TIDY: ON # ENABLE_CLANG_TIDY: ON
- name: clang-17-release # - name: clang-17-release
continue-on-error: false # continue-on-error: false
node: 18 # node: 18
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TOOLS: ON # BUILD_TOOLS: ON
BUILD_TYPE: Release # BUILD_TYPE: Release
CCOMPILER: clang-17 # CCOMPILER: clang-17
CXXCOMPILER: clang++-17 # CXXCOMPILER: clang++-17
CUCUMBER_TIMEOUT: 60000 # CUCUMBER_TIMEOUT: 60000
ENABLE_LTO: OFF # ENABLE_LTO: OFF
- name: clang-16-release # - name: clang-16-release
continue-on-error: false # continue-on-error: false
node: 18 # node: 18
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TOOLS: ON # BUILD_TOOLS: ON
BUILD_TYPE: Release # BUILD_TYPE: Release
CCOMPILER: clang-16 # CCOMPILER: clang-16
CXXCOMPILER: clang++-16 # CXXCOMPILER: clang++-16
CUCUMBER_TIMEOUT: 60000 # CUCUMBER_TIMEOUT: 60000
ENABLE_LTO: OFF # ENABLE_LTO: OFF
- name: conan-linux-debug-asan-ubsan # - name: conan-linux-debug-asan-ubsan
continue-on-error: false # continue-on-error: false
node: 18 # node: 18
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TOOLS: ON # BUILD_TOOLS: ON
BUILD_TYPE: Release # BUILD_TYPE: Release
CCOMPILER: clang-18 # CCOMPILER: clang-18
CXXCOMPILER: clang++-18 # CXXCOMPILER: clang++-18
ENABLE_CONAN: ON # ENABLE_CONAN: ON
ENABLE_SANITIZER: ON # ENABLE_SANITIZER: ON
ENABLE_LTO: OFF # ENABLE_LTO: OFF
- name: conan-linux-release - name: conan-linux-release
continue-on-error: false continue-on-error: false
@ -291,71 +291,71 @@ jobs:
CXXCOMPILER: g++-14 CXXCOMPILER: g++-14
CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized' CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized'
- name: gcc-13-release # - name: gcc-13-release
continue-on-error: false # continue-on-error: false
node: 20 # node: 20
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TOOLS: ON # BUILD_TOOLS: ON
BUILD_TYPE: Release # BUILD_TYPE: Release
CCOMPILER: gcc-13 # CCOMPILER: gcc-13
CXXCOMPILER: g++-13 # CXXCOMPILER: g++-13
CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized' # CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized'
- name: gcc-12-release # - name: gcc-12-release
continue-on-error: false # continue-on-error: false
node: 20 # node: 20
runs-on: ubuntu-22.04 # runs-on: ubuntu-22.04
BUILD_TOOLS: ON # BUILD_TOOLS: ON
BUILD_TYPE: Release # BUILD_TYPE: Release
CCOMPILER: gcc-12 # CCOMPILER: gcc-12
CXXCOMPILER: g++-12 # CXXCOMPILER: g++-12
CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized' # CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized'
- name: conan-linux-release-node # - name: conan-linux-release-node
build_node_package: true # build_node_package: true
continue-on-error: false # continue-on-error: false
node: 20 # node: 20
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TYPE: Release # BUILD_TYPE: Release
CCOMPILER: clang-16 # CCOMPILER: clang-16
CXXCOMPILER: clang++-16 # CXXCOMPILER: clang++-16
ENABLE_CONAN: ON # ENABLE_CONAN: ON
NODE_PACKAGE_TESTS_ONLY: ON # NODE_PACKAGE_TESTS_ONLY: ON
- name: conan-linux-debug-node # - name: conan-linux-debug-node
build_node_package: true # build_node_package: true
continue-on-error: false # continue-on-error: false
node: 20 # node: 20
runs-on: ubuntu-24.04 # runs-on: ubuntu-24.04
BUILD_TYPE: Debug # BUILD_TYPE: Debug
CCOMPILER: clang-16 # CCOMPILER: clang-16
CXXCOMPILER: clang++-16 # CXXCOMPILER: clang++-16
ENABLE_CONAN: ON # ENABLE_CONAN: ON
NODE_PACKAGE_TESTS_ONLY: ON # NODE_PACKAGE_TESTS_ONLY: ON
- name: conan-macos-x64-release-node # - name: conan-macos-x64-release-node
build_node_package: true # build_node_package: true
continue-on-error: true # continue-on-error: true
node: 20 # node: 20
runs-on: macos-13 # x86_64 # runs-on: macos-13 # x86_64
BUILD_TYPE: Release # BUILD_TYPE: Release
CCOMPILER: clang # CCOMPILER: clang
CXXCOMPILER: clang++ # CXXCOMPILER: clang++
CUCUMBER_TIMEOUT: 60000 # CUCUMBER_TIMEOUT: 60000
ENABLE_ASSERTIONS: ON # ENABLE_ASSERTIONS: ON
ENABLE_CONAN: ON # ENABLE_CONAN: ON
- name: conan-macos-arm64-release-node # - name: conan-macos-arm64-release-node
build_node_package: true # build_node_package: true
continue-on-error: true # continue-on-error: true
node: 20 # node: 20
runs-on: macos-14 # arm64 # runs-on: macos-14 # arm64
BUILD_TYPE: Release # BUILD_TYPE: Release
CCOMPILER: clang # CCOMPILER: clang
CXXCOMPILER: clang++ # CXXCOMPILER: clang++
CUCUMBER_TIMEOUT: 60000 # CUCUMBER_TIMEOUT: 60000
ENABLE_ASSERTIONS: ON # ENABLE_ASSERTIONS: ON
ENABLE_CONAN: ON # ENABLE_CONAN: ON
name: ${{ matrix.name}} name: ${{ matrix.name}}
continue-on-error: ${{ matrix.continue-on-error }} continue-on-error: ${{ matrix.continue-on-error }}
@ -567,13 +567,13 @@ jobs:
echo "PKG_CONFIG_PATH=${OSRM_INSTALL_DIR}/lib/pkgconfig" >> $GITHUB_ENV echo "PKG_CONFIG_PATH=${OSRM_INSTALL_DIR}/lib/pkgconfig" >> $GITHUB_ENV
fi fi
popd popd
# - name: Build example - name: Build example
# if: ${{ matrix.NODE_PACKAGE_TESTS_ONLY != 'ON' }} if: ${{ matrix.NODE_PACKAGE_TESTS_ONLY != 'ON' }}
# run: | run: |
# mkdir example/build && pushd example/build mkdir example/build && pushd example/build
# cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
# make --jobs=${JOBS} make --jobs=${JOBS}
# popd popd
- name: Run all tests - name: Run all tests
if: ${{ matrix.NODE_PACKAGE_TESTS_ONLY != 'ON' }} if: ${{ matrix.NODE_PACKAGE_TESTS_ONLY != 'ON' }}
run: | run: |

View File

@ -629,14 +629,15 @@ JOIN("-I${DEPENDENCIES_INCLUDE_DIRS}" " -I" PKGCONFIG_OSRM_INCLUDE_FLAGS)
# Boost uses imported targets, we need to use a generator expression to extract # Boost uses imported targets, we need to use a generator expression to extract
# the link libraries to be written to the pkg-config file. # the link libraries to be written to the pkg-config file.
# Conan & TBB define dependencies as CMake targets too, that's why we do the same for them. # Conan & TBB define dependencies as CMake targets too, that's why we do the same for them.
# foreach(engine_lib ${ENGINE_LIBRARIES}) foreach(engine_lib ${ENGINE_LIBRARIES})
# message(STATUS "Adding ${engine_lib} to pkg-config dependencies") message(STATUS "Adding ${engine_lib} to pkg-config dependencies")
# # if("${engine_lib}" MATCHES "^boost.*" OR "${engine_lib}" MATCHES "^CONAN_LIB.*" OR "${engine_lib}" MATCHES "^TBB.*") # if("${engine_lib}" MATCHES "^boost.*" OR "${engine_lib}" MATCHES "^CONAN_LIB.*" OR "${engine_lib}" MATCHES "^TBB.*")
# # list(APPEND PKGCONFIG_DEPENDENT_LIBRARIES "$<TARGET_LINKER_FILE:${engine_lib}>") # list(APPEND PKGCONFIG_DEPENDENT_LIBRARIES "$<TARGET_LINKER_FILE:${engine_lib}>")
# # else() # else()
# # list(APPEND PKGCONFIG_DEPENDENT_LIBRARIES "${engine_lib}") # list(APPEND PKGCONFIG_DEPENDENT_LIBRARIES "${engine_lib}")
# # endif() # endif()
# endforeach(engine_lib) list(APPEND PKGCONFIG_DEPENDENT_LIBRARIES "${engine_lib}")
endforeach(engine_lib)
# #message(FATAL_ERROR "XXX") # #message(FATAL_ERROR "XXX")
JOIN("${PKGCONFIG_DEPENDENT_LIBRARIES}" " " PKGCONFIG_OSRM_DEPENDENT_LIBRARIES) JOIN("${PKGCONFIG_DEPENDENT_LIBRARIES}" " " PKGCONFIG_OSRM_DEPENDENT_LIBRARIES)