Route Planning project for Udacity C++ Nanodegree.
When cloning this project, be sure to use the --recurse-submodules
flag. Using HTTPS:
git clone https://github.com/patrickjmcgoldrick/CppND-Route-Planning-Project.git --recurse-submodules
or with SSH:
git clone [email protected]:patrickjmcgoldrick/CppND-Route-Planning-Project.git --recurse-submodules
To compile the project, first, create a build
directory and change to that directory:
mkdir build && cd build
From within the build
directory, then run cmake
and make
as follows:
cmake ..
make
The executables will be placed in the bin
directory. From within build
, you can run the project as follows:
../bin/<name-of-parent-directory> -f ../map.osm
For exercises that have unit tests, the project must be built with the approprate test cpp file. This can be done by passing a string with the -DTESTING
flag in cmake
. For example, from the build directory:
cmake -DTESTING="RouteModel" ..
make
Those commands will build the code with the tests for the "Fill Out Route Model" exercise. The tests can then be run from the build
directory as follows:
../bin/test
Exercises with tests will specify which string to pass with -DTESTING
, but a table is given below with the complete list for reference:
Exercise Name | -DTESTING String Value |
---|---|
Fill Out Route Model | "RouteModel" |
Fill Out Node Class | "RMNodeClass" |
Create RouteModel Nodes | "RMSNodes" |
Write the Distance Function | "NodeDist" |
Create Road to Node Hashmap | "NodeToRoad" |
Write FindNeighbors | "FindNeighbors" |
Find the Closest Node | "FindClosest" |
Write the A* Search Stub | "AStarStub" |
Finish A* Search | "AStarSearch" |