Prerequisites

Download the project:

git clone https://gitlab.eclipse.org/eclipse/scm/scm.git

Most needed dependencies are handled with Conan. To install Conan, follow the official guide https://docs.conan.io/2/installation.html.

cd scm git checkout main

Installing the Build Environment

  1. MSYS2

    On Windows, the build environment of choice are MSYS2 programming tools. MSYS2 is used to install some third-party software on which openPASS depends. Also, the unix-like shell simplifies c++ compilation on Windows. For details, see MSYS2 website.

  1. Download MSYS2

    The latest 64-bit package is located in the Installation section of MSYS2 website.

  2. Install MSYS2

    Run the downloaded executable and adjust suggested settings to your needs (defaults are fine). In the following, it is assumed that MSYS2 is installed under C:\msys64.

Installing the Binary Packages

The first set of dependencies we need to install in order to successfully compile SCM are the binary packages. These can be installed via appropiate package manager. Additionally, download boost and all packages needed for your operating system to build C++ programs.

  1. Open MSYS2 MinGW 64-bit and execute the following package manager pacman commands to update the package repository and upgrade system packages:

    pacman -Syuu
    

    If the upgrade requires a restart of MSYS2, resume the upgrade by re-opening the shell and call:

    pacman -Suu
    
  2. Required packages:

pacman -S mingw-w64-x86_64-boost
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-toolchain
pacman -S base-devel
pacman -S mingw-w64-x86_64-ccache
pacman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-doxygen
pacman -S mingw-w64-x86_64-gdb
pacman -S mingw-w64-x86_64-graphviz
pacman -S mingw-w64-x86_64-gtest
pacman -S mingw-w64-x86_64-make

Installing the Dependencies

If you don’t already have a conan profile, you can let Conan detect and create a suitable default profile for your current environment with:

conan profile detect

or use one of the provided profiles in utils/conan.

The easiest way to get started is to call a script:

cd utils/ci/scripts && ./15_prepare-thirdParty.sh

This script checks out needed third party dependencies and if they’re not already present in local cache or available in the conancenter it builds them one after the other.

  1. To build and install the dependencies, run the script 15_prepare_thirdParty.sh located in utils/ci/scripts.

    1. The script 15_prepare_thirdParty.sh also requires the variable PYTHON_WINDOWS_EXE set. This variable refers to the path of the python installation (For ex: It could be either on native Windows or on MSYS). If the python is installed on MSYS then set the variable with the following command.

      export PYTHON_WINDOWS_EXE=python3
      
    2. Execute the script 15_prepare_thirdParty.sh on MSYS

      cd utils/ci/scripts
      ./15_prepare_thirdParty.sh
      
  2. Upon successful execution of the script, the dependencies will be installed under C:\deps on Windows and ~/deps on Linux.