microsoft / microsoft/onnxruntime

[Build] add presets for CMake configuration.

Open
#22,628 3 comments 1 reaction 0 assignees View on GitHub
build ep:DML feature request
Dominant language
C++
Stars
21.9k
Forks
4.2k
Avg merge
4d 11h
Merged PRs (30d)
184

Description

### Describe the issue

### Observation
A lot of CMake configuration given back to `build.py` file.
https://github.com/microsoft/onnxruntime/blob/main/tools/ci_build/build.py#L1000-L1099

Final assets introduced on release page represent the following list:
* [Microsoft.AI.MachineLearning.1.19.2.nupkg](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/Microsoft.AI.MachineLearning.1.19.2.nupkg)
* [Microsoft.AI.MachineLearning.1.19.2.snupkg](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/Microsoft.AI.MachineLearning.1.19.2.snupkg)
* [Microsoft.ML.OnnxRuntime.DirectML.1.19.2.nupkg](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/Microsoft.ML.OnnxRuntime.DirectML.1.19.2.nupkg)
* [Microsoft.ML.OnnxRuntime.Managed.1.19.2.nupkg](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/Microsoft.ML.OnnxRuntime.Managed.1.19.2.nupkg)
* [onnxruntime-linux-aarch64-1.19.2.tgz](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-linux-aarch64-1.19.2.tgz)

* [onnxruntime-linux-x64-1.19.2.tgz](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-linux-x64-1.19.2.tgz)
* [onnxruntime-linux-x64-gpu-1.19.2.tgz](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-linux-x64-gpu-1.19.2.tgz)
* [onnxruntime-osx-arm64-1.19.2.tgz](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-osx-arm64-1.19.2.tgz)
* [onnxruntime-osx-universal2-1.19.2.tgz](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-osx-universal2-1.19.2.tgz)
* [onnxruntime-osx-x86_64-1.19.2.tgz](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-osx-x86_64-1.19.2.tgz)
* [onnxruntime-training-linux-aarch64-1.19.2.tgz](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-training-linux-aarch64-1.19.2.tgz)
* [onnxruntime-training-linux-x64-1.19.2.tgz](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-training-linux-x64-1.19.2.tgz)
* [onnxruntime-training-win-arm64-1.19.2.zip](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-training-win-arm64-1.19.2.zip)
* [onnxruntime-training-win-x64-1.19.2.zip](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-training-win-x64-1.19.2.zip)
* [onnxruntime-training-win-x86-1.19.2.zip](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-training-win-x86-1.19.2.zip)
* [onnxruntime-win-arm64-1.19.2.zip](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-win-arm64-1.19.2.zip)
* [onnxruntime-win-x64-1.19.2.zip](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-win-x64-1.19.2.zip)
* [onnxruntime-win-x64-gpu-1.19.2.zip](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-win-x64-gpu-1.19.2.zip)
* [onnxruntime-win-x86-1.19.2.zip](https://github.com/microsoft/onnxruntime/releases/download/v1.19.2/onnxruntime-win-x86-1.19.2.zip)

### Ask
Is it possible to introduce presets for CMake configuration which can explain each of the built assets ?
Those presets can be used to integrate onnxruntime build as CMake into other projects.

### To reproduce

N/A

### Urgency

Not urgent.

### Platform

Other / Unknown

### OS Version

ANY

### ONNX Runtime Installation

Built from Source

### ONNX Runtime Version or Commit ID

1.20 >

### ONNX Runtime API

Python

### Architecture

Other / Unknown

### Execution Provider

Other / Unknown

### Execution Provider Library Version

ALL

Contributor guide

Open the contributing guide

Research direction

Start with tools/ci_build/build.py lines 1000-1099 and compare its CMake configuration with the listed release assets. Determine how CMake presets could represent those builds and be consumed by other projects; done means the relevant assets have documented, usable presets, with validation covering the configurations involved.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, python
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.