-
Notifications
You must be signed in to change notification settings - Fork 1
Building Steppable (build.py)
Important
It is reported that CL.EXE cannot build Steppable, as nanobind, one of Steppable's dependencies cannot be built under Visual Studio. There is nothing that we can do, except to wait for a new release of Visual Studio. In the meantime, check out this Discussion post for more information.
Thank you.
On platforms where Python is available, you can use the build.py script to build Steppable. It is a simple script that
can replace the need for CMake, Make, and other build tools.
To get started, you would need:
| Software | Purpose | Alternatives | Required? |
|---|---|---|---|
| LLVM Clang | C++ Compiler | GCC, MSVC... | YES |
| Python | Building | None | YES |
| Git | Downloading | Download as Zip | NO |
First, clone the repository using the command:
$ git clone https://github.com/ZCG-coder/Steppable.git
Cloning into Steppable
...For more information on getting the source code, see Getting the Source Code.
Then, invoke Python to run the build script:
$ python build.py
[1/5|20%] Building add.cpp.o
...The script will generate a new directory called Steppable.build, structured as follows:
Steppable.build
├── bin -- Executables.
│ ├── ...
├── lib -- Library files.
│ ├── libbase.a
│ ├── libcalc.a
│ └── libutil.a
├── obj.temp -- Temporary object files, generated during the compilation.
│ ├── base.build
│ │ ├── ...
│ ├── calc.build
│ │ ├── ...
│ └── ...
├── status.json -- Cache values for the build.
└── status.log -- Build log.
Copyright (C) Andy Zhang, 2023-2025. Licensed under the MIT License.
- Getting the Source - Cloning the repository to your local machine
- Build the Project (CMake) - Compiling the source code of Steppable using CMake
- Build the Project (build.py) - Compiling the source code of Steppable using build.py
- Workflow - How to contribute to this repository
- Coding Style (Python) - Style guidelines for Python code in this project
- Coding Style (C++) - Style guidelines for CPP code in this project
- Directory Structure - The directory structure used by this project.
- Using the API - How to use the Steppable API
- Supported Platforms
- Performance - Some benchmarks of Steppable for reference
- Status - Status of Steppable, at a glance