Files
ortools-clone/makefiles/README.md
Mizux Seiha 1e6c438e7c readme: Update action link
forking the repo on github will make the badge relative to the fork.
2023-07-06 17:36:53 +02:00

4.8 KiB

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.