Note about install commands:
- for Windows, we use choco.
- for MacOS, we use brew.
- In case of an error in cmake, make sure that the dependencies are on the PATH.
This is a really long list of dependencies, and it's easy to mess up. That's why:
We have a Docker image that's already set up for you. See the Docker instructions.
We have setup-cpp that is a cross-platform tool to install all the compilers and dependencies on the system.
Please check the setup-cpp documentation for more information.
For example, on Windows, you can run the following to install llvm, cmake, ninja, ccache, and cppcheck.
# windows example (open shell as admin)
curl -LJO "https://github.com/aminya/setup-cpp/releases/download/v0.5.7/setup_cpp_windows.exe"
./setup_cpp_windows --compiler llvm --cmake true --ninja true --ccache true --cppcheck true
RefreshEnv.cmd # reload the environment
- A C++ compiler that supports C++17. See cppreference.com to see which features are supported by each compiler. The following compilers should work:
-
Install command
-
Debian/Ubuntu:
sudo apt install build-essential
-
Windows:
choco install mingw -y
-
MacOS:
brew install gcc
-
-
Install command
-
Debian/Ubuntu:
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
-
Windows:
Visual Studio 2019 ships with LLVM (see the Visual Studio section). However, to install LLVM separately:
choco install llvm -y
llvm-utils for using external LLVM with Visual Studio generator:
git clone https://github.com/zufuliu/llvm-utils.git cd llvm-utils/VS2017 .\install.bat
-
MacOS:
brew install llvm
-
-
Install command + Environment setup
On Windows, you need to install Visual Studio 2019 because of the SDK and libraries that ship with it.
Visual Studio IDE - 2019 Community (installs Clang too):
choco install -y visualstudio2019community --package-parameters "add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --includeOptional --passive --locale en-US"
Put MSVC compiler, Clang compiler, and vcvarsall.bat on the path:
choco install vswhere -y refreshenv # change to x86 for 32bit $clpath = vswhere -products * -latest -prerelease -find **/Hostx64/x64/* $clangpath = vswhere -products * -latest -prerelease -find **/Llvm/bin/* $vcvarsallpath = vswhere -products * -latest -prerelease -find **/Auxiliary/Build/* $path = [System.Environment]::GetEnvironmentVariable("PATH", "User") [Environment]::SetEnvironmentVariable("Path", $path + ";$clpath" + ";$clangpath" + ";$vcvarsallpath", "User") refreshenv
-
Install Command
-
Debian/Ubuntu:
sudo apt-get install cmake
-
Windows:
choco install cmake -y
-
MacOS:
brew install cmake
-
-
Install Command
-
Debian/Ubuntu:
sudo apt-get install doxygen sudo apt-get install graphviz
-
Windows:
choco install doxygen.install -y choco install graphviz -y
-
MacOS:
brew install doxygen brew install graphviz
-
-
Install Command
-
Debian/Ubuntu:
sudo apt-get install ccache
-
Windows:
choco install ccache -y
-
MacOS:
brew install ccache
-
-
Install Command
-
Debian/Ubuntu:
sudo apt-get install cppcheck
-
Windows:
choco install cppcheck -y
-
MacOS:
brew install cppcheck
-
-
Install Command
Follow instructions here: https://github.com/include-what-you-use/include-what-you-use#how-to-install
Primarily, the library dependencies for this project are handled by CPM.cmake. Nonetheless, there are a few dependencies that require manual installation. Below, you will find the instructions for manually installing these dependencies specifically for Ubuntu systems.
build_and_install() {
repo=$1
git clone "https://github.com/ros/${repo}" && \
cd "${repo}" && \
mkdir build && \
cd build && \
cmake .. && \
make && \
make install
cd ../..
}
build_and_install console_bridge
build_and_install urdfdom_headers
apt-get update && apt-get install -y --no-install-recommends libtinyxml2-dev
build_and_install urdfdom
brew install urdfdom
brew install tinyxml2
Currently, installation instructions for Windows are not available. We recommend using the Docker image provided. Alternatively, you could attempt to install the application using the respective package managers for the platform, or choose to build directly from the source.