AI-generated Key Takeaways
-
This guide provides instructions for building OR-Tools from source with Java support on Windows using Visual Studio 2022 and requires prerequisites like Git, CMake, Java JDK 8+, and Maven.
-
You can choose to build from either the
stable
branch for thoroughly tested code or themain
branch for the latest updates. -
The build process involves configuring CMake, building the source code using specific commands in a terminal, and optionally running tests to verify successful installation.
-
OR-Tools integrates SCIP and Gurobi solvers by default, and supports optional third-party solvers like CPLEX, GLPK, and XPRESS with configuration.
-
After building, OR-Tools can be installed on your operating system using the provided command, allowing you to get started with using it for optimization tasks.
Introduction
This guide explains how to build from source OR-Tools, with support for Java, on Windows.
Unless you plan to modify the source code or use a third-party solver with OR-Tools, we recommend the package installation.
Although these instructions might also work on other Windows variants, we have only tested them on machines meeting the following requirements:
Windows 10 64-bit (x86_64) with:
- Microsoft Visual Studio Enterprise 2022
- Microsoft Visual Studio Community 2022 Preview 2 or above
Prerequisites
The following sections describe the prerequisites for installing OR-Tools.
Visual Studio
To build and run OR-Tools on Windows, you must have Visual Studio 2022 or later installed on your computer with the C++ toolset for Visual Studio.
You can find more details here.
To build OR-Tools programs from the command line you must use a x64 Native Tools Command Prompt (not the Developer Command Prompt).
You can find more details here.
Git
Git, which can be downloaded from https://git-scm.com/.
CMake
CMake (>= 3.18), which can be downloaded from https://www.cmake.org/download. When installing CMake, select the option for a command-line accessible cmake.
Java JDK
You must also have a Java JDK 64 bit, version 8.0 or later installed.
You can find more details here.
Maven
You must also have a Maven 64 bit installed.
You can find more details here.
Download the source code
There are two distinct branches of the OR-Tools source code on
GitHub: stable
and main
.
The stable
branch has been thoroughly tested and should work flawlessly on all
supported platforms.
The main
branch is where the latest updates and
improvements have been applied; it's more current, but less stable.
Download the stable source code
You can get the stable source code for OR-Tools in either of the following ways:
Clone the
stable
branch by entering:git clone https://github.com/google/or-tools
Download the latest release in a compressed file, by clicking the
Clone or download
button in GitHub.
Download the main source code
To retrieve the source code from the main
branch, enter:
git clone -b main https://github.com/google/or-tools
Download previous releases
You can get the source code for previous releases in either of the following ways:
- Download a previous release from the GitHub release page.
Assuming you have already created a local repository (by
git clone
), you can check out a specific release using a Git tag. For example, to work with the v9.12 release instead of themain
branch, enter the following commands in your local repo:git fetch --all --tags --prune
git checkout tags/v9.12 -b v9.12
Configure the build
Before building OR-Tools, you'll need to configure the CMake build system generator.
Open a terminal and navigate to the directory where you extracted the files. Then enter:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON
Checkout the CMake documentation for details.
Using SCIP
Since v7.8, SCIP is now integrated so you won't have to install it manually.
Using Gurobi
Gurobi is now pre-integrated. When needed, at runtime, OR-Tools will search for
the Gurobi shared library in the default install path of the Gurobi installers
on MAC OS X and Windows, or by using the GUROBI_HOME
environment variable.
Using an optional third-party MIP solver
You can also use OR-Tools with any of the following optional third-party MIP solvers whose support is disabled by default:
- CPLEX
- GLPK (Linux and MacOS only)
- XPRESS Solver
Please take a look at this documentation for details.
Build the source code
To build the source code, open a terminal and navigate to the directory where you extracted the files. Then enter the following command to compile OR-Tools:
cmake --build build --config Release --target ALL_BUILD -j -v
Checkout the CMake documentation for details.
Test the source code
You can check that everything is running correctly by entering:
cmake --build build --config Release --target RUN_TESTS -v
This runs examples for OR-Tools. If all the examples run successfully, you are ready to get started with OR-Tools.
Cleaning the build files
If you need to re-install OR-Tools, the command:
rm -r build
will remove all compiled dependencies. This can be useful for resetting to a clean state.
Then re-enter the commands:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON
cmake --build build --config Release --target ALL_BUILD -j -v
Installing OR-Tools on your operating system
You can install OR-Tools for Java on your operating system by entering:
cmake --build build --config Release --target INSTALL -v