@@ -20,7 +20,7 @@ if(BUILD_AS_SUBPROJECT)
2020endif ()
2121
2222# set OSRM_BUILD_DIR location (might be used in various scripts)
23- if (NOT WIN32 AND NOT DEFINED ENV{OSRM_BUILD_DIR})
23+ if (NOT WIN32 AND NOT DEFINED ENV{OSRM_BUILD_DIR})
2424 set (ENV{OSRM_BUILD_DIR} ${CMAKE_CURRENT_BINARY_DIR } )
2525endif ()
2626
@@ -40,7 +40,7 @@ option(ENABLE_SANITIZER "Use memory sanitizer for Debug build" OFF)
4040# The vcpkg toolchain file is wired up via CMakePresets.json or by passing
4141# -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake.
4242
43- if (ENABLE_CLANG_TIDY)
43+ if (ENABLE_CLANG_TIDY)
4444 find_program (CLANG_TIDY_COMMAND NAMES clang-tidy )
4545 if (NOT CLANG_TIDY_COMMAND)
4646 message (FATAL_ERROR "ENABLE_CLANG_TIDY is ON but clang-tidy is not found!" )
@@ -66,7 +66,7 @@ if(ENABLE_LTO AND (CMAKE_BUILD_TYPE MATCHES Release OR CMAKE_BUILD_TYPE MATCHES
6666endif ()
6767
6868# add @loader_path/$ORIGIN to rpath to make binaries relocatable
69- if (APPLE )
69+ if (APPLE )
7070 set (CMAKE_BUILD_RPATH "@loader_path" )
7171elseif (NOT WIN32 )
7272 set (CMAKE_BUILD_RPATH "\$ ORIGIN" )
@@ -76,15 +76,15 @@ endif()
7676
7777include (JSONParser )
7878file (READ "package.json" packagejsonraw )
79- sbeParseJson (packagejson packagejsonraw )
79+ parse_json (packagejson packagejsonraw )
8080
8181# This regex supports multiple semver version formats:
8282# - (YYYY-2000).M.patchlevel: Monthly releases, e.g., 26.4.0 (April 2026)
8383# MAJOR is the year offset (year - 2000)
8484# - Legacy semver: traditional major.minor.patch with optional prerelease, e.g., 6.0.0, 6.0.0-rc1
8585
8686# Try monthly release format: (YYYY-2000).M.patchlevel with month 1-12, no leading zeros
87- if (packagejson.version MATCHES "^([0-9]+)\\ .(1[0-2]|[1-9])\\ .(0|[1-9][0-9]*)$" )
87+ if (packagejson.version MATCHES "^([0-9]+)\\ .(1[0-2]|[1-9])\\ .(0|[1-9][0-9]*)$" )
8888 # Monthly format: (YYYY-2000).M.patchlevel
8989 # MAJOR is already offset (year - 2000)
9090 set (OSRM_VERSION_MAJOR ${CMAKE_MATCH_1} )
@@ -93,7 +93,7 @@ if (packagejson.version MATCHES "^([0-9]+)\\.(1[0-2]|[1-9])\\.(0|[1-9][0-9]*)$")
9393 set (OSRM_VERSION_PRERELEASE_BUILD "" )
9494 set (OSRM_VERSION "${packagejson.version} " )
9595# Try legacy semver format (major.minor.patch with optional prerelease/build)
96- elseif (packagejson.version MATCHES "^([0-9]+)\\ .([0-9]+)\\ .([0-9]+)([-+][0-9a-zA-Z.-]+)?$" )
96+ elseif (packagejson.version MATCHES "^([0-9]+)\\ .([0-9]+)\\ .([0-9]+)([-+][0-9a-zA-Z.-]+)?$" )
9797 # Legacy semver format: major.minor.patch[-+prerelease]
9898 set (OSRM_VERSION_MAJOR ${CMAKE_MATCH_1} )
9999 set (OSRM_VERSION_MINOR ${CMAKE_MATCH_2} )
@@ -104,7 +104,7 @@ else()
104104 message (FATAL_ERROR "Version from package.json cannot be parsed. Expected one of:\n - Monthly release format: (YYYY-2000).M.patchlevel with month 1-12, no leading zeros (e.g., 26.4.0)\n - Legacy semver format: major.minor.patch with optional prerelease (e.g., 6.0.0 or 6.0.0-rc1)\n But found: ${packagejson.version} " )
105105endif ()
106106
107- if (MSVC )
107+ if (MSVC )
108108 add_definitions ("-DOSRM_PROJECT_DIR=\" ${CMAKE_CURRENT_SOURCE_DIR } \" " )
109109else ()
110110 add_definitions (-DOSRM_PROJECT_DIR= "${CMAKE_CURRENT_SOURCE_DIR } " )
@@ -121,12 +121,12 @@ function(add_dependency_includes)
121121 list (APPEND DEPENDENCIES_INCLUDE_DIRS "${ARGV} " )
122122 set (DEPENDENCIES_INCLUDE_DIRS "${DEPENDENCIES_INCLUDE_DIRS} " PARENT_SCOPE )
123123 endif ()
124- endfunction (add_dependency_includes )
124+ endfunction ()
125125
126126function (add_dependency_defines defines )
127127 list (APPEND OSRM_DEFINES "${defines} " )
128128 set (OSRM_DEFINES "${OSRM_DEFINES} " PARENT_SCOPE )
129- endfunction (add_dependency_defines )
129+ endfunction ()
130130
131131set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
132132include (CheckCXXCompilerFlag )
@@ -247,8 +247,8 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
247247endif ()
248248
249249set (MAYBE_COVERAGE_LIBRARIES "" )
250- if (ENABLE_COVERAGE)
251- if (NOT CMAKE_BUILD_TYPE MATCHES "Debug" )
250+ if (ENABLE_COVERAGE)
251+ if (NOT CMAKE_BUILD_TYPE MATCHES "Debug" )
252252 message (ERROR "ENABLE_COVERAGE=ON only makes sense with a Debug build" )
253253 endif ()
254254 message (STATUS "Enabling coverage" )
@@ -263,7 +263,7 @@ if (ENABLE_COVERAGE)
263263endif ()
264264
265265
266- if (ENABLE_SANITIZER)
266+ if (ENABLE_SANITIZER)
267267 set (SANITIZER_FLAGS "-g -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=undefined -fno-omit-frame-pointer" )
268268 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS } ${SANITIZER_FLAGS} " )
269269 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } ${SANITIZER_FLAGS} " )
@@ -307,7 +307,7 @@ endif()
307307
308308if (UNIX AND NOT APPLE )
309309 find_library (RT_LIB rt )
310- if (RT_LIB)
310+ if (RT_LIB)
311311 set (MAYBE_RT_LIBRARY -lrt)
312312 endif ()
313313endif ()
@@ -384,7 +384,7 @@ foreach(_dep IN LISTS _osrm_vcpkg_header_targets)
384384endforeach ()
385385
386386
387- if (MSVC )
387+ if (MSVC )
388388 # Disable Boost auto-linking on MSVC; we link boost libraries explicitly
389389 # via imported targets from vcpkg.
390390 add_definitions (-DBOOST_ALL_NO_LIB )
@@ -422,7 +422,6 @@ set(TBB_LIBRARIES TBB::tbb)
422422set (Boost_DATE_TIME_LIBRARY Boost::date_time)
423423set (Boost_IOSTREAMS_LIBRARY Boost::iostreams)
424424set (Boost_THREAD_LIBRARY Boost::thread)
425- set (Boost_REGEX_LIBRARY Boost::regex)
426425set (Boost_PROGRAM_OPTIONS_LIBRARY Boost::program_options)
427426set (Boost_UNIT_TEST_FRAMEWORK_LIBRARY Boost::unit_test_framework)
428427
@@ -432,7 +431,6 @@ set(BOOST_BASE_LIBRARIES
432431 ${Boost_THREAD_LIBRARY} )
433432
434433set (BOOST_ENGINE_LIBRARIES
435- ${Boost_REGEX_LIBRARY}
436434 ${BOOST_BASE_LIBRARIES} )
437435
438436# add a target to generate API documentation with Doxygen
@@ -562,12 +560,12 @@ add_executable(osrm-io-benchmark src/tools/io-benchmark.cpp $<TARGET_OBJECTS:UTI
562560target_link_libraries (osrm-io-benchmark ${BOOST_BASE_LIBRARIES} ${TBB_LIBRARIES} )
563561install (TARGETS osrm-io-benchmark DESTINATION bin)
564562
565- if (ENABLE_ASSERTIONS)
563+ if (ENABLE_ASSERTIONS)
566564 message (STATUS "Enabling assertions" )
567565 add_definitions (-DBOOST_ENABLE_ASSERT_HANDLER )
568566endif ()
569567
570- if (ENABLE_DEBUG_LOGGING)
568+ if (ENABLE_DEBUG_LOGGING)
571569 message (STATUS "Enabling debug logging" )
572570 add_definitions (-DENABLE_DEBUG_LOGGING )
573571endif ()
@@ -630,12 +628,12 @@ if(BUILD_PACKAGE)
630628 include (CPack )
631629endif ()
632630
633- function (JOIN VALUES GLUE OUTPUT )
634- string (REPLACE ";" "${GLUE} " _TMP_STR "${VALUES} " )
635- set (${OUTPUT} "${_TMP_STR} " PARENT_SCOPE )
631+ function (join VALUES GLUE OUTPUT )
632+ string (REPLACE ";" "${GLUE} " _TMP_STR "${VALUES} " )
633+ set (${OUTPUT} "${_TMP_STR} " PARENT_SCOPE )
636634endfunction ()
637635
638- JOIN ("${OSRM_DEFINES} " " " TMP_OSRM_DEFINES )
636+ join ("${OSRM_DEFINES} " " " TMP_OSRM_DEFINES )
639637set (LibOSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${TMP_OSRM_DEFINES} " )
640638set (LibOSRM_LDFLAGS "${OSRM_LDFLAGS} " )
641639
@@ -646,9 +644,9 @@ if(BUILD_AS_SUBPROJECT)
646644 set (LibOSRM_LIBRARIES "osrm" PARENT_SCOPE )
647645 set (LibOSRM_DEPENDENT_LIBRARIES "${ENGINE_LIBRARIES} " PARENT_SCOPE )
648646 set (LibOSRM_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR } /include"
649- "${CMAKE_CURRENT_SOURCE_DIR } /include/osrm"
650- "${CMAKE_CURRENT_SOURCE_DIR } /third_party"
651- "${DEPENDENCIES_INCLUDE_DIRS} " PARENT_SCOPE )
647+ "${CMAKE_CURRENT_SOURCE_DIR } /include/osrm"
648+ "${CMAKE_CURRENT_SOURCE_DIR } /third_party"
649+ "${DEPENDENCIES_INCLUDE_DIRS} " PARENT_SCOPE )
652650 set (LibOSRM_LIBRARY_DIRS "${LibOSRM_LIBRARY_DIR} " PARENT_SCOPE )
653651endif ()
654652
@@ -660,14 +658,13 @@ set(PKGCONFIG_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include")
660658
661659list (APPEND DEPENDENCIES_INCLUDE_DIRS "${PKGCONFIG_INCLUDE_DIR} " )
662660list (APPEND DEPENDENCIES_INCLUDE_DIRS "${PKGCONFIG_INCLUDE_DIR} /osrm" )
663- JOIN ("-I${DEPENDENCIES_INCLUDE_DIRS} " " -I" PKGCONFIG_OSRM_INCLUDE_FLAGS )
664-
661+ join ("-I${DEPENDENCIES_INCLUDE_DIRS} " " -I" PKGCONFIG_OSRM_INCLUDE_FLAGS )
665662
666663foreach (engine_lib ${ENGINE_LIBRARIES} )
667664 if (TARGET ${engine_lib} )
668- # Some imported targets (e.g. Boost::regex in modern Boost) are
669- # INTERFACE-only and have no TARGET_LINKER_FILE. Only embed a linker
670- # file for targets that actually produce one.
665+ # Some imported targets in modern Boost are INTERFACE-only and have no
666+ # TARGET_LINKER_FILE. Only embed a linker file for targets that actually
667+ # produce one.
671668 get_target_property (_tgt_type ${engine_lib} TYPE)
672669 if (_tgt_type STREQUAL "INTERFACE_LIBRARY" )
673670 list (APPEND PKGCONFIG_DEPENDENT_LIBRARIES "-l${engine_lib} " )
@@ -677,9 +674,9 @@ foreach(engine_lib ${ENGINE_LIBRARIES})
677674 else ()
678675 list (APPEND PKGCONFIG_DEPENDENT_LIBRARIES "${engine_lib} " )
679676 endif ()
680- endforeach (engine_lib )
677+ endforeach ()
681678
682- JOIN ("${PKGCONFIG_DEPENDENT_LIBRARIES} " " " PKGCONFIG_OSRM_DEPENDENT_LIBRARIES )
679+ join ("${PKGCONFIG_DEPENDENT_LIBRARIES} " " " PKGCONFIG_OSRM_DEPENDENT_LIBRARIES )
683680
684681configure_file (${CMAKE_CURRENT_SOURCE_DIR } /cmake/pkgconfig.in pkgconfig.configured @ONLY )
685682# Multi-config generators (e.g. Visual Studio) produce different values for
@@ -688,12 +685,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/pkgconfig.in pkgconfig.configur
688685# skip generation for multi-config generators.
689686get_property (_is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
690687if (NOT _is_multi_config)
691- file (GENERATE
692- OUTPUT
693- ${PROJECT_BINARY_DIR } /libosrm.pc
694- INPUT
695- ${PROJECT_BINARY_DIR } /pkgconfig.configured )
696-
688+ file (GENERATE OUTPUT ${PROJECT_BINARY_DIR } /libosrm.pc INPUT ${PROJECT_BINARY_DIR } /pkgconfig.configured )
697689 install (FILES ${PROJECT_BINARY_DIR } /libosrm.pc DESTINATION ${PKGCONFIG_LIBRARY_DIR} /pkgconfig)
698690endif ()
699691
@@ -717,15 +709,15 @@ enable_testing()
717709add_subdirectory (unit_tests )
718710add_subdirectory (src/benchmarks )
719711
720- if (ENABLE_NODE_BINDINGS)
712+ if (ENABLE_NODE_BINDINGS)
721713 add_subdirectory (src/nodejs )
722714endif ()
723715
724- if (ENABLE_PYTHON_BINDINGS)
716+ if (ENABLE_PYTHON_BINDINGS)
725717 add_subdirectory (src/python )
726718endif ()
727719
728- if (ENABLE_FUZZING)
720+ if (ENABLE_FUZZING)
729721 # Requires libosrm being built with sanitizers; make configurable and default to ubsan
730722 set (FUZZ_SANITIZER "undefined" CACHE STRING "Sanitizer to be used for Fuzz testing" )
731723 set_property (CACHE FUZZ_SANITIZER PROPERTY STRINGS "undefined" "integer" "address" "memory" "thread" "leak" )
@@ -737,21 +729,21 @@ if (ENABLE_FUZZING)
737729 message (STATUS "Using -fsanitize=${FUZZ_SANITIZER} for Fuzz testing" )
738730
739731 add_subdirectory (fuzz )
740- endif ()
732+ endif ()
741733
742734# add headers sanity check target that includes all headers independently
743735set (check_headers_dir "${PROJECT_BINARY_DIR } /check-headers" )
744736file (GLOB_RECURSE headers_to_check
745737 ${PROJECT_BINARY_DIR } /*.hpp
746738 ${PROJECT_SOURCE_DIR } /include/*.hpp )
747739foreach (header ${headers_to_check} )
748- if ("${header} " MATCHES ".*/include/nodejs/.*" )
740+ if ("${header} " MATCHES ".*/include/nodejs/.*" )
749741 # we do not check NodeJS bindings headers
750742 continue ()
751743 endif ()
752744 get_filename_component (filename ${header} NAME_WE )
753745 set (filename "${check_headers_dir} /${filename} .cpp" )
754- if (NOT EXISTS ${filename} )
746+ if (NOT EXISTS ${filename} )
755747 file (WRITE ${filename} "#include \" ${header} \"\n " )
756748 endif ()
757749 list (APPEND sources ${filename} )
0 commit comments