Moritz Kobitzsch
1c1bfd7541
Fix routing when start and target are on the same segment
...
Fixes issue #1864 . Given the simple set-up:
a --> b --> c
^-----------|
This would translate into an edge based graph (ab) -> (bc),
(bc) -> (ca), (ca) -> (ab).
Starting at the end of the one-way street (ab) and going to
the beginning, the query has to find a self-loop within the
graph (ab) -> (bc) -> (ca) -> (ab), as both nodes map to the
same segment (ab).
2016-01-19 23:26:19 +01:00
Daniel J. Hofmann
fc292cc2d8
No need for extra translation units (for edge data structures)
2016-01-11 20:11:44 +01:00
Daniel J. Hofmann
d3ef520915
Print message about ccache usage from cmake
2016-01-07 15:20:32 +01:00
Daniel J. Hofmann
cb37c0d135
Use FindOsmium.cmake to handle libosmium's buildsystem integration
2016-01-06 12:32:19 +01:00
Patrick Niklaus
02a49c8a68
Use local includes before system includes
2016-01-03 18:47:50 +01:00
Patrick Niklaus
b618a1241f
Adapt build system
2016-01-03 18:22:31 +01:00
rparanjpe
5c3398c280
name_lengths std::vector --> stxxl::vector
2015-12-15 19:12:33 -08:00
Patrick Niklaus
a8f11981e3
Include tbb in libosrm.pc
2015-12-15 21:42:32 +01:00
Patrick Niklaus
9a332d2f86
Fix osrm.hpp placement
2015-12-15 19:25:26 +01:00
Patrick Niklaus
cdb1918973
Refactor StaticRTree to remove application dependent code
...
StaticRTree now acts like a container, just returning the input data
(NodeBasedEdge) and not PhantomNodes.
2015-12-09 23:37:05 +01:00
Daniel Patterson
b9a4c322a7
Add ability to debug routing graph visually by dumping
...
annotated GeoJSON during processing.
2015-11-19 10:41:44 -05:00
Daniel J. Hofmann
963960a44c
Switch Travis builds over to trusty for Linux (simpler dependency installs), build
...
with mutliple compilers, fix debug builds.
OSX builds are disabled until we fix #1778
2015-11-17 15:15:31 -05:00
Kal Conley
a00d3dfc00
Don't generate util/version.hpp in source tree
2015-10-19 21:33:10 +02:00
Kal Conley
cd458e7a44
Don't generate util/fingerprint_impl.hpp in source tree
2015-10-19 21:33:10 +02:00
Daniel J. Hofmann
74ac283c52
We are on v4.8.1.
2015-10-09 16:53:17 +02:00
Daniel Patterson
e45656e5bf
Refactor edge expansion into extract phase. New temporary file is generated - '.osrm.ebg' which is used by
2015-10-06 09:23:17 -07:00
Daniel J. Hofmann
5379a555db
Use ccache by default if available and a suitable compiler is used.
...
This checks if `ccache` is available, and if so uses it.
The user can stil disable it via the ccache env variable, quoting:
disable (CCACHE_DISABLE) [boolean]
When true, ccache will just call the real compiler, bypassing the cache completely. The default is false.
At least Clang required `CCACHE_CPP2`.
The user does not have to set up anything, just to install ccache.
Of course, things like the cache's max size, its location and so on can
be configured.
References:
- https://ccache.samba.org/manual.html
2015-10-06 11:18:43 +02:00
Daniel J. Hofmann
8f8bd05f83
Silence warnings with GCC, LTO does not yet respect the -isystem switch
2015-09-30 18:22:26 +02:00
Daniel J. Hofmann
b1155a202c
Re-enable manual -fPIC flag from cae59c7.
2015-09-30 18:22:26 +02:00
Daniel J. Hofmann
d4aaaf16f8
Revert "Re-enable position independent code, but in a portable way."
...
This reverts commit 2143dc97fa65c786c6566db1343ad270347dcfd3.
2015-09-30 18:22:26 +02:00
Daniel J. Hofmann
119fb63576
LTO is broken on GCC < 4.9.0, disable it.
...
References:
- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57038
- https://github.com/Project-OSRM/node-osrm/pull/112
2015-09-30 18:22:26 +02:00
Daniel J. Hofmann
3f7afd47d2
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
2015-09-30 18:22:26 +02:00
Daniel J. Hofmann
809bdb7c1f
Fixes version generation, no longer derives version on git tags.
...
We were stuck on the 4.5.0 tag from develop, since we searched for the
latest tag, but release tags are done on the master branch.
This commit rips out all the code for deriving the version on git tags.
Instead, we define major, minor, and patch versions in the CMakeLists
and then pass it on to:
- the `libosrm.pc` `pkg-config` file
- a `version.hpp` header that makes use of the preprocessor's string
concatenation to provide an easy way for generating version string
literals such as "v4.8.0".
That is, in the source code please now use the following defines:
#define OSRM_VERSION_MAJOR "@OSRM_VERSION_MAJOR@"
#define OSRM_VERSION_MINOR "@OSRM_VERSION_MINOR@"
#define OSRM_VERSION_PATCH "@OSRM_VERSION_PATCH@"
#define OSRM_VERSION "v" OSRM_VERSION_MAJOR "." OSRM_VERSION_MINOR "." OSRM_VERSION_PATCH
2015-09-30 18:22:25 +02:00
Daniel J. Hofmann
0424ff0818
Do not pass linker flags for static libraries.
...
Static libraries get the linker flags from the user / pkg-config.
2015-09-30 18:20:00 +02:00
Daniel J. Hofmann
9b952ff48c
Improve debug build performance while keeping symbols.
...
- remove profiling/coverage mix from debug build, as it is useless as of
now, re-enable this for a separate coverage build in the future
- use gcc's `-ggdb` and `-Og` flag (requires recent gcc) to provide
better debug information targeted for gdb and optimize what we can
- use `-fno-inline` and `-fno-omit-stack-pointer`, in order to be able
to jump around in gdb without functions being gone and keeping the
stack reference
2015-09-30 18:20:00 +02:00
Daniel J. Hofmann
c5064710a8
Re-enable position independent code, but in a portable way.
...
CMake 2.8.9 introduce a `POSITION_INDEPENDENT_CODE` property.
This sets `-fPIE` on executables, giving us back optimizations such as
inlining of global variables and functions, while setting `-fPIC` on
libraries.
Although we do not need position independent code on executables, it
seems like some gcc versions (like 4.9.2) have issues in combinations
with `_FORTIFY_SOURCE`.
On shared libraries, CMake should per documentation even use position
independent code by default.
References:
- http://www.cmake.org/cmake/help/v3.0/prop_tgt/POSITION_INDEPENDENT_CODE.html#prop_tgt:POSITION_INDEPENDENT_CODE
- http://public.kitware.com/pipermail/cmake-developers/2012-May/015839.html
- https://github.com/Project-OSRM/osrm-backend/pull/1647
- cae59c7395
2015-09-30 18:20:00 +02:00
Daniel J. Hofmann
57e522065a
Add linker optimizations and dead code and data elimination.
...
Linkers also have options we can configure! The most usefull feature is
to give every function its own section. This results in some bloat at
compile time, but at link time now the linker can do dead code and data
elimination by simply discarding appropriate sections.
This works by splitting the `.text` section in a way that makes it
possible to later only pull in sections that are actually referenced.
That is, the basic idea is to keep the matching between sections and
functions intact, so we can optimize based on it in the linking stage.
Note: there's still an issue with how `libOSRM.a` gets build. CMake
currently passes the linker flags on to ar, in order to create a static
library. But ar does not understand the linker's flags.
Referenes:
- https://sourceware.org/binutils/docs/ld/Options.html#Options
- http://elinux.org/images/2/2d/ELC2010-gc-sections_Denys_Vlasenko.pdfMCþ "
- http://www.cmake.org/cmake/help/v3.0/variable/CMAKE_EXE_LINKER_FLAGS.html
- http://www.cmake.org/cmake/help/v3.0/variable/CMAKE_MODULE_LINKER_FLAGS.html
- http://www.cmake.org/cmake/help/v3.0/variable/CMAKE_SHARED_LINKER_FLAGS.html
- http://www.cmake.org/cmake/help/v3.0/variable/CMAKE_STATIC_LINKER_FLAGS.html
2015-09-30 18:20:00 +02:00
Daniel J. Hofmann
7143daf500
There is no CMAKE_LINKER_FLAGS variable.
...
There really isn't; deal with it.
Also, those are not linker flags but instead meant for the compiler.
References:
- http://www.cmake.org/cmake/help/v3.0/manual/cmake-variables.7.html
2015-09-30 18:20:00 +02:00
Daniel J. Hofmann
71a00fc01b
Make lto detection more robust and not resetting cxx flags when lto fails.
...
This refines the last commit of parallelizing lto.
Discussion: this is ugly as hell, dispatching 1/ on the availability of
the `-flto` flag, then 2/ on the compiler since GCC allows `-flto=n`
whereas Clang for example does not.
I tried setting the CMake property `INTERPROCEDURAL_OPTIMIZATION`,
without any effect. All I could see was some lto related utilities in
the cmake debug output, but not in the actual compiler or linker
invocation.
This would eliminate the need for our hacks, with 1/ using an option
`WITH_LTO` setting `ON` by default, and based on this value setting the
`INTERPROCEDURAL_OPTIMIZATION` flag with CMake doing the actual work of
selecting the best LTO method on the target platform.
By the way, this also fixes a bug where we reset the `CMAKE_CXX_FLAGS`
to a variable that was never defined, resulting in setting the flags to
an empty string. Yay CMake, as usual.
References:
- http://www.cmake.org/cmake/help/v3.0/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.html
2015-09-30 18:20:00 +02:00
Daniel J. Hofmann
941483c14d
Parallelize optimization and code generation for link time optimization.
...
This parallelizes the `-flto` feature resulting in parallel optimization
and code generation for link time optimization based on the number of
logical processors available.
Note: this has the side-effect of using more memory during linking.
References:
- https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html (see: -flto)
- http://www.cmake.org/cmake/help/v3.0/module/ProcessorCount.htmMC
2015-09-30 18:20:00 +02:00
Daniel J. Hofmann
72c0feb048
Silence warnings for system headers that we or third_party transitively includes.
...
GCC with link time optimizations does not to respect this mode
unfortunately, reuslting in warnings in release (default) build
mode from system includes such as boost, luabind and so on.
2015-09-30 18:18:36 +02:00
Daniel J. Hofmann
9e20dbe226
Remove -fPIC flag from build system.
...
This remove the `-fPIC` flag, indicating position independant code
generation, from the build system.
Citing GCC's official code generation docs:
> This option makes a difference on the m68k, PowerPC and SPARC.
We do not support any of these architectures, so remove the flag!
References:
- https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options
2015-09-30 18:18:36 +02:00
Daniel J. Hofmann
06f2738c03
Add stricter compiler warnings to build system.
...
These are for standard compliance and should on by default:
-Wall -Wextra -pedantic
The problem is that even `-Wall` and `-Wextra` does not cover all
warnings, as to not break backward compatibility. Clang therefore
has the `-Weverything` flag, that really includes everything but is
overkill for the day to day development.
Thus, we in addition add:
-Wuninitialized -Wunreachable-code
to guard against undefined behavior from reading uninitialized variables
and warn for unreachable code.
With:
-Wstrict-overflow=1
the compiler warns us when it's doing optimizations based on the fact
that signed integer overflows are undefined behavior.
With:
-D_FORTIFY_SOURCE=2
we tell the compiler to replace functions like strcpy with strncpy where
it can do so, resulting in cheap and useful buffer overflow protection.
References:
- https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
- https://securityblog.redhat.com/2014/03/26/fortify-and-you/
- https://wiki.debian.org/Hardening
2015-09-30 18:18:36 +02:00
Daniel J. Hofmann
65ee5c4bbb
Exclude unit tests and benchmarks from doxygen and make it more robust.
...
Only specify the flags we change from the default.
doxygen -g Doxyfile
Generates a default Doxyfile.
Also, make the docs not depend on `dot`, but conditionally create graphs
if `dot` is available, and if not still generate docs.
2015-09-22 16:26:21 +02:00
Daniel J. Hofmann
2891de2fcd
Add dependency on Dot to CMakeLists for Doxygen integration.
...
Reference:
- http://www.cmake.org/cmake/help/v3.0/module/FindDoxygen.html
2015-09-22 16:26:21 +02:00
Daniel Patterson
895d8179a2
Adds basic Doxygen support. Run and docs will end up in
2015-09-22 16:26:21 +02:00
Lauren Budorick
bac6703f8e
Implement raster source feature to read data from third-party sources, to be used in lua profiles.
...
* Adds a data structure, RasterSource, to store parsed + queryable data
* Adds bindings for that and relevant data structures as well as source_function and segment_function
* Adds relevant unit tests and cucumber tests
* Bring-your-own-data feature
2015-09-03 22:28:18 -07:00
Chau Nguyen
b15f8f68e4
refactor and improve the round trip computation of multiple SCCs
...
Problem:
- old solution was slow
- depending on the result of TarjanSCC, new distance tables and new phantom node vectors were created to run tsp on it
Solution:
- dont create new distance tables and phantom node vectors
- pass an additional vector with the information which locations are in the same component and ignore all others
fix bug for scc split computation
2015-09-01 15:20:33 +02:00
Daniel J. Hofmann
c39ca7189b
Remove protobuf dependencies from build system
2015-08-31 16:54:22 +02:00
Patrick Niklaus
49adf2192a
Move calculate_coordinate to algorithms/
...
Fixes #1367
2015-08-12 13:02:18 +02:00
Patrick Niklaus
8f4e332409
Link restrictions to datastore test
2015-07-08 20:26:54 +02:00
Patrick Niklaus
f0389c0b2f
Restructure CMakeFile to fix shared library linking errors
2015-07-08 18:26:25 +02:00
Patrick Niklaus
fd30e82836
Add graph compressor unit tests
2015-07-01 18:07:29 +02:00
Patrick Niklaus
3ef34fbb56
Rename GeometryCompressor and add unit tests
2015-07-01 18:07:29 +02:00
Patrick Niklaus
a57fb4f1ab
First step into overhauling the edge storage
2015-06-01 17:22:12 +02:00
Patrick Niklaus
e76d8df246
Fix tools to build with new graph reader interface
2015-05-28 15:18:48 +02:00
Patrick Niklaus
1164a65df8
Refactor processing_chain by splitting into sub functions
2015-05-28 15:18:48 +02:00
Dennis Luxen
c03aec364c
add comparison tool for graph classes
2015-04-16 11:25:43 +02:00
Patrick Niklaus
f89f4bd20b
Add option to enable json logging
2015-04-13 22:39:55 +02:00
Matthias Kuhn
d11c0bbd5c
Do not compile Coordinate sources directly into the OSRM library
...
It is already included in the COORDINATES "OBJECT" target to which the OSRM
library is linked.
This fixes the possibility to build OSRM as a shared library.
2015-03-31 16:57:41 +02:00
Dennis Luxen
19ac831c2e
remove another quoted compare
2015-03-31 12:59:56 +02:00
Dennis Luxen
23b413a398
remove quotes from string compares against variable in CMakeLists
2015-03-31 12:35:20 +02:00
Dennis Luxen
098de196e2
reactivate profiling flags for debug build
2015-03-31 11:21:36 +02:00
Dennis Luxen
5adf792fad
fix build issue where cmake does not pick up generated output of a custom target
...
renamed: ../util/fingerprint.cpp.in -> ../util/fingerprint_impl.hpp.in
2015-03-31 10:45:35 +02:00
Dennis Luxen
81af7d73a6
make FINGERPRINT a global dependency
2015-03-30 15:55:23 +02:00
Dennis Luxen
23e4e0786d
also enable C as a project language
2015-03-30 13:26:06 +02:00
Dennis Luxen
0640ce9632
set project and fingerprint target language to CXX explicitly, fixes AppVeyor build. Potentially Travis, too.
2015-03-30 13:21:03 +02:00
Dennis Luxen
60663b5433
reorder build dependencies
2015-03-30 11:09:41 +02:00
Dennis Luxen
5565662d87
fix compilation with CMake 3.2, closes #1422
...
CMake 3.2 changed the behavior of add_custom_command and ungenerated dependencies. Replaced with add_custom_target that works on version 2.8+
2015-03-23 16:14:24 +01:00
Dennis Luxen
cfaacf7cb2
put util/compute_angle.cpp into OBJECT library to avoid repetetive compiles
2015-03-03 17:58:17 +01:00
Patrick Niklaus
2115a67d24
Link libOSRM with compute_angle
2015-03-03 00:48:57 +01:00
Patrick Niklaus
b5228dcda0
Detect possible uturns in the data.
...
To make them work, we have to disable PhantomNode splitting
for this coordinates.
2015-03-03 00:48:56 +01:00
RockLobster
bad2576397
Replaced CMAKE_SOURCE_DIR in osrm root dir's cmake file with CMAKE_CURRENT_SOURCE_DIR
...
=> Allows osrm to be used as a subproject aswell
2015-02-25 18:25:03 +01:00
Dennis Luxen
9e09168597
un-lint CMakeLists.txt
2015-02-16 14:18:04 +01:00
Dennis Luxen
3d55622237
search quietly for OpenMP
2015-02-05 11:37:55 +01:00
Dennis Luxen
97f6468663
yet another try to unhack libgomp linking: use OpenMP binding if and only if present
2015-01-29 17:29:03 +01:00
Dennis Luxen
a883b73981
add explicit cmake checking step for libgomp
2015-01-29 17:01:08 +01:00
Dennis Luxen
da469911d3
always link against libgomp
2015-01-29 16:23:04 +01:00
Dennis Luxen
8b2ca6b13d
check if stxxl compiles with or without libgomp, fixes #1361
2015-01-29 12:52:54 +01:00
Dennis Luxen
b20b7e65bf
renamed: Util/* -> util/*
2015-01-27 17:47:23 +01:00
Dennis Luxen
1187f83ffd
renamed: Library/*.h -> library/*.hpp
2015-01-27 16:35:19 +01:00
Dennis Luxen
dd3b8469dd
renamed: Include/* include/*
2015-01-27 13:17:18 +01:00
Dennis Luxen
9672f00ec3
renamed: Server/*/*.h -> server/*/*.hpp
2015-01-27 12:35:29 +01:00
Dennis Luxen
0c1101739d
renamed: Server/DataStructures/*.h -> Server/data_structures/*.hpp
2015-01-27 12:14:08 +01:00
Dennis Luxen
ba10f97420
add third_party directory node to the include dirs
2015-01-20 18:23:10 +01:00
Dennis Luxen
50c460ebd5
install mapbox/variant headers from third_party directory
2015-01-20 18:07:45 +01:00
Dennis Luxen
ec9b2dbe42
remove debug info from binaries
2015-01-20 17:57:47 +01:00
Dennis Luxen
01f3237416
speed up nearest neighbor query by pruning, move coordinate calculations away from library interface
2015-01-20 16:24:49 +01:00
Dennis Luxen
f2b556adfd
umbenannt: UnitTests/* -> unit_tests/*
2015-01-15 18:39:26 +01:00
Dennis Luxen
f5caf96d2e
add new include dir of libosmium
2015-01-13 17:14:54 +01:00
Dennis Luxen
5f28a7db0d
add some whitespace
2015-01-13 15:52:24 +01:00
Dennis Luxen
d0c99f1999
fix linking of benchmarks and tests
2015-01-13 15:45:27 +01:00
Dennis Luxen
bf71781ee9
new file: Util/mercator.cpp
...
renamed: Util/MercatorUtil.h -> Util/mercator.hpp
2015-01-13 14:57:23 +01:00
Dennis Luxen
ef9074f8e4
renamed: Util/finger_print.* -> Util/fingerprint.*
...
thx @emiltin
2015-01-13 11:16:13 +01:00
Dennis Luxen
6da33cafe5
rebase branch onto latest develop, report changes. hurt a little
2015-01-06 13:27:50 +01:00
Dennis Luxen
06f82d5e8a
install variant by default
2015-01-06 13:22:12 +01:00
Dennis Luxen
89dd0c4a40
install headers with .hpp suffix
2015-01-06 13:22:12 +01:00
Dennis Luxen
a21e4c5a0b
link library against exception lib
2015-01-06 11:00:44 +01:00
Dennis Luxen
25326b571b
renamed: Util/OSRMException.h -> Util/osrm_exception.hpp
2015-01-05 15:40:05 +01:00
Dennis Luxen
2caeb4008c
renamed: Util/GitDescription.cpp.in -> Util/git_sha.cpp.in
...
renamed: Util/GitDescription.h -> Util/git_sha.h
2015-01-05 14:32:04 +01:00
Patrick Niklaus
d3f5db576a
Enable gcc color output when available
2015-01-04 23:13:15 +01:00
Dennis Luxen
df0c1106ce
compile and link restriction map object to components and routes
2014-12-23 11:46:25 +01:00
Dennis Luxen
47a2271e27
copy edits:
2014-12-23 11:30:45 +01:00
Dennis Luxen
a5c824f694
adapt tiny_components.hpp to have the same interface as bfs_components.hpp
2014-12-22 16:43:57 +01:00
Dennis Luxen
4445f21e8a
renamed: Tools/* -> tools/*
2014-11-28 15:36:40 +01:00
Dennis Luxen
0f7cb12e97
renamed: ThirdParty/* -> third_party/*
2014-11-28 15:22:26 +01:00
Dennis Luxen
ae7300f9b4
renamed: extractor.cpp -> extract.cpp
...
renamed: Extractor/* -> extractor/
2014-11-28 15:00:48 +01:00
Dennis Luxen
1d8c43b445
renamed: Descriptors/* -> descriptors/*
2014-11-28 14:36:38 +01:00
Dennis Luxen
58de37e822
renamed: DataStructures/* -> data_structures/*
2014-11-28 12:15:31 +01:00
Dennis Luxen
7b3a0c5105
renamed: Contractor/* -> contractor/*
2014-11-28 10:30:21 +01:00
Dennis Luxen
592034653c
renamed: Benchmarks/* -> benchmarks/*s
2014-11-28 10:15:27 +01:00
Dennis Luxen
8d9f830c53
change includes to lower case algorithms/
2014-11-28 10:12:08 +01:00
Dennis Luxen
1391420699
renamed: ../Benchmarks/StaticRTreeBench.cpp -> ../Benchmarks/static_rtree.cpp
2014-11-27 19:04:30 +01:00
Dennis Luxen
5e2462e061
renamed: DataStructures/RestrictionMap.cpp -> DataStructures/restriction_map.cpp
...
renamed: DataStructures/RestrictionMap.h -> DataStructures/restriction_map.hpp
2014-11-27 18:38:21 +01:00
Dennis Luxen
acd1919e8d
renamed: Util/Azimuth.h -> Util/bearing.hpp
2014-11-26 16:55:18 +01:00
Dennis Luxen
becb6cf5bf
compile renamed object file
2014-11-17 14:58:36 +01:00
Dennis Luxen
f692103c81
fix build on windows by linking against the right libs
2014-11-17 14:58:35 +01:00
Dennis Luxen
6d9598cd4c
link against expat not libxml2, good riddance
2014-11-17 14:58:33 +01:00
Dennis Luxen
ac9566d3d7
add include dir to libosmium
2014-11-17 14:58:31 +01:00
alex85k
c75ce210ea
support building tools on Windows
2014-11-16 21:33:41 +05:00
Patrick Niklaus
520f7fa2de
Add UnitTest for DP
...
Conflicts:
CMakeLists.txt
2014-10-29 00:40:34 +01:00
Dennis Luxen
efc938d870
fix building of tests/benchmark
2014-10-28 09:11:14 -04:00
Dennis Luxen
369f669227
break out PhantomNode.h into a header/impl combo, rename to new naming scheme.
2014-10-27 17:56:06 -04:00
Dennis Luxen
c1136099a9
fix link order to make symbol available in libosrm
2014-10-20 13:26:51 +02:00
Dennis Luxen
06f8a975c0
prevent double compile of dependent compile units
2014-10-20 13:04:44 +02:00
alex85k
c3aec4f627
do not use gcc-ar for MinGW 4.9
2014-10-18 19:13:46 +06:00
alex85k
113852eed4
use math defines on Mingw
2014-10-18 18:47:17 +06:00
Dennis Luxen
edd8caa2bf
compile Fingerprint only once
2014-10-17 12:30:11 +02:00
Dennis Luxen
4fbefaef9a
catch an uncaught exception and give git revision in springclean tool
2014-10-13 09:42:47 +02:00
Dennis Luxen
274140d309
refactor SimpleLogger into simple_logger compile unit
2014-10-10 19:32:49 +02:00
Dennis Luxen
ed960ccc8d
refactor angle computation into class/compile unit
2014-10-10 18:47:28 +02:00
Dennis Luxen
52ed8a7ed0
move springclean functionality in its own tools, remove from datastore
2014-10-10 16:55:24 +02:00
Dennis Luxen
9449c99e25
enable partitioning on LTO, good riddance GCC 4.7
2014-10-10 10:46:43 +02:00
Dennis Luxen
9c3a572646
link unlocking tool against Threads
2014-09-29 16:59:09 +02:00
Dennis Luxen
abc6b4180c
better checking for luabind compilation, fixes some OSX woes
2014-09-19 16:33:24 +02:00
alex85k
f14c6e6845
Auto-detect Lua compatible with installed Luabind
2014-09-18 23:34:51 +06:00
Dennis Luxen
02428f1e06
add object library to benchmarks
2014-09-15 12:21:13 +02:00
Dennis Luxen
b8b08cb114
use object libraries in cmake, bump cmake to 2.8.8+
2014-09-15 11:34:55 +02:00
Dennis Luxen
ebbbf1059d
Revert "disable LUA 5.2", cf. #1179
...
This reverts commit 994bd0a910
.
2014-09-15 10:24:44 +02:00
Dennis Luxen
994bd0a910
disable LUA 5.2
2014-08-22 10:31:47 +02:00
Dennis Luxen
2e20fdb462
allow building of packages
2014-08-11 16:16:56 +02:00
Dennis Luxen
4990e544cf
add a distinct tool to check if hsgr file is valid, closes #1081
2014-07-28 14:51:33 +02:00
Patrick Niklaus
4d0571fd73
Fix win32 linking and run test automatically in AppVayor
2014-07-22 18:23:43 +02:00
Patrick Niklaus
d754e4eeca
Add benchmark for StaticRTree
...
Build with 'make benchmarks'
2014-07-22 17:17:56 +02:00
Patrick Niklaus
8108ecc4d3
Add test for StaticRTree
2014-07-22 17:17:56 +02:00
Patrick Niklaus
e776a51c73
Added test for StaticGraph
2014-07-22 17:17:56 +02:00
Patrick Niklaus
8d46ee85f1
Add test for BinaryHeap
2014-07-22 17:17:56 +02:00
Dennis Luxen
fc90162f69
fix typo, thx @joto, see #1126
2014-07-21 10:55:13 +02:00
Dennis Luxen
3de98f7a9d
prevent in-source builds
2014-07-14 16:21:16 +02:00
Dennis Luxen
98dfc218d9
install tools if activated
2014-07-11 15:25:26 +02:00
Dennis Luxen
ce684cf9d4
fixes #1110 , linker issues on CentOS
2014-07-02 14:38:02 +02:00
Dennis Luxen
a09f97c9d5
remove OpenMP library linking
2014-07-02 14:34:44 +02:00
Dennis Luxen
70f257b62f
add BUILD_TOOLS flag, retire WITH_TOOLS soon
2014-07-01 15:16:41 +02:00
Dennis Luxen
31fbf99109
fail hard when building tools and not all prequisites are met
2014-06-25 10:53:51 +02:00
Dennis Luxen
3b2893944c
remove non-existing dependency
2014-06-24 12:45:16 +02:00
Dane Springmeyer
2064934939
link -lrt to osrm-prepare
2014-06-23 16:02:58 -07:00
alex85k
1148652101
Add Mingw support (tune libraries and disable cpuid with #ifdef)
2014-06-11 20:58:53 +06:00
Dennis Luxen
096f187d6f
remove empty line
2014-06-11 15:19:11 +02:00
Alexei Kasatkin
0209272831
fix includes and definitions (avoid unistd.h, isatty, fix min,max, round and M_PI)
2014-06-11 18:15:15 +06:00
Alexei Kasatkin
0e16c4ed97
Add more Boost libraries on Windows, fix TBB debug linking, stop building
...
on old Microsoft compilers
2014-06-11 18:15:14 +06:00
Patrick Niklaus
c43b67ea2e
Fixes build using gcc 4.9 with LTO.
...
Otherwise sem_close is not found.
2014-06-05 17:26:19 +02:00
alex85k
7335e0809a
Globally rename UUID to FingerPrint
2014-06-05 10:31:19 +02:00
alex85k
baf4ea2e8c
add a cmake option WITH_TOOLS
2014-06-03 18:38:33 +06:00
Dennis Luxen
3625308585
moved ImportNode/Edge into compile units
2014-05-29 18:31:02 +02:00
Dennis Luxen
cc864191b8
remove some unneeded flags when compiling with clang
2014-05-28 18:18:57 +02:00
Dennis Luxen
547455245e
link against UUID (needed in node-OSRM)
2014-05-28 16:09:51 +02:00
Dennis Luxen
6ad6c94355
further CMakeLists.txt lint removal
2014-05-26 18:42:29 +02:00
Dennis Luxen
4573ae21e6
unlinting CMakeLists.txt
2014-05-26 18:36:11 +02:00
Dennis Luxen
3fd8ab8d3a
use parallel sorting when loading OSRM data files
2014-05-23 14:49:50 +02:00
Dennis Luxen
d240ae3b03
sort edges in StaticGraph in parallel
2014-05-23 14:32:40 +02:00
Dennis Luxen
20cbfd95d6
remove OpenMP references from CMakeLists.txt
2014-05-22 18:39:11 +02:00
Patrick Niklaus
f487845e9d
Port Contractor to TBB
2014-05-21 21:49:22 +02:00
Patrick Niklaus
da1fd96d4e
Port extractor to TBB
2014-05-21 21:49:22 +02:00
Dennis Luxen
3968349480
deactivate LTO on debug build
2014-05-16 15:00:31 +02:00
Patrick Niklaus
d05c4fa9ed
Fix lto option in gcc 4.9 by using gcc-ar / gcc-ranlib
2014-05-11 21:56:09 +02:00
Patrick Niklaus
2c0fa2a9f6
Split RestrictionMap and NodeBasedGraph from EdgeBasedGraphFactory
...
First step in an effort to simplify EdgeBasedGraphFactory.
2014-05-09 00:05:27 +02:00
Dennis Luxen
fdd0c8470f
refactor Tools dir for C++11
2014-05-08 18:34:58 +02:00
Dennis Luxen
acef734643
break out RouteParameters into compile unit
2014-05-07 15:33:24 +02:00
Dennis Luxen
d3a4857826
bump min boost version to 1.49, install from ppa
2014-05-07 10:38:29 +02:00
Dennis Luxen
297128c19c
activate C+11 flags by default
2014-05-07 10:38:29 +02:00
Dennis Luxen
25a385c940
activate C+11 flags by default
2014-05-07 10:38:29 +02:00
Dennis Luxen
b0b67a0cdc
fix typo setting potentially wrong flags in debug build
2014-04-24 18:14:35 +02:00
Dennis Luxen
b679a94930
first segment needs to be properly cut
2014-04-24 12:15:04 +02:00
Dennis Luxen
165c252fc8
disable lto partitioning when possible (fixes GCC < 4.8 issues, e.g. Debian stock compiler)
2014-04-02 10:49:32 +02:00
Dennis Luxen
d21f63d327
activate LTO on platforms that support it, ie. most recent compilers
2014-04-01 18:11:45 +02:00
Clint Harris
1823a4da36
Added missing Boost date_time component. Resolves issue #925 .
2014-03-22 12:30:24 -04:00
Clint Harris
d60caf7095
CMake now adds RPATH info to executables. Resolves issue #960 .
2014-03-22 11:44:51 -04:00
Dennis Luxen
720abbc81e
minor tweak to disable C++11 flag on demand
2014-03-13 22:08:03 +01:00
Dennis Luxen
e3183cfd16
set stdlib explicitly, fix indentations
2014-03-13 13:28:58 +01:00
Dennis Luxen
d8d6b91257
std lib adjustable on all versions of OS X
2014-03-06 14:48:20 +01:00
Dennis Luxen
117ebe1c32
add switch to override stdlib implementation on OS X < 10.9
2014-02-27 11:07:53 +01:00
Dane Springmeyer
c3e0b68399
fix pkg-config --static when pthread is reported
2013-12-21 13:14:48 -05:00
Dane Springmeyer
f0dd1fdfc7
pkg-config fixes
2013-12-20 14:00:30 -05:00
DennisOSRM
5fd8c0938a
include and typo fixes
2013-12-20 18:14:09 +01:00
DennisOSRM
ac07c78664
build libOSRM static library implicitly. Overridable by -DBUILD_SHARED_LIBS:BOOL=OFF
2013-12-20 13:24:25 +01:00
DennisOSRM
4a3db7e2c3
Merging PR #847 manually
2013-12-20 13:15:57 +01:00
DennisOSRM
838322299a
generate pkgconfig file
2013-12-20 13:13:35 +01:00
Dane Springmeyer
5e4121ac58
libosrm as static lib
2013-12-18 18:08:25 -05:00
Dennis Luxen
81d8c8f9bf
don't inline code in debug build
2013-12-18 18:33:24 +01:00
Dennis Luxen
0d246a4422
enable profiling information in debug build
2013-12-18 13:16:32 +01:00
Dennis Luxen
21ff3fbccd
un-lint'ing CMakeLists.txt
2013-12-17 21:42:00 +01:00
Dennis Luxen
90efbefbec
install includes to include/osrm
2013-12-17 20:26:15 +01:00
Dennis Luxen
fd2f000075
install lib header files with make install target
2013-12-17 17:59:44 +01:00
Dane Springmeyer
bb244646df
bake gitdescription and uuid into OSRM library to avoid failure points of linking them directly
2013-12-16 18:49:35 -05:00
Dane Springmeyer
238dd07cf6
fix linking order to unbreak linux builds against static protobuf and libz
2013-12-16 17:03:17 -05:00
Dennis Luxen
cb6f4ad646
(partially) sanitize capitalization
2013-12-16 17:58:57 +01:00
Dennis Luxen
f7b72dd136
minor typo
2013-12-16 17:52:45 +01:00
Dennis Luxen
b1c83e6588
link against right pthreads library
2013-12-16 17:25:17 +01:00
Dennis Luxen
c55bd11377
Merge PR 838
...
Conflicts:
CMakeLists.txt
2013-12-16 12:52:41 +01:00
Dennis Luxen
885a9df356
remove duplicate symbol
2013-12-16 11:39:38 +01:00
Dennis Luxen
0a373018c6
properly link osrm-prepare
2013-12-16 11:36:59 +01:00
Dennis Luxen
3c2bf76103
implements #839 , check for 32 bits properly, bump required boost version to 1.46
2013-12-16 11:21:30 +01:00
Dane Springmeyer
13bc41fc36
CMake: Respect CXXFLAGS set in environment
...
Without this change the `CXXFLAGS` environment setting is not respected (tested on OS X 10.8/clang++)
2013-12-15 15:32:15 -05:00
Dennis Luxen
b030fe7db2
break out Coordinate in compile unit
2013-12-13 17:26:57 -05:00
Dennis Luxen
c3396fa6fd
add compile targets for the main binaries (not the aux utils)
2013-12-13 10:55:57 -05:00
Dennis Luxen
5ef7ea794a
move Hilbert curve computation in compile unit
2013-12-08 15:52:20 +01:00
DennisOSRM
7de27df309
fix linking on Ubuntu 13.10
2013-11-20 16:22:39 +01:00
DennisOSRM
b06db1ba39
Merge branch 'dep-liblua' of https://github.com/NochEinDirk/Project-OSRM-contribute into NochEinDirk-dep-liblua
2013-11-20 10:56:47 +01:00
Dennis Luxen
cabaad4b17
replaced contigouos output data with collection of small'ish sub blocks. saves (re-)allocations. also removed a remaining stringstream
2013-11-14 17:16:26 -05:00
Dennis Luxen
dc4a3e9b89
untangle server and http components
2013-11-14 12:29:56 -05:00
Dennis Luxen
a9f54c44e9
move Reply into compile unit
2013-11-13 18:42:42 -05:00
Dennis Luxen
1863e85bf5
move polyline compressor into compile unit
2013-11-13 17:32:44 -05:00
Dennis Luxen
abb7509f03
link against libc++ on OS X Mavericks by default
2013-11-13 11:08:27 -05:00
Dirk L
8f5d9c4816
Merge branch 'develop' into dep-liblua
2013-11-08 15:20:56 +01:00
Dirk L
7102c77e0b
Merge branch 'master' into dep-liblua
2013-11-08 15:10:53 +01:00
Dennis Luxen
8d3fdf45b9
implements #781
2013-11-06 17:13:09 -05:00
Dane Springmeyer
ba12e31280
osx build: only set -std=c++11 flag for >= 10.9
2013-11-04 14:37:25 -08:00
Dennis Luxen
a33542c9b5
link libosrm against librt on linux/gcc
2013-10-30 16:35:23 +01:00
Dennis Luxen
3a1d98648f
link tool against librt on linux/gcc
2013-10-30 16:33:16 +01:00
Dennis Luxen
419f708d87
build unlock tool and link against git descriptor
2013-10-30 13:01:49 +01:00
Dennis Luxen
9bf6bf2c78
link against on linux/gcc
2013-10-28 14:51:20 +01:00
Dennis Luxen
32c1fd082d
fix build for tools
2013-10-21 12:01:19 +02:00
Dennis Luxen
175112d97d
fix status messages during configure
2013-10-16 11:58:29 +02:00
Dennis Luxen
ffc361406e
move git descriptor into a static library that is linked against all tools
2013-10-15 18:28:14 +02:00
Dennis Luxen
eaaf54d886
make C++11 default on OS X
2013-10-15 14:35:35 +02:00
Dennis Luxen
4b3d634fe9
always compile with C++11 on OS X (Linux to follow)
2013-10-15 14:35:35 +02:00
Dennis Luxen
204dcecb28
fixing typo in build configuration
2013-10-15 14:32:44 +02:00
Dennis Luxen
e05193f46d
osrm-datastore handles manangement of shared memory
2013-10-15 14:32:42 +02:00
Dennis Luxen
2c23a3c0b3
link against proper objects
2013-10-15 14:31:31 +02:00
Dennis Luxen
427db3f29a
Don't build deleted classes
2013-10-15 14:14:54 +02:00
Dennis Luxen
d42920674a
compile with -std=c++11 on os x 10.9
2013-10-14 17:21:40 +02:00
Dennis Luxen
c66fced161
rename createhierarchy.cpp to more canonical name
2013-10-14 17:03:46 +02:00
DennisOSRM
f73723f9af
link simple client against git descriptor
2013-10-12 15:20:32 +02:00
Emil Tin
613e38d7f8
use boost program_options in osrm-prepare/routed
2013-10-12 09:59:42 +02:00
Dirk L
91a2e56215
Merge branch 'dep-liblua' into develop-lua
2013-09-11 18:27:51 +02:00
Dirk L
e6681af9d0
CMakeLists.txt: Lua5.2 support.
...
Because the current Debian unstable is using
* Luabind which is depending on Lua5.2
* LuaJIT which has a Lua5.1 API
the code were using the Lua5.1 header files but were linked against
Lua5.2 library.
Now both are using Lua5.2 (libluajit-5.1-dev must not be installed
during CMAKE !), which seems to work for the OSRM-Extractor.
2013-09-11 17:25:33 +02:00
Dennis Luxen
250eb20851
removing boost::chrono timers
2013-09-05 21:33:10 +02:00
Dennis Luxen
71ae5764cc
add boost timer library
2013-09-05 12:18:37 +02:00
Dennis Luxen
8a008d1808
new hard disk benchmark tool
2013-09-04 12:30:16 +02:00
Dennis Luxen
d0db09cb92
Adds Vlad's patch from issue #709
2013-08-20 13:17:19 +02:00
Dennis Luxen
9d23dee3fc
Merge branch 'develop' into experimental/program_options
2013-08-19 17:03:47 +02:00
Dennis Luxen
70b8cef318
Fixes #709 , out-of-source builds from arbitrary directories
2013-08-19 16:55:56 +02:00
Emil Tin
e42b8fc37d
use boost program_options in extractor
2013-08-14 15:15:35 +02:00
Dennis Luxen
3167d3f451
Export compile commands
2013-08-14 11:57:33 +02:00
Dennis Luxen
3151197471
boost timer library not needed
2013-08-06 16:50:20 +02:00
Dennis Luxen
e5f0ad4f0b
Use boost timer to provide platform independent timing
2013-08-06 14:27:36 +02:00
Dennis Luxen
bf0b43aa24
Platform specific linker flags
2013-07-23 11:49:23 +02:00
Dennis Luxen
811d6deb41
Don't link against LuaJIT on OS X
2013-07-23 11:38:15 +02:00
Dennis Luxen
bcdd9374c7
Compile fixes on OS X
2013-07-23 10:18:42 +02:00
DennisOSRM
f70174d1d1
Link internal tools against UUID
2013-07-22 17:54:04 +02:00