Skip to content
Open
Show file tree
Hide file tree
Changes from 238 commits
Commits
Show all changes
240 commits
Select commit Hold shift + click to select a range
74e6e73
add or-tools to ssc
dguittet Apr 24, 2023
1696543
ortools_test working
dguittet Jun 13, 2023
e9845c0
or_tools test
dguittet Jun 13, 2023
a1c5e56
Merge branch 'develop' into ortools
dguittet Jun 13, 2023
d4d7992
update for latest gtest
dguittet Aug 28, 2023
ae828af
update windows build
dguittet Sep 5, 2023
9659782
update build for windows
dguittet Sep 5, 2023
48a0636
or-tools in CI
dguittet Sep 18, 2023
61515c5
or-tools in CI
dguittet Sep 18, 2023
019a817
or-tools in CI
dguittet Sep 18, 2023
0f30dc9
fix ci.yml
dguittet Sep 18, 2023
0f79487
fix paths ci.yml
dguittet Sep 18, 2023
ff83c30
fix cmake
dguittet Sep 18, 2023
07fd932
fix min_up_down_params permissive
dguittet Sep 18, 2023
786632a
fix min_up_down_params permissive
dguittet Sep 18, 2023
60ea590
use curl for macosx
dguittet Sep 18, 2023
7e31e70
fix curl cmd
dguittet Sep 18, 2023
efcc7e6
update shared/CMakeLists for XPRESS
dguittet Sep 21, 2023
8c624ba
delete Eigen3 and run all tests
dguittet Sep 21, 2023
b9cf977
Merge branch 'ortools' of https://github.com/NREL/ssc into ortools
dguittet Sep 21, 2023
3505065
USE_XPRESS in CMakeLists
dguittet Sep 21, 2023
7a29650
rename test
dguittet Sep 21, 2023
2c28f80
fix PvYield test
dguittet Sep 21, 2023
63d0a0a
update XPRESS in CMakeLists
dguittet Sep 21, 2023
8d7e946
Merge branch 'ortools' of https://github.com/nrel/ssc into ortools
dguittet Sep 21, 2023
3ab34a2
Merge branch 'develop' into ortools
dguittet Sep 26, 2023
3be8f42
Merge branch 'develop' into ortools
dguittet Oct 10, 2023
f6f9a10
Merge branch 'develop' into ortools
dguittet Oct 10, 2023
f68af28
Merge branch 'develop' into ortools
dguittet Oct 19, 2023
592383e
Merge branch 'develop' into ortools
dguittet Nov 16, 2023
731d913
Merge branch 'develop' into ortools
dguittet Jan 31, 2024
e552c57
run ortools at the end of generic system for testing
dguittet Jan 31, 2024
242ad56
Merge branch 'patch' into ortools
dguittet Apr 3, 2024
6f3cfe3
Merge branch 'develop' into ortools
dguittet Apr 3, 2024
b6c8964
Merge branch 'patch' into ortools
dguittet Apr 22, 2024
20b3f1c
update CMake for Windows
dguittet Apr 26, 2024
1da87c7
https://developercommunity.visualstudio.com/t/error-c2872-byte-ambigu…
dguittet Apr 26, 2024
9e75692
Revert "https://developercommunity.visualstudio.com/t/error-c2872-byt…
dguittet Apr 26, 2024
cd1e8ec
https://developercommunity.visualstudio.com/t/error-c2872-byte-ambigu…
dguittet Apr 26, 2024
2895d03
Merge branch 'c17_std_byte' into ortools
dguittet Apr 26, 2024
0af910e
CI update OR-tools download for mac arm64
dguittet Apr 30, 2024
ceba4c8
Merge branch 'ortools' of https://github.com/nrel/ssc into ortools
dguittet Apr 30, 2024
b97d924
CI update OR-tools download for mac arm64
dguittet Apr 30, 2024
10110a0
Merge branch 'patch' into c17_std_byte
dguittet May 2, 2024
c004673
update CMake and reading OR-tools input file
dguittet May 3, 2024
a52d40c
add mac intel and try windows runner
dguittet May 6, 2024
dbdeabd
windows build
dguittet May 6, 2024
4253ae5
windows ci
dguittet May 6, 2024
900f359
windows ci
dguittet May 6, 2024
b044226
windows ci
dguittet May 6, 2024
f4452dc
windows ci
dguittet May 6, 2024
ce50f0b
windows ci
dguittet May 6, 2024
3060a2e
windows ci
dguittet May 6, 2024
f266b91
windows ci
dguittet May 6, 2024
e66bcfa
windows ci
dguittet May 6, 2024
255f215
windows ci
dguittet May 6, 2024
fd91767
windows ci
dguittet May 6, 2024
b243ced
Update ci.yml
dguittet May 6, 2024
46214d9
Update ci.yml
dguittet May 6, 2024
68938c0
Merge branch 'ortools' of https://github.com/NREL/ssc into ortools
dguittet May 6, 2024
4758077
Update ci.yml
dguittet May 6, 2024
91f7e63
Merge branch 'ortools' into c17_std_byte
dguittet May 6, 2024
39ef963
Revert "Merge branch 'ortools' into c17_std_byte"
dguittet May 6, 2024
210512c
Merge branch 'c17_std_byte' into ortools
dguittet May 6, 2024
b5535d9
Update ci.yml
dguittet May 6, 2024
1f807e7
Merge branch 'c17_std_byte' into ortools
dguittet May 6, 2024
68ee2a5
Update ci.yml
dguittet May 7, 2024
372f954
Update ci.yml
dguittet May 7, 2024
b7a7e30
Update ci.yml
dguittet May 7, 2024
cb33476
Update ci.yml
dguittet May 7, 2024
420b10a
Update ci.yml
dguittet May 7, 2024
5e65487
Update ci.yml
dguittet May 7, 2024
4da9e5b
Update ci.yml
dguittet May 7, 2024
58780bb
Update ci.yml
dguittet May 7, 2024
edaf4b3
Update ci.yml
dguittet May 7, 2024
6bfbf88
Update ci.yml
dguittet May 7, 2024
851b1da
Update ci.yml
dguittet May 7, 2024
e29a0a0
Update ci.yml
dguittet May 7, 2024
07a98bd
Update ci.yml
dguittet May 7, 2024
ee3e396
Update ci.yml
dguittet May 7, 2024
4e785ad
Update ci.yml
dguittet May 8, 2024
f320c7a
fix deprecation warnings in ci.yml
dguittet May 8, 2024
22743a2
Merge branch 'ci_runners' of https://github.com/nrel/ssc into ci_runners
dguittet May 8, 2024
c056e08
Update ci.yml
dguittet May 8, 2024
c2121ed
Update ci.yml
dguittet May 8, 2024
34b68fa
Update ci.yml
dguittet May 8, 2024
6666f82
python avail check for windbosse
dguittet May 8, 2024
8613649
update test
dguittet May 9, 2024
1669ffb
update versions
dguittet May 23, 2024
9967f3e
reorder
dguittet May 29, 2024
22029e8
find_package ZLIB
dguittet May 29, 2024
fd4eec4
Merge branch 'patch' into ortools
dguittet May 29, 2024
08729a4
add GTEST caching and update CMake Windows
dguittet May 30, 2024
1d37c43
update or-tools ci
dguittet May 30, 2024
10c42f1
Merge branch 'ci_runners' into ortools
dguittet May 30, 2024
036a374
or-tools windows
dguittet May 30, 2024
9f9b591
fix or-tools tar
dguittet May 30, 2024
99f6010
fix dir
dguittet May 30, 2024
1f85737
fix dirs
dguittet May 30, 2024
a5a2a8d
build or-tools windows
dguittet Jun 3, 2024
44d1577
fix ZLIB
dguittet Jun 3, 2024
f948a37
stable or-tools
dguittet Jun 4, 2024
716020b
add temp dirs
dguittet Jun 7, 2024
d312aad
update input path
dguittet Jun 7, 2024
dcba0c6
add find_package for SCIP
dguittet Jun 10, 2024
5a3a943
Merge branch 'patch' into ortools
dguittet Jun 11, 2024
31a8712
Merge branch 'develop' into ortools
dguittet Jun 11, 2024
9415614
fix windows ci
dguittet Jun 13, 2024
d797abd
windows ci
dguittet Jun 13, 2024
ed67637
fix paths
dguittet Jun 13, 2024
4a0c85d
fit paths
dguittet Jun 13, 2024
f0660dd
fix env
dguittet Jun 13, 2024
b1e96d9
fix paths
dguittet Jun 13, 2024
871191f
add windows tests back
dguittet Jun 13, 2024
fd46f0e
windows ci
dguittet Jun 13, 2024
c5d9ca8
windows download
dguittet Jun 13, 2024
61698d0
fix paths
dguittet Jun 13, 2024
d44f6f9
test
dguittet Jun 13, 2024
8fe6957
only build release
dguittet Jun 13, 2024
bc9f728
fix debug
dguittet Jun 13, 2024
6939622
cmake windows
dguittet Jun 13, 2024
8f65427
build with msbuild
dguittet Jun 13, 2024
6186731
fix syntax
dguittet Jun 13, 2024
76a3877
ps
dguittet Jun 13, 2024
eba49e8
ps paths
dguittet Jun 13, 2024
4b11fb2
bash
dguittet Jun 13, 2024
f7dd17d
c++ 20
dguittet Jun 13, 2024
1bfcc98
building
dguittet Jun 13, 2024
0a4e444
set_outputfile C2664
dguittet Jun 13, 2024
e3ce147
lpsolve
dguittet Jun 13, 2024
0457ffc
lpsolve
dguittet Jun 13, 2024
3b2b9ee
build test
dguittet Jun 13, 2024
d3b1b31
fix
dguittet Jun 13, 2024
b737922
fix
dguittet Jun 13, 2024
e0f84e5
x64 for windows
dguittet Jun 13, 2024
fe4a1aa
change imports
dguittet Jun 13, 2024
1b45f14
refactor windows CMake
dguittet Jun 14, 2024
5be4b2f
reorder library link
dguittet Jun 14, 2024
d6c5933
add Eigen
dguittet Jun 14, 2024
86ae0cb
use OR-Tools 9.10
dguittet Jun 14, 2024
145523c
try again
dguittet Jun 14, 2024
d418e68
windows-latest
dguittet Jun 14, 2024
36fc18a
add check for SSCDIR
dguittet Jun 14, 2024
4b31a89
or-tools version 9.8
dguittet Jun 17, 2024
3872bea
ORTOOLS_VER
dguittet Jun 18, 2024
fc407ee
fix typo
dguittet Jun 20, 2024
0d48c09
Merge branch 'develop' into ortools
dguittet Jul 31, 2024
6fbc979
adapt lpsolve to c++17
dguittet Jul 31, 2024
ff46bcc
Merge branch 'patch' into ortool__full_release
sjanzou Apr 23, 2025
a6dccd1
Update lpsolve to build on windows with C++20
sjanzou Apr 23, 2025
16e519b
Fix project generation with stable ortools
sjanzou Apr 24, 2025
e95d396
ortools Test lib_ptes_chp_dispatch_test working locally on Windows
sjanzou Apr 25, 2025
cc05a42
sdktool updates for C++20 for ortools
sjanzou Apr 25, 2025
56246f5
2025.4.29 ssc 303 OR Tools Windows beta release Alt+F6 to test
sjanzou Apr 29, 2025
3271718
fix lpsolve debug build for C++20
qualand May 16, 2025
e5ad170
Refactor dispatch optimization to use base_dispatch_lpsolve
qualand Aug 5, 2025
34ba5fc
Move print_log_to_file from lpsolve to base_dispatch
qualand Aug 5, 2025
7b48862
Add GLPK support to MSVC build in CMake
qualand Aug 12, 2025
06d2bc0
Refactor dispatch outputs and termination flags
qualand Aug 12, 2025
17bdcd0
Refactor solver parameter handling in dispatch classes
qualand Aug 13, 2025
bd22e3a
Add OR-Tools-based CSP dispatch optimization
qualand Aug 19, 2025
ccbd314
Replace #pragma once with include guards in headers
qualand Aug 19, 2025
cfeb4d3
Add math_opt and linear_solver example tests
qualand Aug 19, 2025
d45f0d1
Refine power cycle operation constraints and limits
qualand Aug 29, 2025
f24d948
Merge branch 'patch' into ortools_build
sjanzou Sep 1, 2025
5241d8c
Update CMakeLists.txt to generate release build of ssc
sjanzou Sep 2, 2025
6a3c2f6
ssc and Test projects generated and compiling and running in release …
sjanzou Sep 3, 2025
0841951
Test building and running in Release and Debug mode on Windows linked…
sjanzou Sep 4, 2025
09ed5e5
Working on release versions for wxWidgets libraries
sjanzou Sep 10, 2025
28dbb42
wxWidgets in top level - all but export_config building on Windows
sjanzou Sep 11, 2025
cdfd504
Fix SDKtool loading of the ortools ssc dll reported on 9/18/2025
sjanzou Sep 19, 2025
91959f0
Merge remote-tracking branch 'origin/develop' into ortools_build
sjanzou Oct 9, 2025
1cd834f
Update Test project to c++20
sjanzou Oct 9, 2025
7c8fbd3
Merge branch 'develop' into ortools_build
sjanzou Oct 29, 2025
7201fce
Update ci to test building or-tools for Windows
sjanzou Oct 29, 2025
4a6cd95
ci or-tools folder update for Windows
sjanzou Oct 29, 2025
fa7ae89
Update folder location for ortools build and ssc dependencies for Win…
sjanzou Oct 30, 2025
20fecf0
Create installation folder in workflow
sjanzou Oct 30, 2025
fc7f2df
Add orttols_ref key and update install patch
sjanzou Oct 31, 2025
2de4b56
Get ortools key ref from previous log file
sjanzou Oct 31, 2025
2e60170
Update ortools caching and update ssc build for GitHub Actions for Wi…
sjanzou Oct 31, 2025
fbad3ff
Change Windows decompression command for specific ortools version
sjanzou Oct 31, 2025
738881f
Update ortools directory based on version used for Windows runner
sjanzou Oct 31, 2025
fa6d2c1
$env issue on Windows workflow
sjanzou Oct 31, 2025
58afd5f
Merge remote-tracking branch 'origin/develop' into ortools_build
sjanzou Nov 2, 2025
940eb79
Build or-tools only on Windows and test using cache
sjanzou Nov 2, 2025
09c36a0
Re-enable remaining Windows workflow to test ortools cache loading
sjanzou Nov 2, 2025
eabb9ec
Fix pathing issues for ssc build with ortools
sjanzou Nov 4, 2025
e8c64e9
Always save ortools build event when workflow fails
sjanzou Nov 4, 2025
47907c0
Testing coverage build with ortools on ubuntu runner
sjanzou Nov 4, 2025
c782a63
Add missing ORTools version environment variable to coverage workflow
sjanzou Nov 4, 2025
a4eb17b
Update linux build targets for coverage.yml workflow
sjanzou Nov 4, 2025
4fb3852
force building before caching coverage.yml
sjanzou Nov 4, 2025
26cc830
Change ortools to debug build for coverage workflow
sjanzou Nov 4, 2025
0da2b3d
coverage workflow - remove previous build folder and add -j4 to limit…
sjanzou Nov 4, 2025
15519c8
rm -r build fails build step of runner - remove and remove cache from…
sjanzou Nov 4, 2025
e5d1b2c
skip tools for Windows build
sjanzou Nov 4, 2025
dc29cb2
Test addressing undefined OR_PROTO_DLL in Windows runner
sjanzou Nov 4, 2025
e492e4f
Update coverage.yml for Ubuntu debug build with ortools
sjanzou Nov 5, 2025
b424f9e
Update lpsolve to c++20 for Ubuntu coverage.yml build
sjanzou Nov 5, 2025
16ed931
enable coverage in coverage.yml and update build steps
sjanzou Nov 5, 2025
70b4d58
ENABLE_COVERAGE define value not set - update for ortools
sjanzou Nov 5, 2025
b1fd480
Update all workflows for Ubuntu ORTools build and test run
sjanzou Nov 5, 2025
a11dfef
Fix runners syntax error
sjanzou Nov 5, 2025
3dac13a
update ubuntu coveralls workflow for ortools
sjanzou Nov 5, 2025
1f54d2c
Update shared build and update coverage to explicitly build debug ort…
sjanzou Nov 5, 2025
542ab35
Update shared CMakeLists.txt for Linux
sjanzou Nov 13, 2025
496b3e1
testing resolution of undefined reference to 'so_stdname'
sjanzou Nov 13, 2025
de15464
Update Linux ssc build dependencies
sjanzou Nov 13, 2025
b831d7a
Set all c++ dependencies to 20 for MSVC and 17 otherwise
sjanzou Nov 19, 2025
9c9b4c3
Update ci.yml workflow for macos-14-large runner
sjanzou Dec 2, 2025
c6a33d8
Update deprecated upload-artifact action from v2 to v4 for macOS
sjanzou Dec 2, 2025
b7d0252
Update NULL to nullptr for Linux and MacOS or-tools builds
sjanzou Dec 2, 2025
16d5924
Remove troublesome so_stdname function and dltest
sjanzou Dec 2, 2025
d54e7bb
c++ update for GTEST
sjanzou Dec 3, 2025
e5c8541
Update shared CMakeLists for ortools for all platforms
sjanzou Dec 3, 2025
f47cdb2
Fix arguments on Windows GitHub runner for load_BLAS
sjanzou Dec 10, 2025
b947189
Merge branch 'develop' into ortools_build
sjanzou Jan 4, 2026
74c8d3b
Remove ortools cache for linux and update to use precompiled ortools …
sjanzou Jan 5, 2026
4a5aba5
update ortoolsdir for Ubuntu runner
sjanzou Jan 5, 2026
91ad6ac
extracted path different from name of precompiled Ubuntu ortools image
sjanzou Jan 5, 2026
ea85441
Update Windows and MacOS runners to user precompiled ortools in workflow
sjanzou Jan 5, 2026
cbbfb75
ci.yml syntax error update for macos
sjanzou Jan 5, 2026
79bf1ee
remove potential comment syntax error in workflow file
sjanzou Jan 5, 2026
9c666ca
macos ci.yml syntax error
sjanzou Jan 5, 2026
0c0bf3c
remove ubuntu runner for testing macos runner
sjanzou Jan 5, 2026
19b70d9
try syntax update
sjanzou Jan 5, 2026
bf1c2e7
test ci.yml from develop
sjanzou Jan 5, 2026
efaa533
revert changes to workflow
sjanzou Jan 5, 2026
8b459f6
remove comments from working ci.yml
sjanzou Jan 5, 2026
cb5c511
remove unused caches
sjanzou Jan 5, 2026
f328dd9
Update workflow runners
sjanzou Jan 5, 2026
e826a01
update Windows and macOS runners
sjanzou Jan 5, 2026
6b74820
Ubuntu and MacOS runners working with precompiled ortools. Updating W…
sjanzou Jan 5, 2026
0f2a6bf
Merge remote-tracking branch 'origin/develop' into ortools_build
sjanzou Feb 4, 2026
ade352a
Update Debug builds of Test and SDKTool to work with binary download …
sjanzou Feb 5, 2026
fe86f8c
Re-enable all 715 ssc tests - was previously running only ORTools tests
sjanzou Feb 5, 2026
4beba8a
CMakeLists.txt clean up
sjanzou Feb 5, 2026
f4a0ca4
Update all c++ cmake commands to be consistent with ortools v9.14
sjanzou Feb 16, 2026
cb77480
Merge remote-tracking branch 'origin/develop' into ortools_build
sjanzou Feb 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
77 changes: 52 additions & 25 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
GTEST_REF: b85864c64758dec007208e56af933fc3f52044ee
ORTOOLS_VER: "9.14"
ORTOOLS_RELEASE: "6206"

jobs:
build-on-ubuntu:
Expand All @@ -27,7 +29,17 @@ jobs:
echo "GTEST=$GTEST" >> $GITHUB_ENV
SSCDIR=$GITHUB_WORKSPACE/ssc
echo "SSCDIR=$SSCDIR" >> $GITHUB_ENV
ORTOOLSDIR=$GITHUB_WORKSPACE/or-tools_x86_64_Ubuntu-24.04_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE
echo "ORTOOLSDIR=$ORTOOLSDIR" >> $GITHUB_ENV

- name: Download OR-Tools
if: steps.cached-ortools-restore.outputs.cache-hit != 'true'
shell: bash
run: |
curl -L https://github.com/google/or-tools/releases/download/v$ORTOOLS_VER/or-tools_amd64_ubuntu-24.04_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE.tar.gz -o or-tools-$ORTOOLS_VER.tar.gz
tar xvzf or-tools-$ORTOOLS_VER.tar.gz


- name: Get cached GTest
uses: actions/cache@v4
id: cachedgtest
Expand All @@ -49,27 +61,23 @@ jobs:
export
mkdir ${GTEST}/build
cd ${GTEST}/build
cmake -DCMAKE_CXX_FLAGS=-std=c++11 ..
cmake -DCMAKE_CXX_FLAGS=-std=c++17 ..
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Flagging another c++17 - Is this intentional for gtest?

make

- name: Checkout SSC
uses: actions/checkout@v4
with:
path: ssc

- name: Configure CMake
# Configure cmake to build ssc tests but not tools
run: |
mkdir ${SSCDIR}/build
cd ${SSCDIR}/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DSAM_SKIP_TOOLS=1

- name: Build
# Build your program with the given configuration
- name: Build SSC
shell: bash
run: |
cd ${SSCDIR}/build
# Downloaded OR-Tools has CoinOR enabled
mkdir $SSCDIR/build
cd $SSCDIR/build
cmake -DCMAKE_CONFIGURATION_TYPES="Release" -DENABLE_COVERAGE=1 -DSAM_SKIP_AUTOGEN=0 -DSAMAPI_EXPORT=1 -DSAM_SKIP_TOOLS=1 -DSAMPRIVATE=1 -DUSE_XPRESS=0 -DUSE_COINOR=1 -DCMAKE_SYSTEM_VERSION=10.0 -DCMAKE_SYSTEM_PREFIX_PATH=${ORTOOLSDIR} -Dabsl_DIR=${ORTOOLSDIR}\lib\cmake\absl" -Dutf8_range_DIR=${ORTOOLSDIR}\lib\cmake\utf8_range" ..
make -j4

- name: Test
# Turn off fast fail for when the landbosse tests write to cerr
run: |
Expand Down Expand Up @@ -118,13 +126,22 @@ jobs:
echo "GTEST=$GTEST" >> $GITHUB_ENV
SSCDIR=$GITHUB_WORKSPACE/ssc
echo "SSCDIR=$SSCDIR" >> $GITHUB_ENV
ORTOOLSDIR=$GITHUB_WORKSPACE/or-tools_x86_64_macOS-15.5_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE
echo "ORTOOLSDIR=$ORTOOLSDIR" >> $GITHUB_ENV

- name: Download OR-Tools
if: steps.cached-ortools-restore.outputs.cache-hit != 'true'
shell: bash
run: |
curl -L https://github.com/google/or-tools/releases/download/v$ORTOOLS_VER/or-tools_x86_64_macOS-15.5_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE.tar.gz -o or-tools-$ORTOOLS_VER.tar.gz
tar xvzf or-tools-$ORTOOLS_VER.tar.gz

- name: Get cached GTest
uses: actions/cache@v4
id: cachedgtest
with:
path: ${{env.GTEST}}/
key: gtest-${{ matrix.os }}
key: ortools-${{ matrix.os }}
- name: Clone Gtest
if: steps.cachedgtest.outputs.cache-hit != 'true'
uses: actions/checkout@v4
Expand All @@ -139,7 +156,7 @@ jobs:
export
mkdir ${GTEST}/build
cd ${GTEST}/build
cmake -DCMAKE_CXX_FLAGS=-std=c++11 ..
cmake -DCMAKE_CXX_FLAGS=-std=c++17 ..
make

- name: Checkout SSC
Expand All @@ -152,7 +169,7 @@ jobs:
run: |
mkdir ${SSCDIR}/build
cd ${SSCDIR}/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DSAM_SKIP_TOOLS=1 -DSAMAPI_EXPORT=0
cmake .. -DCMAKE_BUILD_TYPE=Release -DSAM_SKIP_TOOLS=1 -DSAMAPI_EXPORT=0 -DCMAKE_INSTALL_PREFIX=${ORTOOLSDIR}

- name: Build
# Build your program with the given configuration
Expand Down Expand Up @@ -211,6 +228,8 @@ jobs:
runs-on: windows-latest

steps:
- uses: actions/checkout@v4

- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
Expand All @@ -225,7 +244,17 @@ jobs:
echo "GTEST=$GTEST" >> $GITHUB_ENV
SSCDIR=$GITHUB_WORKSPACE/ssc
echo "SSCDIR=$SSCDIR" >> $GITHUB_ENV

ORTOOLSDIR=$GITHUB_WORKSPACE/or-tools_x64_VisualStudio2022_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE
echo "ORTOOLSDIR=$ORTOOLSDIR" >> $GITHUB_ENV


- name: Download OR-Tools
if: steps.cached-ortools-restore.outputs.cache-hit != 'true'
shell: bash
run: |
curl -L https://github.com/google/or-tools/releases/download/v$ORTOOLS_VER/or-tools_x64_VisualStudio2022_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE.zip -o or-tools-$ORTOOLS_VER.zip
7z x or-tools-$ORTOOLS_VER.zip

- name: Get cached GTest
uses: actions/cache@v4
id: cachedgtest
Expand All @@ -245,7 +274,6 @@ jobs:
if: steps.cachedgtest.outputs.cache-hit != 'true'
shell: bash
run: |
export
mkdir ${GTEST}/build
cd ${GTEST}/build
cmake -Dgtest_force_shared_crt=ON ..
Expand All @@ -256,19 +284,18 @@ jobs:
with:
path: ssc

- name: Configure CMake
- name: Build SSC
shell: bash
# Configure cmake to build ssc tests but not tools
run: |
mkdir ${SSCDIR}/build
cd ${SSCDIR}/build
cmake .. -DSAM_SKIP_TOOLS=1 -DCMAKE_CONFIGURATION_TYPES="Release"
cmake --build . --config Release -j4
# Downloaded OR-Tools has CoinOR enabled
mkdir $SSCDIR/build
cd $SSCDIR/build
cmake -G "Visual Studio 17 2022" -DCMAKE_CONFIGURATION_TYPES="Release" -DSAM_SKIP_AUTOGEN=0 -DSAMAPI_EXPORT=1 -DSAM_SKIP_TOOLS=1 -DSAMPRIVATE=1 -DUSE_XPRESS=0 -DUSE_COINOR=1 -DCMAKE_SYSTEM_VERSION=10.0 -DCMAKE_SYSTEM_PREFIX_PATH=${ORTOOLSDIR} -Dabsl_DIR=${ORTOOLSDIR}\lib\cmake\absl" -Dutf8_range_DIR=${ORTOOLSDIR}\lib\cmake\utf8_range" ..
cmake --build . --config Release -j4 --target Test
cp ssc/Release/* test/Release

- name: Test
shell: bash
# Turn off fast fail for when the landbosse tests write to cerr
run: |
cd ${SSCDIR}/build/test/Release
LOG_FILE=${SSCDIR}/build/test/gtest.log
Expand Down
55 changes: 44 additions & 11 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug
GTEST_REF: b85864c64758dec007208e56af933fc3f52044ee
ORTOOLS_VER: "9.14"

jobs:
coveralls-on-ubuntu:
Expand All @@ -30,13 +31,49 @@ jobs:
echo "GTEST=$GTEST" >> $GITHUB_ENV
SSCDIR=$GITHUB_WORKSPACE/ssc
echo "SSCDIR=$SSCDIR" >> $GITHUB_ENV
ORTOOLSDIR=$GITHUB_WORKSPACE/or-tools-$ORTOOLS_VER/install_release
echo "ORTOOLSDIR=$ORTOOLSDIR" >> $GITHUB_ENV


- name: Install OS dependencies
run: |
sudo apt-get update --fix-missing
sudo apt-get install -y \
lcov

- name: Restore cached OR-Tools
id: cached-ortools-restore
uses: actions/cache/restore@v4
with:
key: ortools-${{env.ORTOOLS_VER}}-linux-debug
path: ${{env.ORTOOLSDIR}}/

- name: Download OR-Tools
if: steps.cached-ortools-restore.outputs.cache-hit != 'true'
shell: bash
run: |
curl -L https://github.com/google/or-tools/releases/download/v$ORTOOLS_VER/or-tools-$ORTOOLS_VER.tar.gz -o or-tools-$ORTOOLS_VER.tar.gz
tar xvzf or-tools-$ORTOOLS_VER.tar.gz

- name: build OR-Tools
if: steps.cached-ortools-restore.outputs.cache-hit != 'true'
shell: bash
run: |
mkdir ${ORTOOLSDIR}
cd or-tools-$ORTOOLS_VER
mkdir build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DBUILD_DEPS=ON -DUSE_COINOR=ON -DUSE_GLPK=ON -DBUILD_EXAMPLES=OFF -DBUILD_SAMPLES=OFF -DBUILD_DOC=OFF -DINSTALL_DOC=OFF -DCMAKE_INSTALL_PREFIX=${ORTOOLSDIR}
cmake --build build --config Debug --target all -j4 -v
cmake --build build --config Debug --target install -v

- name: Always save OR-Tools build
id: cached-ortools-save
if: always() && steps.cached-ortools-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cached-ortools-restore.outputs.cache-primary-key }}
path: ${{env.ORTOOLSDIR}}/


- name: Get cached GTest
uses: actions/cache@v4
Expand All @@ -59,25 +96,21 @@ jobs:
export
mkdir ${GTEST}/build
cd ${GTEST}/build
cmake -DCMAKE_CXX_FLAGS=-std=c++11 ..
cmake -DCMAKE_CXX_FLAGS=-std=c++17 ..
make

- name: Checkout SSC
uses: actions/checkout@v4
with:
path: ssc

- name: Configure CMake
# Configure cmake to build ssc tests but not tools
run: |
mkdir ${SSCDIR}/build
cd ${SSCDIR}/build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=1 -DSAM_SKIP_TOOLS=1

- name: Build
# Build your program with the given configuration
- name: Build SSC
shell: bash
run: |
cd ${SSCDIR}/build
# Downloaded OR-Tools has CoinOR enabled
mkdir $SSCDIR/build
cd $SSCDIR/build
cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=1 -DSAM_SKIP_TOOLS=1 -DUSE_XPRESS=0 -DUSE_COINOR=1 -DCMAKE_SYSTEM_VERSION=10.0 -DCMAKE_SYSTEM_PREFIX_PATH=${ORTOOLSDIR} -Dabsl_DIR=${ORTOOLSDIR}\lib\cmake\absl" -Dutf8_range_DIR=${ORTOOLSDIR}\lib\cmake\utf8_range" ..
make -j4

- name: Test
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ bld/
build/
cmake-build-debug/
cmake-build-release/
CMakeFiles
CMakeCache.txt
test/Test

# Visual Studio 2015 cache/options directory
Expand Down Expand Up @@ -344,6 +346,7 @@ build_osx/Test
build_linux/Test
build_linux/config.status
linux_test\.txt
build2

nlopt/config.h
nlopt/config.status
Expand All @@ -360,3 +363,5 @@ ssc/ssc\.exp
ssc/sscd\.exp

build_android/lib_oldssc.zip

or-tools
35 changes: 30 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,18 @@ option(SAM_SKIP_TESTS "Skips building tests" OFF)

option(SAMAPI_EXPORT "Export of ssc binaries to the SAM_api directory; for Unix, compile ssc libraries for SAM_api" ON)

include(CMakeDependentOption)

CMAKE_DEPENDENT_OPTION(BUILD_DEPS "Build OR-Tools dependencies" ON "NOT SKIP_ORTOOLS" OFF)
CMAKE_DEPENDENT_OPTION(USE_COINOR "Use the COIN-OR solver" OFF "NOT SKIP_ORTOOLS" OFF)
CMAKE_DEPENDENT_OPTION(USE_HIGHS "Use the HiGHS solver" OFF "NOT SKIP_ORTOOLS" OFF)
CMAKE_DEPENDENT_OPTION(BUILD_EXAMPLES "Build examples" OFF "NOT SKIP_ORTOOLS" OFF)
CMAKE_DEPENDENT_OPTION(BUILD_SAMPLES "Build samples" OFF "NOT SKIP_ORTOOLS" OFF)
CMAKE_DEPENDENT_OPTION(INSTALL_DOC "Install doc" OFF "NOT SKIP_ORTOOLS" OFF)
CMAKE_DEPENDENT_OPTION(USE_COINOR "Use COINOR solvers" OFF "NOT SKIP_ORTOOLS" OFF)
CMAKE_DEPENDENT_OPTION(USE_XPRESS "Adds support for the XPRESS Solver" OFF "NOT SKIP_ORTOOLS" OFF)


#
# If project isn't system_advisor_model and SAM_SKIP_TOOLS=1,
# environment vars LK_LIB and LKD_LIB can be used to specify where to find those libraries
Expand All @@ -25,6 +37,16 @@ if(APPLE)
set(CMAKE_OSX_DEPLOYMENT_TARGET "12" CACHE STRING "Minimum OS X deployment version")
endif()

if (UNIX AND NOT CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER gcc)
set(CMAKE_CXX_COMPILER g++)
endif()
if(MSVC)
set(CMAKE_CXX_STANDARD 20)
else()
set(CMAKE_CXX_STANDARD 17)
endif()

if ( NOT APPLE)
set(CURL_DIR build_resources/libcurl_ssl_x64)
endif()
Expand All @@ -39,7 +61,6 @@ Project(sam_simulation_core VERSION 1.0.0 LANGUAGES CXX C)
#####################################################################################################################
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_CXX_STANDARD 11)

function(set_no_warnings target)
get_target_property(MAIN_CFLAGS ${target} COMPILE_FLAGS)
Expand Down Expand Up @@ -76,7 +97,11 @@ function(set_default_compile_options target)
set(MAIN_CFLAGS "")
endif()
set(MAIN_CFLAGS "${MAIN_CFLAGS} -D__64BIT__")
set_property(TARGET ${target} PROPERTY CXX_STANDARD 11)
if (MSVC)
set_property(TARGET ${target} PROPERTY CXX_STANDARD 20)
else()
set_property(TARGET ${target} PROPERTY CXX_STANDARD 17)
endif()
set_property(TARGET ${target} PROPERTY CXX_STANDARD_REQUIRED ON)
if(MSVC)
set(MAIN_CFLAGS "${MAIN_CFLAGS} /bigobj /MP")
Expand Down Expand Up @@ -120,7 +145,7 @@ function(set_tools_compile_options target)
if (APPLE)
set(MAIN_CFLAGS "${MAIN_CFLAGS} -D__WXOSX__")
endif()
set(MAIN_CFLAGS "${MAIN_CFLAGS} -Wall -Wno-deprecated -Wno-unknown-pragmas -Wno-overloaded-virtual -fno-common -std=c++11")
set(MAIN_CFLAGS "${MAIN_CFLAGS} -Wall -Wno-deprecated -Wno-unknown-pragmas -Wno-overloaded-virtual -fno-common")
set(MAIN_CFLAGS "${MAIN_CFLAGS} -DLK_USE_WXWIDGETS")
endif(MSVC)
set_target_properties(${target} PROPERTIES COMPILE_FLAGS ${MAIN_CFLAGS})
Expand Down Expand Up @@ -151,11 +176,11 @@ add_subdirectory(tcs)
add_subdirectory(ssc)

if (NOT SAM_SKIP_TOOLS)
add_subdirectory(sdktool)
add_subdirectory(sdktool)
endif()

if (NOT SAM_SKIP_TESTS)
add_subdirectory(test)
add_subdirectory(test)
endif()

if(CMAKE_BUILD_TYPE STREQUAL "Debug"
Expand Down
2 changes: 2 additions & 0 deletions code_attic/cmod_tcstrough_physical_csp_solver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#define _HAS_STD_BYTE 0

// Trough CSP - physical model
#include "core.h"
#include "tckernel.h"
Expand Down
2 changes: 2 additions & 0 deletions code_attic/cmod_trough_physical_iph_old.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#define _HAS_STD_BYTE 0

// Trough CSP - physical model
#include "core.h"
//#include "tckernel.h"
Expand Down
4 changes: 2 additions & 2 deletions lpsolve/colamd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -855,7 +855,7 @@ PRIVATE int clear_mark

PRIVATE void print_report
(
char *method,
const char *method,
int stats [COLAMD_STATS]
) ;

Expand Down Expand Up @@ -3051,7 +3051,7 @@ PRIVATE int clear_mark /* return the new value for tag_mark */

PRIVATE void print_report
(
char *method,
const char *method,
int stats [COLAMD_STATS]
)
{
Expand Down
Loading