Do not violate the One Definition Rule (ODR).
By linking in the coordinate object file twice, we violate the ODR, resulting in our program to not be "well-formed" in language lawyer speak (hint: bad, very bad). (How come no one noticed this all the time, this was introduced somewhere between v4.5.0 and v4.6.0 from a quick look...) References: - C++14 standard (N3936.pfd): 3.2 One definition rule [basic.def.odr] - http://eel.is/c++draft/basic.def.odr
This commit is contained in:
parent
ca0f8ed653
commit
3f7afd47d2
@ -92,7 +92,7 @@ set(
|
||||
)
|
||||
|
||||
add_library(COORDINATE OBJECT ${CoordinateGlob})
|
||||
add_library(OSRM ${OSRMSources} $<TARGET_OBJECTS:ANGLE> $<TARGET_OBJECTS:COORDINATE> $<TARGET_OBJECTS:FINGERPRINT> $<TARGET_OBJECTS:COORDINATE> $<TARGET_OBJECTS:LOGGER> $<TARGET_OBJECTS:RESTRICTION> $<TARGET_OBJECTS:PHANTOMNODE> $<TARGET_OBJECTS:EXCEPTION> $<TARGET_OBJECTS:MERCATOR> $<TARGET_OBJECTS:IMPORT>)
|
||||
add_library(OSRM ${OSRMSources} $<TARGET_OBJECTS:ANGLE> $<TARGET_OBJECTS:COORDINATE> $<TARGET_OBJECTS:FINGERPRINT> $<TARGET_OBJECTS:LOGGER> $<TARGET_OBJECTS:RESTRICTION> $<TARGET_OBJECTS:PHANTOMNODE> $<TARGET_OBJECTS:EXCEPTION> $<TARGET_OBJECTS:MERCATOR> $<TARGET_OBJECTS:IMPORT>)
|
||||
|
||||
add_library(FINGERPRINT OBJECT util/fingerprint.cpp)
|
||||
add_dependencies(FINGERPRINT FingerPrintConfigure)
|
||||
|
Loading…
Reference in New Issue
Block a user