Simplify CMakeLists.txt
This commit is contained in:
parent
5e6fdda16b
commit
3cdcba165b
14
.github/workflows/osrm-backend.yml
vendored
14
.github/workflows/osrm-backend.yml
vendored
@ -170,7 +170,6 @@ jobs:
|
|||||||
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_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
CCOMPILER: gcc-13
|
CCOMPILER: gcc-13
|
||||||
CUCUMBER_TIMEOUT: 20000
|
CUCUMBER_TIMEOUT: 20000
|
||||||
@ -181,7 +180,6 @@ jobs:
|
|||||||
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_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
CCOMPILER: clang-18
|
CCOMPILER: clang-18
|
||||||
CUCUMBER_TIMEOUT: 20000
|
CUCUMBER_TIMEOUT: 20000
|
||||||
@ -195,7 +193,6 @@ jobs:
|
|||||||
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_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
CCOMPILER: clang-18
|
CCOMPILER: clang-18
|
||||||
CXXCOMPILER: clang++-18
|
CXXCOMPILER: clang++-18
|
||||||
@ -206,7 +203,6 @@ jobs:
|
|||||||
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_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
CCOMPILER: clang-18
|
CCOMPILER: clang-18
|
||||||
CXXCOMPILER: clang++-18
|
CXXCOMPILER: clang++-18
|
||||||
@ -217,7 +213,6 @@ jobs:
|
|||||||
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_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
CCOMPILER: clang-18
|
CCOMPILER: clang-18
|
||||||
CXXCOMPILER: clang++-18
|
CXXCOMPILER: clang++-18
|
||||||
@ -229,7 +224,6 @@ jobs:
|
|||||||
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_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
CCOMPILER: clang-17
|
CCOMPILER: clang-17
|
||||||
CXXCOMPILER: clang++-17
|
CXXCOMPILER: clang++-17
|
||||||
@ -240,7 +234,6 @@ jobs:
|
|||||||
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_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
CCOMPILER: clang-16
|
CCOMPILER: clang-16
|
||||||
CXXCOMPILER: clang++-16
|
CXXCOMPILER: clang++-16
|
||||||
@ -251,7 +244,6 @@ jobs:
|
|||||||
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_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
CCOMPILER: clang-18
|
CCOMPILER: clang-18
|
||||||
CXXCOMPILER: clang++-18
|
CXXCOMPILER: clang++-18
|
||||||
@ -263,7 +255,6 @@ jobs:
|
|||||||
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_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
CCOMPILER: clang-18
|
CCOMPILER: clang-18
|
||||||
CXXCOMPILER: clang++-18
|
CXXCOMPILER: clang++-18
|
||||||
@ -274,7 +265,6 @@ jobs:
|
|||||||
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_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
CCOMPILER: gcc-14
|
CCOMPILER: gcc-14
|
||||||
CXXCOMPILER: g++-14
|
CXXCOMPILER: g++-14
|
||||||
@ -284,7 +274,6 @@ jobs:
|
|||||||
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_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
CCOMPILER: gcc-13
|
CCOMPILER: gcc-13
|
||||||
CXXCOMPILER: g++-13
|
CXXCOMPILER: g++-13
|
||||||
@ -294,7 +283,6 @@ jobs:
|
|||||||
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_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
CCOMPILER: gcc-12
|
CCOMPILER: gcc-12
|
||||||
CXXCOMPILER: g++-12
|
CXXCOMPILER: g++-12
|
||||||
@ -350,7 +338,6 @@ jobs:
|
|||||||
continue-on-error: ${{ matrix.continue-on-error }}
|
continue-on-error: ${{ matrix.continue-on-error }}
|
||||||
runs-on: ${{ matrix.runs-on }}
|
runs-on: ${{ matrix.runs-on }}
|
||||||
env:
|
env:
|
||||||
BUILD_TOOLS: ${{ matrix.BUILD_TOOLS }}
|
|
||||||
BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
|
BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
|
||||||
BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS }}
|
BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS }}
|
||||||
CCOMPILER: ${{ matrix.CCOMPILER }}
|
CCOMPILER: ${{ matrix.CCOMPILER }}
|
||||||
@ -533,7 +520,6 @@ jobs:
|
|||||||
-DENABLE_COVERAGE=${ENABLE_COVERAGE:-OFF} \
|
-DENABLE_COVERAGE=${ENABLE_COVERAGE:-OFF} \
|
||||||
-DENABLE_NODE_BINDINGS=${ENABLE_NODE_BINDINGS:-OFF} \
|
-DENABLE_NODE_BINDINGS=${ENABLE_NODE_BINDINGS:-OFF} \
|
||||||
-DENABLE_SANITIZER=${ENABLE_SANITIZER:-OFF} \
|
-DENABLE_SANITIZER=${ENABLE_SANITIZER:-OFF} \
|
||||||
-DBUILD_TOOLS=${BUILD_TOOLS:-OFF} \
|
|
||||||
-DENABLE_CCACHE=ON \
|
-DENABLE_CCACHE=ON \
|
||||||
-DENABLE_LTO=${ENABLE_LTO:-ON} \
|
-DENABLE_LTO=${ENABLE_LTO:-ON} \
|
||||||
-DCMAKE_INSTALL_PREFIX=${OSRM_INSTALL_DIR}
|
-DCMAKE_INSTALL_PREFIX=${OSRM_INSTALL_DIR}
|
||||||
|
139
CMakeLists.txt
139
CMakeLists.txt
@ -1,5 +1,5 @@
|
|||||||
cmake_minimum_required(VERSION 3.18)
|
cmake_minimum_required(VERSION 3.18)
|
||||||
|
project(OSRM C CXX)
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
@ -10,6 +10,12 @@ Please create a directory and run cmake from there, passing the path to this sou
|
|||||||
This process created the file `CMakeCache.txt' and the directory `CMakeFiles'. Please delete them.")
|
This process created the file `CMakeCache.txt' and the directory `CMakeFiles'. Please delete them.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
|
message(STATUS "Building on a 64 bit system")
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "Building on a 32 bit system is not supported")
|
||||||
|
endif()
|
||||||
|
|
||||||
# detect if this is included as subproject and if so expose
|
# detect if this is included as subproject and if so expose
|
||||||
# some variables to its parent scope
|
# some variables to its parent scope
|
||||||
get_directory_property(BUILD_AS_SUBPROJECT PARENT_DIRECTORY)
|
get_directory_property(BUILD_AS_SUBPROJECT PARENT_DIRECTORY)
|
||||||
@ -22,42 +28,25 @@ if (NOT WIN32 AND NOT DEFINED ENV{OSRM_BUILD_DIR})
|
|||||||
set(ENV{OSRM_BUILD_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
set(ENV{OSRM_BUILD_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
option(ENABLE_CONAN "Use conan for dependencies" OFF)
|
|
||||||
option(ENABLE_CCACHE "Speed up incremental rebuilds via ccache" ON)
|
|
||||||
option(BUILD_TOOLS "Build OSRM tools" OFF)
|
|
||||||
option(BUILD_PACKAGE "Build OSRM package" OFF)
|
|
||||||
option(BUILD_ROUTED "Build osrm-routed HTTP server" ON)
|
|
||||||
option(ENABLE_ASSERTIONS "Use assertions in release mode" OFF)
|
|
||||||
option(ENABLE_DEBUG_LOGGING "Use debug logging in release mode" OFF)
|
|
||||||
option(ENABLE_COVERAGE "Build with coverage instrumentalisation" OFF)
|
|
||||||
option(ENABLE_SANITIZER "Use memory sanitizer for Debug build" OFF)
|
|
||||||
option(ENABLE_LTO "Use Link Time Optimisation" ON)
|
|
||||||
option(ENABLE_FUZZING "Fuzz testing using LLVM's libFuzzer" OFF)
|
|
||||||
option(ENABLE_NODE_BINDINGS "Build NodeJs bindings" OFF)
|
|
||||||
option(ENABLE_CLANG_TIDY "Enables clang-tidy checks" OFF)
|
|
||||||
|
|
||||||
|
|
||||||
if (ENABLE_CLANG_TIDY)
|
|
||||||
find_program(CLANG_TIDY_COMMAND NAMES clang-tidy)
|
|
||||||
if(NOT CLANG_TIDY_COMMAND)
|
|
||||||
message(FATAL_ERROR "ENABLE_CLANG_TIDY is ON but clang-tidy is not found!")
|
|
||||||
else()
|
|
||||||
message(STATUS "Found clang-tidy at ${CLANG_TIDY_COMMAND}")
|
|
||||||
set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND};--warnings-as-errors=*;--header-filter=.*")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||||
|
|
||||||
# be compatible with version handling before cmake 3.x
|
option(BUILD_PACKAGE "Build OSRM package" OFF)
|
||||||
if (POLICY CMP0057)
|
option(ENABLE_ASSERTIONS "Use assertions in release mode" OFF)
|
||||||
cmake_policy(SET CMP0057 NEW)
|
option(ENABLE_CCACHE "Speed up incremental rebuilds via ccache" ON)
|
||||||
endif()
|
option(ENABLE_CLANG_TIDY "Enables clang-tidy checks" OFF)
|
||||||
if (POLICY CMP0074)
|
option(ENABLE_CONAN "Use conan for dependencies" OFF)
|
||||||
cmake_policy(SET CMP0074 NEW)
|
option(ENABLE_COVERAGE "Build with coverage instrumentalisation" OFF)
|
||||||
endif()
|
option(ENABLE_DEBUG_LOGGING "Use debug logging in release mode" OFF)
|
||||||
project(OSRM C CXX)
|
option(ENABLE_FUZZING "Fuzz testing using LLVM's libFuzzer" OFF)
|
||||||
|
option(ENABLE_LTO "Use Link Time Optimisation" ON)
|
||||||
|
option(ENABLE_NODE_BINDINGS "Build NodeJs bindings" OFF)
|
||||||
|
option(ENABLE_SANITIZER "Use memory sanitizer for Debug build" OFF)
|
||||||
|
|
||||||
|
if (ENABLE_CLANG_TIDY)
|
||||||
|
find_program(CLANG_TIDY_COMMAND NAMES clang-tidy REQUIRED)
|
||||||
|
message(STATUS "Found clang-tidy at ${CLANG_TIDY_COMMAND}")
|
||||||
|
set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND};--warnings-as-errors=*;--header-filter=.*")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(ENABLE_LTO AND (CMAKE_BUILD_TYPE MATCHES Release OR CMAKE_BUILD_TYPE MATCHES MinRelSize OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo))
|
if(ENABLE_LTO AND (CMAKE_BUILD_TYPE MATCHES Release OR CMAKE_BUILD_TYPE MATCHES MinRelSize OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo))
|
||||||
include(CheckIPOSupported)
|
include(CheckIPOSupported)
|
||||||
@ -86,14 +75,14 @@ sbeParseJson(packagejson packagejsonraw)
|
|||||||
# This regex is not strict enough, but the correct one is too complicated for cmake matching.
|
# This regex is not strict enough, but the correct one is too complicated for cmake matching.
|
||||||
# https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
|
# https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
|
||||||
if (packagejson.version MATCHES "^([0-9]+)\.([0-9]+)\.([0-9]+)([-+][0-9a-zA-Z.-]+)?$")
|
if (packagejson.version MATCHES "^([0-9]+)\.([0-9]+)\.([0-9]+)([-+][0-9a-zA-Z.-]+)?$")
|
||||||
set(OSRM_VERSION_MAJOR ${CMAKE_MATCH_1})
|
set(OSRM_VERSION_MAJOR ${CMAKE_MATCH_1})
|
||||||
set(OSRM_VERSION_MINOR ${CMAKE_MATCH_2})
|
set(OSRM_VERSION_MINOR ${CMAKE_MATCH_2})
|
||||||
set(OSRM_VERSION_PATCH ${CMAKE_MATCH_3})
|
set(OSRM_VERSION_PATCH ${CMAKE_MATCH_3})
|
||||||
set(OSRM_VERSION_PRERELEASE_BUILD ${CMAKE_MATCH_4})
|
set(OSRM_VERSION_PRERELEASE_BUILD ${CMAKE_MATCH_4})
|
||||||
|
|
||||||
set(OSRM_VERSION packagejson.version)
|
set(OSRM_VERSION packagejson.version)
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Version from package.json cannot be parsed, expected semver compatible label, but found ${packagejson.version}")
|
message(FATAL_ERROR "Version from package.json cannot be parsed, expected semver compatible label, but found ${packagejson.version}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
@ -125,12 +114,6 @@ include(CheckCXXCompilerFlag)
|
|||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
||||||
message(STATUS "Building on a 64 bit system")
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "Building on a 32 bit system is not supported")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}/include/)
|
include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}/include/)
|
||||||
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/include/)
|
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/include/)
|
||||||
include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/third_party/sol2/include)
|
include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/third_party/sol2/include)
|
||||||
@ -151,7 +134,6 @@ file(GLOB UpdaterGlob src/updater/*.cpp)
|
|||||||
file(GLOB StorageGlob src/storage/*.cpp)
|
file(GLOB StorageGlob src/storage/*.cpp)
|
||||||
file(GLOB ServerGlob src/server/*.cpp src/server/**/*.cpp)
|
file(GLOB ServerGlob src/server/*.cpp src/server/**/*.cpp)
|
||||||
file(GLOB EngineGlob src/engine/*.cpp src/engine/**/*.cpp)
|
file(GLOB EngineGlob src/engine/*.cpp src/engine/**/*.cpp)
|
||||||
file(GLOB ErrorcodesGlob src/osrm/errorcodes.cpp)
|
|
||||||
|
|
||||||
add_library(UTIL OBJECT ${UtilGlob})
|
add_library(UTIL OBJECT ${UtilGlob})
|
||||||
add_library(EXTRACTOR OBJECT ${ExtractorGlob})
|
add_library(EXTRACTOR OBJECT ${ExtractorGlob})
|
||||||
@ -162,14 +144,11 @@ add_library(CONTRACTOR OBJECT ${ContractorGlob})
|
|||||||
add_library(UPDATER OBJECT ${UpdaterGlob})
|
add_library(UPDATER OBJECT ${UpdaterGlob})
|
||||||
add_library(STORAGE OBJECT ${StorageGlob})
|
add_library(STORAGE OBJECT ${StorageGlob})
|
||||||
add_library(ENGINE OBJECT ${EngineGlob})
|
add_library(ENGINE OBJECT ${EngineGlob})
|
||||||
|
add_library(SERVER OBJECT ${ServerGlob})
|
||||||
if (BUILD_ROUTED)
|
|
||||||
add_library(SERVER OBJECT ${ServerGlob})
|
|
||||||
add_executable(osrm-routed src/tools/routed.cpp $<TARGET_OBJECTS:SERVER> $<TARGET_OBJECTS:UTIL>)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_target_properties(UTIL PROPERTIES LINKER_LANGUAGE CXX)
|
set_target_properties(UTIL PROPERTIES LINKER_LANGUAGE CXX)
|
||||||
|
|
||||||
|
add_executable(osrm-routed src/tools/routed.cpp $<TARGET_OBJECTS:SERVER> $<TARGET_OBJECTS:UTIL>)
|
||||||
add_executable(osrm-extract src/tools/extract.cpp)
|
add_executable(osrm-extract src/tools/extract.cpp)
|
||||||
add_executable(osrm-partition src/tools/partition.cpp)
|
add_executable(osrm-partition src/tools/partition.cpp)
|
||||||
add_executable(osrm-customize src/tools/customize.cpp)
|
add_executable(osrm-customize src/tools/customize.cpp)
|
||||||
@ -479,9 +458,7 @@ target_link_libraries(osrm-extract osrm_extract ${Boost_PROGRAM_OPTIONS_LIBRARY}
|
|||||||
target_link_libraries(osrm-partition osrm_partition ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
target_link_libraries(osrm-partition osrm_partition ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
||||||
target_link_libraries(osrm-customize osrm_customize ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
target_link_libraries(osrm-customize osrm_customize ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
||||||
target_link_libraries(osrm-contract osrm_contract ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
target_link_libraries(osrm-contract osrm_contract ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
||||||
if (BUILD_ROUTED)
|
target_link_libraries(osrm-routed osrm ${Boost_PROGRAM_OPTIONS_LIBRARY} ${OPTIONAL_SOCKET_LIBS} ${ZLIB_LIBRARY})
|
||||||
target_link_libraries(osrm-routed osrm ${Boost_PROGRAM_OPTIONS_LIBRARY} ${OPTIONAL_SOCKET_LIBS} ${ZLIB_LIBRARY})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(EXTRACTOR_LIBRARIES
|
set(EXTRACTOR_LIBRARIES
|
||||||
${BZIP2_LIBRARIES}
|
${BZIP2_LIBRARIES}
|
||||||
@ -555,18 +532,13 @@ target_link_libraries(osrm_partition ${PARTITIONER_LIBRARIES})
|
|||||||
target_link_libraries(osrm_customize ${CUSTOMIZER_LIBRARIES} osrm_update osrm_store)
|
target_link_libraries(osrm_customize ${CUSTOMIZER_LIBRARIES} osrm_update osrm_store)
|
||||||
target_link_libraries(osrm_store ${STORAGE_LIBRARIES})
|
target_link_libraries(osrm_store ${STORAGE_LIBRARIES})
|
||||||
|
|
||||||
# BUILD_COMPONENTS
|
|
||||||
add_executable(osrm-components src/tools/components.cpp $<TARGET_OBJECTS:MICROTAR> $<TARGET_OBJECTS:UTIL>)
|
add_executable(osrm-components src/tools/components.cpp $<TARGET_OBJECTS:MICROTAR> $<TARGET_OBJECTS:UTIL>)
|
||||||
target_link_libraries(osrm-components ${TBB_LIBRARIES} ${BOOST_BASE_LIBRARIES} ${UTIL_LIBRARIES})
|
target_link_libraries(osrm-components ${TBB_LIBRARIES} ${BOOST_BASE_LIBRARIES} ${UTIL_LIBRARIES})
|
||||||
install(TARGETS osrm-components DESTINATION bin)
|
install(TARGETS osrm-components DESTINATION bin)
|
||||||
|
|
||||||
if(BUILD_TOOLS)
|
add_executable(osrm-io-benchmark src/tools/io-benchmark.cpp $<TARGET_OBJECTS:UTIL>)
|
||||||
message(STATUS "Activating OSRM internal tools")
|
target_link_libraries(osrm-io-benchmark ${BOOST_BASE_LIBRARIES} ${TBB_LIBRARIES})
|
||||||
add_executable(osrm-io-benchmark src/tools/io-benchmark.cpp $<TARGET_OBJECTS:UTIL>)
|
install(TARGETS osrm-io-benchmark DESTINATION bin)
|
||||||
target_link_libraries(osrm-io-benchmark ${BOOST_BASE_LIBRARIES} ${TBB_LIBRARIES})
|
|
||||||
|
|
||||||
install(TARGETS osrm-io-benchmark DESTINATION bin)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (ENABLE_ASSERTIONS)
|
if (ENABLE_ASSERTIONS)
|
||||||
message(STATUS "Enabling assertions")
|
message(STATUS "Enabling assertions")
|
||||||
@ -585,47 +557,14 @@ set_property(TARGET osrm-extract PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|||||||
set_property(TARGET osrm-partition PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
set_property(TARGET osrm-partition PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||||
set_property(TARGET osrm-contract PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
set_property(TARGET osrm-contract PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||||
set_property(TARGET osrm-datastore PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
set_property(TARGET osrm-datastore PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||||
if (BUILD_ROUTED)
|
set_property(TARGET osrm-routed PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||||
set_property(TARGET osrm-routed PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
file(GLOB FlatbuffersGlob third_party/flatbuffers/include/flatbuffers/*.h)
|
|
||||||
file(GLOB LibraryGlob include/osrm/*.hpp)
|
|
||||||
file(GLOB ParametersGlob include/engine/api/*_parameters.hpp)
|
|
||||||
set(ApiHeader include/engine/api/base_result.hpp)
|
|
||||||
set(EngineHeader include/engine/status.hpp include/engine/engine_config.hpp include/engine/hint.hpp include/engine/bearing.hpp include/engine/approach.hpp include/engine/phantom_node.hpp)
|
|
||||||
set(UtilHeader include/util/coordinate.hpp include/util/json_container.hpp include/util/typedefs.hpp include/util/alias.hpp include/util/exception.hpp include/util/bearing.hpp)
|
|
||||||
set(ExtractorHeader include/extractor/extractor.hpp include/storage/io_config.hpp include/extractor/extractor_config.hpp include/extractor/travel_mode.hpp)
|
|
||||||
set(PartitionerHeader include/partitioner/partitioner.hpp include/partitioner/partitioner_config.hpp)
|
|
||||||
set(ContractorHeader include/contractor/contractor.hpp include/contractor/contractor_config.hpp)
|
|
||||||
set(StorageHeader include/storage/storage.hpp include/storage/io_config.hpp include/storage/storage_config.hpp)
|
|
||||||
install(FILES ${EngineHeader} DESTINATION include/osrm/engine)
|
|
||||||
install(FILES ${UtilHeader} DESTINATION include/osrm/util)
|
|
||||||
install(FILES ${StorageHeader} DESTINATION include/osrm/storage)
|
|
||||||
install(FILES ${ExtractorHeader} DESTINATION include/osrm/extractor)
|
|
||||||
install(FILES ${PartitionerHeader} DESTINATION include/osrm/partitioner)
|
|
||||||
install(FILES ${ContractorHeader} DESTINATION include/osrm/contractor)
|
|
||||||
install(FILES ${LibraryGlob} DESTINATION include/osrm)
|
|
||||||
install(FILES ${ParametersGlob} DESTINATION include/osrm/engine/api)
|
|
||||||
install(FILES ${ApiHeader} DESTINATION include/osrm/engine/api)
|
|
||||||
install(FILES ${FlatbuffersGlob} DESTINATION include/flatbuffers)
|
|
||||||
install(TARGETS osrm-extract DESTINATION bin)
|
install(TARGETS osrm-extract DESTINATION bin)
|
||||||
install(TARGETS osrm-partition DESTINATION bin)
|
install(TARGETS osrm-partition DESTINATION bin)
|
||||||
install(TARGETS osrm-customize DESTINATION bin)
|
install(TARGETS osrm-customize DESTINATION bin)
|
||||||
install(TARGETS osrm-contract DESTINATION bin)
|
install(TARGETS osrm-contract DESTINATION bin)
|
||||||
install(TARGETS osrm-datastore DESTINATION bin)
|
install(TARGETS osrm-datastore DESTINATION bin)
|
||||||
if (BUILD_ROUTED)
|
install(TARGETS osrm-routed DESTINATION bin)
|
||||||
install(TARGETS osrm-routed DESTINATION bin)
|
|
||||||
endif()
|
|
||||||
install(TARGETS osrm DESTINATION lib)
|
|
||||||
install(TARGETS osrm_extract DESTINATION lib)
|
|
||||||
install(TARGETS osrm_partition DESTINATION lib)
|
|
||||||
install(TARGETS osrm_customize DESTINATION lib)
|
|
||||||
install(TARGETS osrm_update DESTINATION lib)
|
|
||||||
install(TARGETS osrm_contract DESTINATION lib)
|
|
||||||
install(TARGETS osrm_store DESTINATION lib)
|
|
||||||
install(TARGETS osrm_guidance DESTINATION lib)
|
|
||||||
|
|
||||||
|
|
||||||
# Install profiles and support library to /usr/local/share/osrm/profiles by default
|
# Install profiles and support library to /usr/local/share/osrm/profiles by default
|
||||||
set(DefaultProfilesDir profiles)
|
set(DefaultProfilesDir profiles)
|
||||||
@ -636,8 +575,6 @@ set(DefaultProfilesDir data)
|
|||||||
install(DIRECTORY ${DefaultProfilesDir} DESTINATION share/osrm)
|
install(DIRECTORY ${DefaultProfilesDir} DESTINATION share/osrm)
|
||||||
|
|
||||||
# Setup exporting variables for pkgconfig and subproject
|
# Setup exporting variables for pkgconfig and subproject
|
||||||
#
|
|
||||||
|
|
||||||
if(BUILD_PACKAGE)
|
if(BUILD_PACKAGE)
|
||||||
include(CPackConfig)
|
include(CPackConfig)
|
||||||
include(CPack)
|
include(CPack)
|
||||||
@ -714,7 +651,6 @@ if (ENABLE_NODE_BINDINGS)
|
|||||||
add_subdirectory(src/nodejs)
|
add_subdirectory(src/nodejs)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if (ENABLE_FUZZING)
|
if (ENABLE_FUZZING)
|
||||||
# Requires libosrm being built with sanitizers; make configurable and default to ubsan
|
# Requires libosrm being built with sanitizers; make configurable and default to ubsan
|
||||||
set(FUZZ_SANITIZER "undefined" CACHE STRING "Sanitizer to be used for Fuzz testing")
|
set(FUZZ_SANITIZER "undefined" CACHE STRING "Sanitizer to be used for Fuzz testing")
|
||||||
@ -748,4 +684,3 @@ foreach(header ${headers_to_check})
|
|||||||
endforeach()
|
endforeach()
|
||||||
add_library(check-headers STATIC EXCLUDE_FROM_ALL ${sources})
|
add_library(check-headers STATIC EXCLUDE_FROM_ALL ${sources})
|
||||||
set_target_properties(check-headers PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${check_headers_dir})
|
set_target_properties(check-headers PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${check_headers_dir})
|
||||||
|
|
||||||
|
@ -27,11 +27,10 @@ RUN NPROC=${BUILD_CONCURRENCY:-$(nproc)} && \
|
|||||||
cd build && \
|
cd build && \
|
||||||
BUILD_TYPE="Release" && \
|
BUILD_TYPE="Release" && \
|
||||||
ENABLE_ASSERTIONS="Off" && \
|
ENABLE_ASSERTIONS="Off" && \
|
||||||
BUILD_TOOLS="Off" && \
|
|
||||||
case ${DOCKER_TAG} in *"-debug"*) BUILD_TYPE="Debug";; esac && \
|
case ${DOCKER_TAG} in *"-debug"*) BUILD_TYPE="Debug";; esac && \
|
||||||
case ${DOCKER_TAG} in *"-assertions"*) BUILD_TYPE="RelWithDebInfo" && ENABLE_ASSERTIONS="On" && BUILD_TOOLS="On";; esac && \
|
case ${DOCKER_TAG} in *"-assertions"*) BUILD_TYPE="RelWithDebInfo" && ENABLE_ASSERTIONS="On";; esac && \
|
||||||
echo "Building ${BUILD_TYPE} with ENABLE_ASSERTIONS=${ENABLE_ASSERTIONS} BUILD_TOOLS=${BUILD_TOOLS}" && \
|
echo "Building ${BUILD_TYPE} with ENABLE_ASSERTIONS=${ENABLE_ASSERTIONS} && \
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DENABLE_ASSERTIONS=${ENABLE_ASSERTIONS} -DBUILD_TOOLS=${BUILD_TOOLS} -DENABLE_LTO=OFF && \
|
cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DENABLE_ASSERTIONS=${ENABLE_ASSERTIONS} -DENABLE_LTO=OFF && \
|
||||||
make -j${NPROC} install && \
|
make -j${NPROC} install && \
|
||||||
cd ../profiles && \
|
cd ../profiles && \
|
||||||
cp -r * /opt && \
|
cp -r * /opt && \
|
||||||
|
@ -29,11 +29,10 @@ RUN NPROC=${BUILD_CONCURRENCY:-$(nproc)} && \
|
|||||||
cd build && \
|
cd build && \
|
||||||
BUILD_TYPE="Release" && \
|
BUILD_TYPE="Release" && \
|
||||||
ENABLE_ASSERTIONS="Off" && \
|
ENABLE_ASSERTIONS="Off" && \
|
||||||
BUILD_TOOLS="Off" && \
|
|
||||||
case ${DOCKER_TAG} in *"-debug"*) BUILD_TYPE="Debug";; esac && \
|
case ${DOCKER_TAG} in *"-debug"*) BUILD_TYPE="Debug";; esac && \
|
||||||
case ${DOCKER_TAG} in *"-assertions"*) BUILD_TYPE="RelWithDebInfo" && ENABLE_ASSERTIONS="On" && BUILD_TOOLS="On";; esac && \
|
case ${DOCKER_TAG} in *"-assertions"*) BUILD_TYPE="RelWithDebInfo" && ENABLE_ASSERTIONS="On";; esac && \
|
||||||
echo "Building ${BUILD_TYPE} with ENABLE_ASSERTIONS=${ENABLE_ASSERTIONS} BUILD_TOOLS=${BUILD_TOOLS}" && \
|
echo "Building ${BUILD_TYPE} with ENABLE_ASSERTIONS=${ENABLE_ASSERTIONS} && \
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DENABLE_ASSERTIONS=${ENABLE_ASSERTIONS} -DBUILD_TOOLS=${BUILD_TOOLS} -DENABLE_LTO=On && \
|
cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DENABLE_ASSERTIONS=${ENABLE_ASSERTIONS} -DENABLE_LTO=On && \
|
||||||
make -j${NPROC} install && \
|
make -j${NPROC} install && \
|
||||||
cd ../profiles && \
|
cd ../profiles && \
|
||||||
cp -r * /opt && \
|
cp -r * /opt && \
|
||||||
|
@ -114,12 +114,10 @@ add_executable(library-partition-tests
|
|||||||
EXCLUDE_FROM_ALL
|
EXCLUDE_FROM_ALL
|
||||||
${LibraryPartitionTestsSources})
|
${LibraryPartitionTestsSources})
|
||||||
|
|
||||||
if (BUILD_ROUTED)
|
add_executable(server-tests
|
||||||
add_executable(server-tests
|
|
||||||
EXCLUDE_FROM_ALL
|
EXCLUDE_FROM_ALL
|
||||||
${ServerTestsSources}
|
${ServerTestsSources}
|
||||||
$<TARGET_OBJECTS:UTIL> $<TARGET_OBJECTS:SERVER>)
|
$<TARGET_OBJECTS:UTIL> $<TARGET_OBJECTS:SERVER>)
|
||||||
endif()
|
|
||||||
|
|
||||||
add_executable(util-tests
|
add_executable(util-tests
|
||||||
EXCLUDE_FROM_ALL
|
EXCLUDE_FROM_ALL
|
||||||
@ -172,9 +170,7 @@ target_link_libraries(library-extract-tests osrm_extract osrm_guidance ${Boost_U
|
|||||||
target_link_libraries(library-contract-tests osrm_contract ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
target_link_libraries(library-contract-tests osrm_contract ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
||||||
target_link_libraries(library-customize-tests osrm_customize ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
target_link_libraries(library-customize-tests osrm_customize ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
||||||
target_link_libraries(library-partition-tests osrm_partition ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
target_link_libraries(library-partition-tests osrm_partition ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
||||||
if (BUILD_ROUTED)
|
target_link_libraries(server-tests osrm ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
||||||
target_link_libraries(server-tests osrm ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
|
||||||
endif()
|
|
||||||
target_link_libraries(util-tests ${UTIL_LIBRARIES} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
target_link_libraries(util-tests ${UTIL_LIBRARIES} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
||||||
target_link_libraries(contractor-tests osrm_contract ${CONTRACTOR_LIBRARIES} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
target_link_libraries(contractor-tests osrm_contract ${CONTRACTOR_LIBRARIES} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
||||||
target_link_libraries(storage-tests osrm_store ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
target_link_libraries(storage-tests osrm_store ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
|
||||||
|
Loading…
Reference in New Issue
Block a user