Files
ortools-clone/bazel
Guillaume Chatelet 551ad10d94 Update Python dependencies and remove black. (#4979)
- Updated jupyter-server to 2.17.0 in notebook_requirements.in.
- Updated virtualenv to 20.35.4 in ortools_requirements.in.
- Removed black from both ortools_requirements.in and notebook_requirements.in.
- Updated filelock>=3.20.1 to mitigate CVE-2025-68146.
- Regenerated notebook_requirements.txt and ortools_requirements.txt with updated hashes and versions for various packages including debugpy, jupyter-client, platformdirs, tzdata, and urllib3.
- Added comments in bazel/BUILD regarding the compile_pip_requirements rules and instructions for updating the requirements files.
2026-01-09 13:10:50 +01:00
..
2025-01-10 11:35:44 +01:00
2025-01-10 11:35:44 +01:00
2025-01-10 11:35:44 +01:00
2024-09-18 11:56:41 +02:00
2025-09-16 16:25:04 +02:00

OR-Tools Bazel Build Instructions

OS C++
amd64 Linux Status
arm64 MacOS Status
amd64 MacOS Status
amd64 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 -c opt --cxxopt=-std=c++17 ...
    
  • on Windows when using MSVC:

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

Testing

You may run tests using:

  • on UNIX:

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

    bazel test -c opt --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.