-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Switch to CMake * Add build.yml
- Loading branch information
Showing
74 changed files
with
409 additions
and
960 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
name: Build | ||
|
||
on: [push] | ||
|
||
jobs: | ||
|
||
build: | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, windows-latest, macos-13, macos-latest] | ||
python-version: ["3.8"] | ||
|
||
env: | ||
GENERALIZED_ASSIGNMENT_DATA: ${{ github.workspace }}/data/ | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install nauty | ||
run: sudo apt-get install -y libnauty2-dev | ||
if: matrix.os == 'ubuntu-latest' | ||
- name: Install CLP (MacOS) | ||
run: | | ||
brew install clp | ||
brew install cbc | ||
if: ${{ (matrix.os == 'macos-13') || (matrix.os == 'macos-latest') }} | ||
- name: Build | ||
run: | | ||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release | ||
cmake --build build --config Release --parallel | ||
cmake --install build --config Release --prefix install | ||
- name: Run tests | ||
run: python3 -u scripts/run_tests.py test_results | ||
- name: Checkout main branch | ||
run: | | ||
git remote set-branches origin '*' | ||
git fetch --depth 1 | ||
git checkout master | ||
- name: Build | ||
run: | | ||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release | ||
cmake --build build --config Release --parallel | ||
cmake --install build --config Release --prefix install | ||
- name: Run tests | ||
run: python3 -u scripts/run_tests.py test_results_ref | ||
- name: Process tests | ||
run: python3 -u ./build/_deps/optimizationtools-src/scripts/process_tests.py --ref test_results_ref --new test_results |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
cmake_minimum_required(VERSION 3.15.0) | ||
|
||
project(GeneralizedAssignmentSolver LANGUAGES CXX) | ||
|
||
option(GENERALIZEDASSIGNMENTSOLVER_USE_CBC "Use CBC" ON) | ||
option(GENERALIZEDASSIGNMENTSOLVER_USE_GUROBI "Use Gurobi" OFF) | ||
option(GENERALIZEDASSIGNMENTSOLVER_USE_CPLEX "Use CPLEX" OFF) | ||
option(GENERALIZEDASSIGNMENTSOLVER_USE_KNITRO "Use Knitro" OFF) | ||
|
||
# Avoid FetchContent warning. | ||
cmake_policy(SET CMP0135 NEW) | ||
|
||
# Require C++14. | ||
set(CMAKE_CXX_STANDARD 14) | ||
|
||
# Enable output of compile commands during generation. | ||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) | ||
|
||
# Set MSVC_RUNTIME_LIBRARY. | ||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") | ||
|
||
# Add sub-directories. | ||
add_subdirectory(extern) | ||
add_subdirectory(src) | ||
add_subdirectory(test) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.