Files
ortools-clone/makefiles
2023-06-15 19:32:29 +02:00
..
2022-10-05 15:56:33 +02:00
2022-06-23 18:01:12 +02:00
2022-06-21 11:25:29 +02:00
2023-06-15 19:32:29 +02:00
2022-09-15 10:49:05 +02:00
2023-02-07 19:44:39 +01:00
2023-05-17 13:39:25 +02:00

OR-Tools Makefile Build Instructions

OS C++ Python Java .NET
Linux Status Status Status Status
MacOS Status Status Status Status
Windows Status Status Status Status

Dockers [Alpine, Archlinux, Centos, Debian, Fedora, OpenSuse, Ubuntu]x[C++, Python, Java, .Net]: Status

Introduction

| Requirement | Dependencies | CI |

OR-Tools comes with a GNU Make based build (Makefile) that can be used on a wide range of platforms.

Requirement

You'll need:

  • GNU Make >= 4.3.
  • A C++20 compiler (gcc 10 or above)

Dependencies

OR-Tools depends on several mandatory libraries, either as infrastructure or as optimization solvers. You can either compile all of these dependencies using the target third_party or compile some of them on your own and give their installation directories to the others using the Make variables below.

  • zlib (UNIX_ZLIB_DIR or WINDOWS_ZLIB_DIR),
  • Google Abseil-cpp (UNIX_ABSL_DIR or WINDOWS_ABSL_DIR),
  • Google Protobuf (UNIX_PROTOBUF_DIR or WINDOWS_PROTOBUF_DIR),
  • SCIP (UNIX_SCIP_DIR or WINDOWS_SCIP_DIR),
  • COIN-OR solvers:
    • COIN-OR CoinUtils (UNIX_COINUTILS_DIR or WINDOWS_COINUTILS_DIR),
    • COIN-OR Osi (UNIX_OSI_DIR or WINDOWS_OSI_DIR),
    • COIN-OR Clp (UNIX_CLP_DIR or WINDOWS_CLP_DIR),
    • COIN-OR Cgl (UNIX_CGL_DIR or WINDOWS_CGL_DIR),
    • COIN-OR Cbc (UNIX_CBC_DIR or WINDOWS_CBC_DIR),

OR-Tools can also optionally (disabled by default) be compiled with support for the following third-party solvers:

  • CPLEX (UNIX_CPLEX_DIR or WINDOWS_CPLEX_DIR),
  • GLPK (UNIX_GLPK_DIR or WINDOWS_GLPK_DIR),
  • GUROBI (UNIX_GUROBI_DIR or WINDOWS_GUROBI_DIR),
  • XPRESS (UNIX_XPRESS_DIR or WINDOWS_XPRESS_DIR)

warning: Since these solvers are either proprietary (and require a specific license) or available under the GPL, we can't test them on public CI and their support may be broken.