Skip to content

Commit 59df08e

Browse files
authored
chore(cmake): remove boost regex mention, lint files (#7642)
1 parent f984023 commit 59df08e

2 files changed

Lines changed: 74 additions & 82 deletions

File tree

CMakeLists.txt

Lines changed: 36 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ if(BUILD_AS_SUBPROJECT)
2020
endif()
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})
2525
endif()
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
6666
endif()
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")
7171
elseif(NOT WIN32)
7272
set(CMAKE_BUILD_RPATH "\$ORIGIN")
@@ -76,15 +76,15 @@ endif()
7676

7777
include(JSONParser)
7878
file(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)\nBut found: ${packagejson.version}")
105105
endif()
106106

107-
if (MSVC)
107+
if(MSVC)
108108
add_definitions("-DOSRM_PROJECT_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}\"")
109109
else()
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

126126
function(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

131131
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
132132
include(CheckCXXCompilerFlag)
@@ -247,8 +247,8 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
247247
endif()
248248

249249
set(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)
263263
endif()
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

308308
if(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()
313313
endif()
@@ -384,7 +384,7 @@ foreach(_dep IN LISTS _osrm_vcpkg_header_targets)
384384
endforeach()
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)
422422
set(Boost_DATE_TIME_LIBRARY Boost::date_time)
423423
set(Boost_IOSTREAMS_LIBRARY Boost::iostreams)
424424
set(Boost_THREAD_LIBRARY Boost::thread)
425-
set(Boost_REGEX_LIBRARY Boost::regex)
426425
set(Boost_PROGRAM_OPTIONS_LIBRARY Boost::program_options)
427426
set(Boost_UNIT_TEST_FRAMEWORK_LIBRARY Boost::unit_test_framework)
428427

@@ -432,7 +431,6 @@ set(BOOST_BASE_LIBRARIES
432431
${Boost_THREAD_LIBRARY})
433432

434433
set(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
562560
target_link_libraries(osrm-io-benchmark ${BOOST_BASE_LIBRARIES} ${TBB_LIBRARIES})
563561
install(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)
568566
endif()
569567

570-
if (ENABLE_DEBUG_LOGGING)
568+
if(ENABLE_DEBUG_LOGGING)
571569
message(STATUS "Enabling debug logging")
572570
add_definitions(-DENABLE_DEBUG_LOGGING)
573571
endif()
@@ -630,12 +628,12 @@ if(BUILD_PACKAGE)
630628
include(CPack)
631629
endif()
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)
636634
endfunction()
637635

638-
JOIN("${OSRM_DEFINES}" " " TMP_OSRM_DEFINES)
636+
join("${OSRM_DEFINES}" " " TMP_OSRM_DEFINES)
639637
set(LibOSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${TMP_OSRM_DEFINES}")
640638
set(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)
653651
endif()
654652

@@ -660,14 +658,13 @@ set(PKGCONFIG_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include")
660658

661659
list(APPEND DEPENDENCIES_INCLUDE_DIRS "${PKGCONFIG_INCLUDE_DIR}")
662660
list(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

666663
foreach(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

684681
configure_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.
689686
get_property(_is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
690687
if(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)
698690
endif()
699691

@@ -717,15 +709,15 @@ enable_testing()
717709
add_subdirectory(unit_tests)
718710
add_subdirectory(src/benchmarks)
719711

720-
if (ENABLE_NODE_BINDINGS)
712+
if(ENABLE_NODE_BINDINGS)
721713
add_subdirectory(src/nodejs)
722714
endif()
723715

724-
if (ENABLE_PYTHON_BINDINGS)
716+
if(ENABLE_PYTHON_BINDINGS)
725717
add_subdirectory(src/python)
726718
endif()
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
743735
set(check_headers_dir "${PROJECT_BINARY_DIR}/check-headers")
744736
file(GLOB_RECURSE headers_to_check
745737
${PROJECT_BINARY_DIR}/*.hpp
746738
${PROJECT_SOURCE_DIR}/include/*.hpp)
747739
foreach(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

Comments
 (0)