Skip to content

Commit f16983e

Browse files
committed
build libosrm as a monolithic library, alternate fix Project-OSRM#6954/Project-OSRM#6955
1 parent feb9389 commit f16983e

File tree

1 file changed

+33
-93
lines changed

1 file changed

+33
-93
lines changed

Diff for: CMakeLists.txt

+33-93
Original file line numberDiff line numberDiff line change
@@ -130,15 +130,15 @@ configure_file(
130130
)
131131
file(GLOB UtilGlob src/util/*.cpp src/util/*/*.cpp)
132132
file(GLOB ExtractorGlob src/extractor/*.cpp src/extractor/*/*.cpp)
133-
file(GLOB GuidanceGlob src/guidance/*.cpp src/extractor/intersection/*.cpp)
133+
file(GLOB GuidanceGlob src/guidance/*.cpp)
134134
file(GLOB PartitionerGlob src/partitioner/*.cpp)
135135
file(GLOB CustomizerGlob src/customize/*.cpp)
136136
file(GLOB ContractorGlob src/contractor/*.cpp)
137137
file(GLOB UpdaterGlob src/updater/*.cpp)
138138
file(GLOB StorageGlob src/storage/*.cpp)
139139
file(GLOB ServerGlob src/server/*.cpp src/server/**/*.cpp)
140140
file(GLOB EngineGlob src/engine/*.cpp src/engine/**/*.cpp)
141-
file(GLOB ErrorcodesGlob src/osrm/errorcodes.cpp)
141+
file(GLOB OSRMGlob src/osrm/*.cpp)
142142

143143
add_library(UTIL OBJECT ${UtilGlob})
144144
add_library(EXTRACTOR OBJECT ${ExtractorGlob})
@@ -162,14 +162,19 @@ add_executable(osrm-partition src/tools/partition.cpp)
162162
add_executable(osrm-customize src/tools/customize.cpp)
163163
add_executable(osrm-contract src/tools/contract.cpp)
164164
add_executable(osrm-datastore src/tools/store.cpp $<TARGET_OBJECTS:MICROTAR> $<TARGET_OBJECTS:UTIL>)
165-
add_library(osrm src/osrm/osrm.cpp $<TARGET_OBJECTS:ENGINE> $<TARGET_OBJECTS:STORAGE> $<TARGET_OBJECTS:MICROTAR> $<TARGET_OBJECTS:UTIL>)
166-
add_library(osrm_contract src/osrm/contractor.cpp $<TARGET_OBJECTS:CONTRACTOR> $<TARGET_OBJECTS:UTIL>)
167-
add_library(osrm_extract src/osrm/extractor.cpp $<TARGET_OBJECTS:EXTRACTOR> $<TARGET_OBJECTS:MICROTAR> $<TARGET_OBJECTS:UTIL>)
168-
add_library(osrm_guidance $<TARGET_OBJECTS:GUIDANCE> $<TARGET_OBJECTS:UTIL>)
169-
add_library(osrm_partition src/osrm/partitioner.cpp $<TARGET_OBJECTS:PARTITIONER> $<TARGET_OBJECTS:MICROTAR> $<TARGET_OBJECTS:UTIL>)
170-
add_library(osrm_customize src/osrm/customizer.cpp $<TARGET_OBJECTS:CUSTOMIZER> $<TARGET_OBJECTS:MICROTAR> $<TARGET_OBJECTS:UTIL>)
171-
add_library(osrm_update $<TARGET_OBJECTS:UPDATER> $<TARGET_OBJECTS:MICROTAR> $<TARGET_OBJECTS:UTIL>)
172-
add_library(osrm_store $<TARGET_OBJECTS:STORAGE> $<TARGET_OBJECTS:MICROTAR> $<TARGET_OBJECTS:UTIL>)
165+
add_library(osrm
166+
${OSRMGlob}
167+
$<TARGET_OBJECTS:ENGINE>
168+
$<TARGET_OBJECTS:CONTRACTOR>
169+
$<TARGET_OBJECTS:EXTRACTOR>
170+
$<TARGET_OBJECTS:GUIDANCE>
171+
$<TARGET_OBJECTS:PARTITIONER>
172+
$<TARGET_OBJECTS:CUSTOMIZER>
173+
$<TARGET_OBJECTS:UPDATER>
174+
$<TARGET_OBJECTS:STORAGE>
175+
$<TARGET_OBJECTS:MICROTAR>
176+
$<TARGET_OBJECTS:UTIL>
177+
)
173178

174179
# Explicitly set the build type to Release if no other type is specified
175180
# on the command line. Without this, cmake defaults to an unoptimized,
@@ -489,87 +494,29 @@ set(BOOST_ENGINE_LIBRARIES
489494
${BOOST_BASE_LIBRARIES})
490495

491496
# Binaries
492-
target_link_libraries(osrm-datastore osrm_store ${Boost_PROGRAM_OPTIONS_LIBRARY})
493-
target_link_libraries(osrm-extract osrm_extract ${Boost_PROGRAM_OPTIONS_LIBRARY})
494-
target_link_libraries(osrm-partition osrm_partition ${Boost_PROGRAM_OPTIONS_LIBRARY})
495-
target_link_libraries(osrm-customize osrm_customize ${Boost_PROGRAM_OPTIONS_LIBRARY})
496-
target_link_libraries(osrm-contract osrm_contract ${Boost_PROGRAM_OPTIONS_LIBRARY})
497+
target_link_libraries(osrm-datastore osrm ${Boost_PROGRAM_OPTIONS_LIBRARY})
498+
target_link_libraries(osrm-extract osrm ${Boost_PROGRAM_OPTIONS_LIBRARY})
499+
target_link_libraries(osrm-partition osrm ${Boost_PROGRAM_OPTIONS_LIBRARY})
500+
target_link_libraries(osrm-customize osrm ${Boost_PROGRAM_OPTIONS_LIBRARY})
501+
target_link_libraries(osrm-contract osrm ${Boost_PROGRAM_OPTIONS_LIBRARY})
497502
if (BUILD_ROUTED)
498503
target_link_libraries(osrm-routed osrm ${Boost_PROGRAM_OPTIONS_LIBRARY} ${OPTIONAL_SOCKET_LIBS} ${ZLIB_LIBRARY})
499504
endif()
500505

501-
set(EXTRACTOR_LIBRARIES
502-
${BZIP2_LIBRARIES}
503-
${Boost_REGEX_LIBRARY}
504-
${BOOST_BASE_LIBRARIES}
505-
${CMAKE_THREAD_LIBS_INIT}
506-
${EXPAT_LIBRARIES}
507-
${LUA_LIBRARIES}
508-
${OSMIUM_LIBRARIES}
509-
${TBB_LIBRARIES}
510-
${ZLIB_LIBRARY}
511-
${MAYBE_COVERAGE_LIBRARIES})
512-
set(GUIDANCE_LIBRARIES
513-
${BOOST_BASE_LIBRARIES}
514-
${CMAKE_THREAD_LIBS_INIT}
515-
${LUA_LIBRARIES}
516-
${TBB_LIBRARIES}
517-
${MAYBE_COVERAGE_LIBRARIES})
518-
set(PARTITIONER_LIBRARIES
519-
${BOOST_ENGINE_LIBRARIES}
520-
${CMAKE_THREAD_LIBS_INIT}
521-
${TBB_LIBRARIES}
522-
${MAYBE_RT_LIBRARY}
523-
${MAYBE_COVERAGE_LIBRARIES}
524-
${ZLIB_LIBRARY})
525-
set(CUSTOMIZER_LIBRARIES
526-
${BOOST_ENGINE_LIBRARIES}
527-
${CMAKE_THREAD_LIBS_INIT}
528-
${TBB_LIBRARIES}
529-
${MAYBE_RT_LIBRARY}
530-
${MAYBE_COVERAGE_LIBRARIES})
531-
set(UPDATER_LIBRARIES
532-
${BOOST_BASE_LIBRARIES}
533-
${CMAKE_THREAD_LIBS_INIT}
534-
${TBB_LIBRARIES}
535-
${MAYBE_RT_LIBRARY}
536-
${MAYBE_COVERAGE_LIBRARIES}
537-
${ZLIB_LIBRARY})
538-
set(CONTRACTOR_LIBRARIES
539-
${BOOST_BASE_LIBRARIES}
540-
${CMAKE_THREAD_LIBS_INIT}
541-
${LUA_LIBRARIES}
542-
${TBB_LIBRARIES}
543-
${MAYBE_RT_LIBRARY}
544-
${MAYBE_COVERAGE_LIBRARIES})
545-
set(ENGINE_LIBRARIES
546-
${BOOST_ENGINE_LIBRARIES}
547-
${CMAKE_THREAD_LIBS_INIT}
548-
${TBB_LIBRARIES}
549-
${MAYBE_RT_LIBRARY}
550-
${MAYBE_COVERAGE_LIBRARIES}
551-
${ZLIB_LIBRARY})
552-
set(STORAGE_LIBRARIES
553-
${BOOST_BASE_LIBRARIES}
554-
${CMAKE_THREAD_LIBS_INIT}
555-
${TBB_LIBRARIES}
556-
${MAYBE_RT_LIBRARY}
557-
${MAYBE_COVERAGE_LIBRARIES})
558-
set(UTIL_LIBRARIES
559-
${BOOST_BASE_LIBRARIES}
560-
${CMAKE_THREAD_LIBS_INIT}
561-
${TBB_LIBRARIES}
562-
${MAYBE_COVERAGE_LIBRARIES}
563-
${ZLIB_LIBRARY})
564-
565506
# Libraries
566-
target_link_libraries(osrm ${ENGINE_LIBRARIES})
567-
target_link_libraries(osrm_update ${UPDATER_LIBRARIES})
568-
target_link_libraries(osrm_contract ${CONTRACTOR_LIBRARIES} osrm_update osrm_store)
569-
target_link_libraries(osrm_extract osrm_guidance ${EXTRACTOR_LIBRARIES})
570-
target_link_libraries(osrm_partition ${PARTITIONER_LIBRARIES})
571-
target_link_libraries(osrm_customize ${CUSTOMIZER_LIBRARIES} osrm_update osrm_store)
572-
target_link_libraries(osrm_store ${STORAGE_LIBRARIES})
507+
target_link_libraries(osrm
508+
${BZIP2_LIBRARIES}
509+
${Boost_REGEX_LIBRARY}
510+
${BOOST_BASE_LIBRARIES}
511+
${BOOST_ENGINE_LIBRARIES}
512+
${CMAKE_THREAD_LIBS_INIT}
513+
${EXPAT_LIBRARIES}
514+
${LUA_LIBRARIES}
515+
${OSMIUM_LIBRARIES}
516+
${TBB_LIBRARIES}
517+
${MAYBE_RT_LIBRARY}
518+
${ZLIB_LIBRARY}
519+
${MAYBE_COVERAGE_LIBRARIES})
573520

574521
# BUILD_COMPONENTS
575522
add_executable(osrm-components src/tools/components.cpp $<TARGET_OBJECTS:MICROTAR> $<TARGET_OBJECTS:UTIL>)
@@ -634,13 +581,6 @@ if (BUILD_ROUTED)
634581
install(TARGETS osrm-routed DESTINATION bin)
635582
endif()
636583
install(TARGETS osrm DESTINATION lib)
637-
install(TARGETS osrm_extract DESTINATION lib)
638-
install(TARGETS osrm_partition DESTINATION lib)
639-
install(TARGETS osrm_customize DESTINATION lib)
640-
install(TARGETS osrm_update DESTINATION lib)
641-
install(TARGETS osrm_contract DESTINATION lib)
642-
install(TARGETS osrm_store DESTINATION lib)
643-
install(TARGETS osrm_guidance DESTINATION lib)
644584

645585

646586
# Install profiles and support library to /usr/local/share/osrm/profiles by default

0 commit comments

Comments
 (0)