..
  *******************************************************************************
  Copyright (c) 2021 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)

  This program and the accompanying materials are made available under the
  terms of the Eclipse Public License 2.0 which is available at
  http://www.eclipse.org/legal/epl-2.0.

  SPDX-License-Identifier: EPL-2.0
  *******************************************************************************

.. _sim_install_guide:

Getting Started
===============

Your first step to get |op| up and running is the installation. You can install the |op| simulator on Windows and Linux.

The installation manual is structured as follows:

**Setting up your system**

- :ref:`Prerequisites` contains instructions for installing the thirdparty software required by |op|

**Installation of the simulator**

- :ref:`Download_and_install_openpass` describes how to compile and run |op| once all prerequisites are installed

**Run a default simulation**

- :ref:`tutorials` shows how to run your first simulations

**Further guidance**

- :ref:`Cmake` holds information about available variables and options for the cross-platform build environment CMake
- :ref:`Qtcreator` describes the basic setup for QtCreator
- :ref:`Vscode` describes the basic setup for Visual Studio Code
- :ref:`Building_protobuf` shows how to compile different versions of Protobuf and hook it into the |op| build
