Skip to content

Files

Latest commit

16f589c · Nov 16, 2023

History

History
This branch is 2908 commits behind google/or-tools:stable.

bazel

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Oct 30, 2023
Jun 21, 2022
Aug 18, 2023
Jul 13, 2023
Jul 6, 2023
Jun 21, 2022
Jul 3, 2020
Jul 3, 2020
Mar 9, 2022
Nov 10, 2023
Nov 16, 2023
Nov 10, 2023
Nov 10, 2023
Dec 31, 2022
Oct 25, 2023
Feb 9, 2022
Jan 5, 2023
Dec 31, 2022
Mar 6, 2023
Feb 22, 2023

README.md

OR-Tools Bazel Build Instructions

OS C++
Linux Status
MacOS Status
Windows Status

Dockers [Alpine, Archlinux, Centos, Debian, Fedora, OpenSuse, Ubuntu]: Status

Introduction

| Requirement | Dependencies | Compilation | Testing | Integration | CI |

OR-Tools comes with a Bazel based build (WORKSPACE) that can be used on a wide range of platforms. If you don't have Bazel installed already, you can download it for free from https://bazel.build/.

warning: Currently OR-Tools Bazel doesn't support Python, Java nor .Net, please use the Makefile or CMake based build instead.

Requirement

You'll need:

  • Bazel >= 5.4.0.
  • A compiler with C++17 support.

Solvers supported

Here the list of supported solvers:

  • CP-SAT
  • GLOP
  • GLPK
  • PDLP
  • SCIP

Dependencies

OR-Tools depends on several mandatory libraries.

  • Eigen
  • Google Abseil-cpp,
  • Google Protobuf,
  • Google Gtest,
  • Bliss,
  • SCIP,
  • GLPK (GNU Linear Programming Kit)

Compilation

You must compile OR-Tools using at least C++17 (C++20 on windows):

  • on UNIX:

    bazel build --cxxopt=-std=c++17 ...
  • on Windows when using MSVC:

    bazel build --cxxopt="/std:c++20" ...

Testing

You may run tests using:

  • on UNIX:

    bazel test --cxxopt=-std=c++17 ...
  • on Windows when using MSVC:

    bazel test --cxxopt="/std:c++20" ...

Integration

To integrate OR-Tools in your own Bazel project, you can take a look at the template project: or-tools/bazel_or-tools.