2.2 KiB
Requirements
- C++14 compatible compiler
- CMake
- GMP (GNU multiprecision library)
Platform-Specific Setup
- Linux (Ubuntu)
- Windows (msys2)
- Windows (Visual Studio)
- Windows (WSL)
- macOS (homebrew)
- Linux/macOS/WSL via Nix: Call
nix-shellin the project root. That's it. - There is also an experimental setup based purely on Nix that works fundamentally differently from the make/CMake setup described on this page.
Generic Build Instructions
Setting up a basic release build:
git clone https://github.com/leanprover/lean4
cd lean4
mkdir -p build/release
cd build/release
cmake ../..
make
Note: that if you have a CPU with lots of cores you will get a faster
build if you specify the number of parallel jobs using the -j n
option on make.
For example, on an AMD Ryzen 9 make takes 00:04:55, whereas make -j 10
takes 00:01:38. Your results may vary depending on the speed of your hard
drive.
Setting up a basic debug build:
git clone https://github.com/leanprover/lean4
cd lean4
mkdir -p build/debug
cd build/debug
cmake -D CMAKE_BUILD_TYPE=DEBUG ../..
make
This will compile the Lean library and binary into the stage1 subfolder; see
below for details. Add -jN for an appropriate N to make for a parallel
build.
To install the build see Dev setup using elan.
Useful CMake Configuration Settings
Pass these along with the cmake ../.. command.
-
-D CMAKE_BUILD_TYPE=
Select the build type. Valid values areRELEASE(default),DEBUG,RELWITHDEBINFO, andMINSIZEREL. -
-D CMAKE_C_COMPILER=
-D CMAKE_CXX_COMPILER=
Select the C/C++ compilers to use. Official Lean releases currently use Clang; see also.github/workflows/ci.ymlfor the CI config.
Lean will automatically use CCache if available to avoid redundant builds, especially after stage 0 has been updated.
Troubleshooting
- Call
makewith an additionalVERBOSE=1argument to print executed commands.