diff --git a/.github/workflows/test-csharp-macos.yml b/.github/workflows/test-csharp-macos.yml deleted file mode 100644 index 023394fa47..0000000000 --- a/.github/workflows/test-csharp-macos.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: test-csharp-macos - -on: [push, pull_request] - -jobs: - fast_build_release: - runs-on: macos-latest - - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '6.x' - - - name: Create Build Environment - run: cmake -E make_directory ${{runner.workspace}}/build - - - name: Configure CMake - working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCSHARP=ON - - - name: Build - working-directory: ${{runner.workspace}}/build - run: cmake --build . --parallel - - - name: Test - working-directory: ${{runner.workspace}}/build - run: ./bin/csharpexample.exe - - fast_build_debug: - runs-on: macos-latest - - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '6.x' - - - name: Create Build Environment - run: cmake -E make_directory ${{runner.workspace}}/build - - - name: Configure CMake - working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DCMAKE_BUILD_TYPE=Debug - - - name: Build - working-directory: ${{runner.workspace}}/build - run: cmake --build . --parallel - - - name: Test - working-directory: ${{runner.workspace}}/build - run: ./bin/Debug/csharpexample.exe diff --git a/.github/workflows/test-csharp-ubuntu.yml b/.github/workflows/test-csharp-ubuntu.yml deleted file mode 100644 index 8332c259c8..0000000000 --- a/.github/workflows/test-csharp-ubuntu.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: test-csharp-ubuntu - -on: [push, pull_request] - -jobs: - fast_build_release: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '6.x' - - - name: Create Build Environment - run: cmake -E make_directory ${{runner.workspace}}/build - - - name: Configure CMake - working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCSHARP=ON - - - name: Build - working-directory: ${{runner.workspace}}/build - run: cmake --build . --parallel - - - name: Test - working-directory: ${{runner.workspace}}/build - run: ./bin/csharpexample.exe - - fast_build_debug: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '6.x' - - - name: Create Build Environment - run: cmake -E make_directory ${{runner.workspace}}/build - - - name: Configure CMake - working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DCMAKE_BUILD_TYPE=Debug - - - name: Build - working-directory: ${{runner.workspace}}/build - run: cmake --build . --parallel - - - name: Test - shell: bash - working-directory: ${{runner.workspace}}/build - run: | - ls - ./bin/csharpexample.exe diff --git a/.github/workflows/test-nuget-macos.yml b/.github/workflows/test-nuget-macos.yml new file mode 100644 index 0000000000..396a2e9505 --- /dev/null +++ b/.github/workflows/test-nuget-macos.yml @@ -0,0 +1,101 @@ +name: test-nuget-macos + +on: [push, pull_request] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + # macos 12 is Intel + build_macos_12: + runs-on: macos-12 + # strategy: + # matrix: + # python: [3.11] + steps: + - uses: actions/checkout@v4 + - name: Build HiGHS + run: | + cmake -E make_directory ${{runner.workspace}}/build + cmake -E make_directory ${{runner.workspace}}/nugets + cmake -E make_directory ${{runner.workspace}}/test_nuget + + - name: Configure CMake + working-directory: ${{runner.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON + + - name: Build + working-directory: ${{runner.workspace}}/build + run: cmake --build . --config Release --parallel + + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: '6.0.x' + + - name: Dotnet pack + working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native + run: dotnet pack -c Release /p:Version=1.7.0 + + - name: Add local feed + run: dotnet nuget add source ${{runner.workspace}}/nugets + + - name: Dotnet push to local feed + working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native + run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets + + - name: Create new project and test + shell: bash + working-directory: ${{runner.workspace}}/test_nuget + run: | + dotnet new console + rm Program.cs + cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs . + dotnet add package Highs.Native -s ${{runner.workspace}}/nugets + dotnet run + + + + # macos 14 is M1 (beta) + build_macos_14: + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + - name: Build HiGHS + run: | + cmake -E make_directory ${{runner.workspace}}/build + cmake -E make_directory ${{runner.workspace}}/nugets + cmake -E make_directory ${{runner.workspace}}/test_nuget + + - name: Configure CMake + working-directory: ${{runner.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON + + - name: Build + working-directory: ${{runner.workspace}}/build + run: cmake --build . --config Release --parallel + + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: '6.0.x' + + - name: Dotnet pack + working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native + run: dotnet pack -c Release /p:Version=1.7.0 + + - name: Add local feed + run: dotnet nuget add source ${{runner.workspace}}/nugets + + - name: Dotnet push to local feed + working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native + run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets + + - name: Create new project and test + shell: bash + working-directory: ${{runner.workspace}}/test_nuget + run: | + dotnet new console + rm Program.cs + cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs . + dotnet add package Highs.Native -s ${{runner.workspace}}/nugets + dotnet run diff --git a/.github/workflows/test-nuget-package.yml b/.github/workflows/test-nuget-package.yml deleted file mode 100644 index 357af07ee5..0000000000 --- a/.github/workflows/test-nuget-package.yml +++ /dev/null @@ -1,232 +0,0 @@ -name: test-nuget-package - -on: [push, pull_request] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - # macos 12 is Intel - build_macos_12: - runs-on: macos-12 - # strategy: - # matrix: - # python: [3.11] - steps: - - uses: actions/checkout@v4 - - name: Build HiGHS - run: | - cmake -E make_directory ${{runner.workspace}}/build - cmake -E make_directory ${{runner.workspace}}/nugets - cmake -E make_directory ${{runner.workspace}}/test_nuget - - - name: Configure CMake - working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON - - - name: Build - working-directory: ${{runner.workspace}}/build - run: cmake --build . --config Release --parallel - - - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '6.0.x' - - - name: Dotnet pack - working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native - run: dotnet pack -c Release /p:Version=1.7.0 - - - name: Add local feed - run: dotnet nuget add source ${{runner.workspace}}/nugets - - - name: Dotnet push to local feed - working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native - run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets - - - name: Create new project and test - shell: bash - working-directory: ${{runner.workspace}}/test_nuget - run: | - dotnet new console - rm Program.cs - cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs . - dotnet add package Highs.Native -s ${{runner.workspace}}/nugets - dotnet run - - - - # macos 14 is M1 (beta) - build_macos_14: - runs-on: macos-14 - steps: - - uses: actions/checkout@v4 - - name: Build HiGHS - run: | - cmake -E make_directory ${{runner.workspace}}/build - cmake -E make_directory ${{runner.workspace}}/nugets - cmake -E make_directory ${{runner.workspace}}/test_nuget - - - name: Configure CMake - working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON - - - name: Build - working-directory: ${{runner.workspace}}/build - run: cmake --build . --config Release --parallel - - - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '6.0.x' - - - name: Dotnet pack - working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native - run: dotnet pack -c Release /p:Version=1.7.0 - - - name: Add local feed - run: dotnet nuget add source ${{runner.workspace}}/nugets - - - name: Dotnet push to local feed - working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native - run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets - - - name: Create new project and test - shell: bash - working-directory: ${{runner.workspace}}/test_nuget - run: | - dotnet new console - rm Program.cs - cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs . - dotnet add package Highs.Native -s ${{runner.workspace}}/nugets - dotnet run - - build_linux: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Build HiGHS - run: | - cmake -E make_directory ${{runner.workspace}}/build - cmake -E make_directory ${{runner.workspace}}/nugets - cmake -E make_directory ${{runner.workspace}}/test_nuget - - - name: Configure CMake - working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON - - - name: Build - working-directory: ${{runner.workspace}}/build - run: cmake --build . --config Release --parallel - - - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '6.0.x' - - - name: Dotnet pack - working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native - run: dotnet pack -c Release /p:Version=1.7.0 - - - name: Add local feed - run: dotnet nuget add source ${{runner.workspace}}/nugets - - - name: Dotnet push to local feed - working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native - run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets - - - name: Create new project and test - shell: bash - working-directory: ${{runner.workspace}}/test_nuget - run: | - dotnet new console - rm Program.cs - cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs . - dotnet add package Highs.Native -s ${{runner.workspace}}/nugets - dotnet run - - build_linux_8: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Build HiGHS - run: | - cmake -E make_directory ${{runner.workspace}}/build - cmake -E make_directory ${{runner.workspace}}/nugets - cmake -E make_directory ${{runner.workspace}}/test_nuget - - - name: Configure CMake - working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON - - - name: Build - working-directory: ${{runner.workspace}}/build - run: cmake --build . --config Release --parallel - - - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '8.0.x' - - - name: Dotnet pack - working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native - run: dotnet pack -c Release /p:Version=1.7.0 - - - name: Add local feed - run: dotnet nuget add source ${{runner.workspace}}/nugets - - - name: Dotnet push to local feed - working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native - run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets - - - name: Create new project and test - shell: bash - working-directory: ${{runner.workspace}}/test_nuget - run: | - dotnet new console - rm Program.cs - cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs . - dotnet add package Highs.Native -s ${{runner.workspace}}/nugets - dotnet run - - build_windows: - runs-on: windows-latest - steps: - - uses: actions/checkout@v4 - - name: Build HiGHS Windows native - run: | - cmake -E make_directory ${{runner.workspace}}/build - cmake -E make_directory ${{runner.workspace}}/nugets - cmake -E make_directory ${{runner.workspace}}/test_nuget - - - name: Configure CMake - shell: bash - working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON - - - name: Build - shell: bash - working-directory: ${{runner.workspace}}/build - run: cmake --build . --config Release --parallel - - - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '6.0.x' - - - name: Dotnet pack - working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native - run: dotnet pack -c Release /p:Version=1.7.0 - - - name: Add local feed - run: dotnet nuget add source -n name ${{runner.workspace}}\nugets - - - name: Dotnet push to local feed - working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native - shell: bash - run: dotnet nuget push ./bin/Release/*.nupkg -s name - - - name: Create new project and test - working-directory: ${{runner.workspace}}/test_nuget - run: | - dotnet new console - rm Program.cs - cp ${{runner.workspace}}\HiGHS\examples\call_highs_from_csharp.cs . - dotnet add package Highs.Native -v 1.7.0 -s ${{runner.workspace}}\nugets - dotnet run \ No newline at end of file diff --git a/.github/workflows/test-nuget-ubuntu.yml b/.github/workflows/test-nuget-ubuntu.yml new file mode 100644 index 0000000000..cce98e7f21 --- /dev/null +++ b/.github/workflows/test-nuget-ubuntu.yml @@ -0,0 +1,96 @@ +name: test-nuget-ubuntu + +on: [push, pull_request] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build_linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build HiGHS + run: | + cmake -E make_directory ${{runner.workspace}}/build + cmake -E make_directory ${{runner.workspace}}/nugets + cmake -E make_directory ${{runner.workspace}}/test_nuget + + - name: Configure CMake + working-directory: ${{runner.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON + + - name: Build + working-directory: ${{runner.workspace}}/build + run: cmake --build . --config Release --parallel + + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: '6.0.x' + + - name: Dotnet pack + working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native + run: dotnet pack -c Release /p:Version=1.7.0 + + - name: Add local feed + run: dotnet nuget add source ${{runner.workspace}}/nugets + + - name: Dotnet push to local feed + working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native + run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets + + - name: Create new project and test + shell: bash + working-directory: ${{runner.workspace}}/test_nuget + run: | + dotnet new console + rm Program.cs + cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs . + dotnet add package Highs.Native -s ${{runner.workspace}}/nugets + dotnet run + + build_linux_8: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build HiGHS + run: | + cmake -E make_directory ${{runner.workspace}}/build + cmake -E make_directory ${{runner.workspace}}/nugets + cmake -E make_directory ${{runner.workspace}}/test_nuget + + - name: Configure CMake + working-directory: ${{runner.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON + + - name: Build + working-directory: ${{runner.workspace}}/build + run: cmake --build . --config Release --parallel + + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + + - name: Dotnet pack + working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native + run: dotnet pack -c Release /p:Version=1.7.0 + + - name: Add local feed + run: dotnet nuget add source ${{runner.workspace}}/nugets + + - name: Dotnet push to local feed + working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native + run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets + + - name: Create new project and test + shell: bash + working-directory: ${{runner.workspace}}/test_nuget + run: | + dotnet new console + rm Program.cs + cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs . + dotnet add package Highs.Native -s ${{runner.workspace}}/nugets + dotnet run + + \ No newline at end of file diff --git a/.github/workflows/test-nuget-windows.yml b/.github/workflows/test-nuget-windows.yml new file mode 100644 index 0000000000..68a4209754 --- /dev/null +++ b/.github/workflows/test-nuget-windows.yml @@ -0,0 +1,53 @@ +name: test-nuget-windows + +on: [push, pull_request] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build_windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - name: Build HiGHS Windows native + run: | + cmake -E make_directory ${{runner.workspace}}/build + cmake -E make_directory ${{runner.workspace}}/nugets + cmake -E make_directory ${{runner.workspace}}/test_nuget + + - name: Configure CMake + shell: bash + working-directory: ${{runner.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON + + - name: Build + shell: bash + working-directory: ${{runner.workspace}}/build + run: cmake --build . --config Release --parallel + + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: '6.0.x' + + - name: Dotnet pack + working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native + run: dotnet pack -c Release /p:Version=1.7.0 + + - name: Add local feed + run: dotnet nuget add source -n name ${{runner.workspace}}\nugets + + - name: Dotnet push to local feed + working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native + shell: bash + run: dotnet nuget push ./bin/Release/*.nupkg -s name + + - name: Create new project and test + working-directory: ${{runner.workspace}}/test_nuget + run: | + dotnet new console + rm Program.cs + cp ${{runner.workspace}}\HiGHS\examples\call_highs_from_csharp.cs . + dotnet add package Highs.Native -v 1.7.0 -s ${{runner.workspace}}\nugets + dotnet run \ No newline at end of file diff --git a/cmake/README.md b/cmake/README.md index ffe50c3838..1f621b8167 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -1,10 +1,10 @@ # HiGHS CMake Build Instructions -| OS | C++ | Python | .NET | -|:-------- | :---: | :------: | :----: | -| Linux | [![Status][linux_cpp_svg]][linux_cpp_link] | [![Status][linux_python_svg]][linux_python_link] | [![Status][linux_dotnet_svg]][linux_dotnet_link] | -| MacOS | [![Status][macos_cpp_svg]][macos_cpp_link] | [![Status][macos_python_svg]][macos_python_link] | [![Status][macos_dotnet_svg]][macos_dotnet_link] | -| Windows | [![Status][windows_cpp_svg]][windows_cpp_link] | [![Status][windows_python_svg]][windows_python_link] | [![Status][windows_dotnet_svg]][windows_dotnet_link] | +| OS | C++ | Python | CSharp Example | .NET | +|:-------- | :---: | :------: | :----: | :----: | +| Linux | [![Status][linux_cpp_svg]][linux_cpp_link] | [![Status][linux_python_svg]][linux_python_link] | *(1)* | [![Status][linux_dotnet_svg]][linux_dotnet_link] | +| MacOS | [![Status][macos_cpp_svg]][macos_cpp_link] | [![Status][macos_python_svg]][macos_python_link] | *(1)* |[![Status][macos_dotnet_svg]][macos_dotnet_link] | +| Windows | [![Status][windows_cpp_svg]][windows_cpp_link] | [![Status][windows_python_svg]][windows_python_link] | [![Status][windows_csharp_svg]][windows_csharp_link] | [![Status][windows_dotnet_svg]][windows_dotnet_link] | [linux_cpp_svg]: https://github.com/ERGO-Code/HiGHS/actions/workflows/cmake-linux-cpp.yml/badge.svg [linux_cpp_link]: https://github.com/ERGO-Code/HiGHS/actions/workflows/cmake-linux-cpp.yml @@ -20,25 +20,35 @@ [windows_python_svg]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-python-win.yml/badge.svg [windows_python_link]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-python-win.yml -[linux_dotnet_svg]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-csharp-ubuntu.yml/badge.svg -[linux_dotnet_link]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-csharp-ubuntu.yml -[macos_dotnet_svg]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-csharp-macos.yml/badge.svg -[macos_dotnet_link]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-csharp-macos.yml -[windows_dotnet_svg]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-csharp-win.yml/badge.svg -[windows_dotnet_link]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-csharp-win.yml +[windows_csharp_svg]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-csharp-win.yml/badge.svg +[windows_csharp_link]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-csharp-win.yml + +[linux_dotnet_svg]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-nuget-ubuntu.yml/badge.svg +[linux_dotnet_link]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-nuget-ubuntu.yml +[macos_dotnet_svg]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-nuget-macos.yml/badge.svg +[macos_dotnet_link]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-nuget-macos.yml +[windows_dotnet_svg]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-nuget-win.yml/badge.svg +[windows_dotnet_link]: https://github.com/ERGO-Code/HiGHS/actions/workflows/test-nuget-win.yml + +*(1)* CMake C# is currently only supported for Microsoft Visual Studio 11 2012 and + later. You can still build and run the HiGHS C# nuget package on Linux and MacOS with `dotnet`, see the workflows in the .NET column. It is only the CSharp example build with CMake that is not supported for Unix generators. +
+*Contents* - [HiGHS CMake Build Instructions](#highs-cmake-build-instructions) + - [Introduction](#introduction) - [Requirement](#requirement) - - [Supported compilers](#supported-compilers) + - [Supported compilers](#supported-compilers) - [Build](#build) - [Install](#install) - [Windows](#windows) - [CMake Options](#cmake-options) - [Integrating HiGHS in your CMake Project](#integrating-highs-in-your-cmake-project) +## Introduction HiGHS can be built from source using CMake: . CMake works by generating native Makefiles or build projects that can be used in the compiler environment of your choice. @@ -50,7 +60,7 @@ You'll need: * `CMake >= 3.15`. * A C++11 compiler -#### Supported compilers +## Supported compilers Here is a list of the supported compilers: