Skip to content

Commit 04fccd0

Browse files
committed
Merge branch 'develop' into 'main'
New GDX release 7.11.13 See merge request devel/gdx!101
2 parents 7c0b4ae + 52dd745 commit 04fccd0

143 files changed

Lines changed: 1707 additions & 848 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitlab-ci.yml

Lines changed: 66 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,9 @@ build-leg:
9797
- !reference [.get-gams]
9898
- !reference [.gams-folder-leg]
9999
- cp apifiles/* src/
100+
- test -d /cache/ccache && export CCACHE_DIR=/cache/ccache
100101
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF CMakeLists.txt
101-
- cmake --build . 2>&1 | tee build_log.txt
102+
- cmake --build . -- -j$(nproc) 2>&1 | tee build_log.txt
102103
- python3 ciscripts/report_for_log.py gcc build_log.txt warnings.xml
103104
- mv libgdx-static.a libgdx-linux.a
104105
- mkdir -p ./build
@@ -121,15 +122,41 @@ build-debug-leg:
121122
- !reference [.get-gams]
122123
- !reference [.gams-folder-leg]
123124
- cp apifiles/* src/
125+
- test -d /cache/ccache && export CCACHE_DIR=/cache/ccache
124126
- cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF CMakeLists.txt
125-
- cmake --build . 2>&1
127+
- cmake --build . -- -j$(nproc) 2>&1
126128
- mv gdxtest gdxtest_dbg
127129
needs: [fetch-ci-scripts,apigenerator]
128130
artifacts:
129131
name: gdx-debug-leg
130132
paths: [gdxtest_dbg]
131133
expire_in: 2 hours
132134

135+
build-lag:
136+
stage: build
137+
tags: [linux-arm64]
138+
image:
139+
name: $MACHINES_CONTAINER_REG/lag/builder-devel:latest
140+
entrypoint: [""]
141+
script:
142+
- !reference [.get-gams]
143+
- !reference [.gams-folder-leg]
144+
- cp apifiles/* src/
145+
- test -d /cache/ccache && export CCACHE_DIR=/cache/ccache
146+
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF CMakeLists.txt
147+
- cmake --build . -- -j$(nproc) 2>&1 | tee build_log.txt
148+
- python3 ciscripts/report_for_log.py gcc build_log.txt warnings.xml
149+
- mv libgdx-static.a libgdx-linux.a
150+
- mkdir -p ./build
151+
- mv {gdxdump,gdxdiff,gdxmerge} ./build
152+
needs: [fetch-ci-scripts,apigenerator]
153+
artifacts:
154+
name: gdx-lag
155+
paths: [gdxtest,gdxwraptest,libgdxcclib64.so,libgdx-linux.a,build]
156+
expire_in: 2 hours
157+
reports:
158+
junit: warnings.xml
159+
133160
build-deg:
134161
stage: build
135162
tags: [macos]
@@ -138,7 +165,7 @@ build-deg:
138165
- !reference [.gams-folder-deg]
139166
- cp apifiles/* src/
140167
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF -DCMAKE_CXX_COMPILER=clang++ CMakeLists.txt
141-
- cmake --build . 2>&1 | tee build_log.txt
168+
- cmake --build . -- -j$(sysctl -n hw.ncpu) 2>&1 | tee build_log.txt
142169
- python3 ciscripts/report_for_log.py clang build_log.txt warnings.xml
143170
- mv libgdx-static.a libgdx-macos.a
144171
- mkdir -p ./build
@@ -161,7 +188,7 @@ build-dac:
161188
- mv libgdx-macos.a libgdx-macos-deg.a
162189
- cp apifiles/* src/
163190
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF -DCMAKE_CXX_COMPILER=clang++ CMakeLists.txt
164-
- cmake --build . 2>&1 | tee build_log.txt
191+
- cmake --build . -- -j$(sysctl -n hw.ncpu) 2>&1 | tee build_log.txt
165192
- python3 ciscripts/report_for_log.py clang build_log.txt warnings.xml
166193
- mv libgdxcclib64.dylib libgdxcclib64_dac.dylib
167194
- mv libgdx-static.a libgdx-macos-dac.a
@@ -186,13 +213,14 @@ build-wei:
186213
- !reference [.get-gams-wei]
187214
- !reference [.gams-folder-wei]
188215
- cp apifiles/* src/
189-
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF CMakeLists.txt
190-
- cmake --build . --config Release -- -m | Tee-Object -FilePath 'build_log.txt'
216+
- $env:SCCACHE_DIR="C:\Cache\sccache"
217+
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF -G Ninja CMakeLists.txt
218+
- cmake --build . --config Release 2>&1 | Tee-Object -FilePath 'build_log.txt'
191219
- python ciscripts/report_for_log.py msvc build_log.txt warnings.xml
192220
needs: [fetch-ci-scripts,apigenerator]
193221
artifacts:
194222
name: gdx-wei
195-
paths: [Release]
223+
paths: [gdx*.exe,xp_*.exe,gdx*.lib,gdx*.dll]
196224
expire_in: 2 hours
197225
reports:
198226
junit: warnings.xml
@@ -221,14 +249,34 @@ test-leg:
221249
- !reference [ .get-gams ]
222250
- !reference [ .gams-folder-leg ]
223251
- GAMS_PATH=/cache/gams-installs/`cat gams_folder_leg.txt`/
224-
- PATH=$GAMS_PATH:$PATH LD_LIBRARY_PATH="$GAMS_PATH" GMSPYTHONLIB="$GAMS_PATH/GMSPython/lib/libpython3.12.so" ./gdxtest --reporters=junit --out=doctest_results_linux.xml
225-
- LD_LIBRARY_PATH=`pwd` ./gdxwraptest --reporters=junit --out=doctest_results_wrap_linux.xml
252+
- PATH=$GAMS_PATH:$PATH LD_LIBRARY_PATH="$GAMS_PATH" GMSPYTHONLIB="$GAMS_PATH/GMSPython/lib/libpython3.12.so" ./gdxtest --reporters=junit --out=doctest_results_leg.xml
253+
- LD_LIBRARY_PATH=`pwd` ./gdxwraptest --reporters=junit --out=doctest_results_wrap_leg.xml
254+
artifacts:
255+
name: unittest-results-leg
256+
paths: [./*.xml]
257+
expire_in: 2 hours
258+
reports:
259+
junit: doctest_results_*leg.xml
260+
261+
test-lag:
262+
stage: test
263+
tags: [linux-arm64]
264+
image:
265+
name: $MACHINES_CONTAINER_REG/lag/builder-devel:latest
266+
entrypoint: [""]
267+
needs: [fetch-ci-scripts,build-lag]
268+
script:
269+
- !reference [ .get-gams ]
270+
- !reference [ .gams-folder-leg ]
271+
- GAMS_PATH=/cache/gams-installs/`cat gams_folder_leg.txt`/
272+
- PATH=$GAMS_PATH:$PATH LD_LIBRARY_PATH="$GAMS_PATH" GMSPYTHONLIB="$GAMS_PATH/GMSPython/lib/libpython3.12.so" ./gdxtest --reporters=junit --out=doctest_results_lag.xml
273+
- LD_LIBRARY_PATH=`pwd` ./gdxwraptest --reporters=junit --out=doctest_results_wrap_lag.xml
226274
artifacts:
227-
name: unittest-results-linux
275+
name: unittest-results-lag
228276
paths: [./*.xml]
229277
expire_in: 2 hours
230278
reports:
231-
junit: doctest_results_*linux.xml
279+
junit: doctest_results_*lag.xml
232280

233281
test-deg:
234282
stage: test
@@ -275,13 +323,13 @@ test-wei:
275323
- $GAMS_PATH = "C:\Cache\gams-installs\$gmsdirname"
276324
- $env:Path = "$GAMS_PATH;$GAMS_PATH\gbin;" + $env:Path
277325
- $env:GAMSDIR = "$GAMS_PATH;$GAMS_PATH\gbin"
278-
- ./Release/gdxtest --reporters=junit --out=doctest_results_windows.xml
279-
- ./Release/gdxwraptest --reporters=junit --out=doctest_results_wrap_windows.xml
326+
- ./gdxtest --reporters=junit --out=doctest_results_wei.xml
327+
- ./gdxwraptest --reporters=junit --out=doctest_results_wrap_wei.xml
280328
artifacts:
281-
name: unittest-results-windows
329+
name: unittest-results-wei
282330
paths: [./*.xml]
283331
reports:
284-
junit: doctest_results_*windows.xml
332+
junit: doctest_results_*wei.xml
285333

286334
#=======================================================================================================================
287335

@@ -451,7 +499,7 @@ doxygen-html:
451499
stage: docs
452500
tags: [linux]
453501
image:
454-
name: $MACHINES_CONTAINER_REG/leg/builder-devel:latest
502+
name: $MACHINES_CONTAINER_REG/leg/builder-devel:dist48
455503
entrypoint: [""]
456504
script:
457505
- python3 ci/readme_filter.py
@@ -493,8 +541,8 @@ deploy-gitlab-github:
493541
-d "${GDX_DESCRIPTION}"
494542
-n "${GDX_RELEASE_NAME}"
495543
- sleep 10s # make sure the release is available to reference
496-
- cp Release/gdxcclib64.dll apifiles/*.h apifiles/*.hpp apifiles/*.c apifiles/*.cpp .
497-
- cp Release/gdx-static.lib libgdx-windows.lib
544+
- cp gdxcclib64.dll apifiles/*.h apifiles/*.hpp apifiles/*.c apifiles/*.cpp .
545+
- cp gdx-static.lib libgdx-windows.lib
498546
- |
499547
for fn in libgdxcclib64.so gdxcclib64.dll libgdxcclib64.dylib libgdx-macos.a libgdx-linux.a libgdx-windows.lib gclgms.h gcmutex.h gdxcc.h gdxcc.c gdxcwrap.h gdxcclib.cpp
500548
do

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ endif ()
4343

4444
if (UNIX)
4545
# -fsanitize=undefined -fno-inline
46-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wreturn-type -Wmissing-declarations -Wno-unknown-pragmas -pedantic -Wextra -Wno-unused-parameter -Wno-deprecated-copy -Wno-cast-function-type")
46+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wreturn-type -Wmissing-declarations -Wno-unknown-pragmas -pedantic -Wextra -Wno-unused-parameter -Wno-deprecated-copy")
4747
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wconversion -funsigned-char") # aggressive signage warnings
4848
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DZ_HAVE_UNISTD_H")
4949
if (NOT APPLE AND NOT CMAKE_C_COMPILER_ID STREQUAL "Clang")
50-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat-truncation=0")
50+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat-truncation=0 -Wno-cast-function-type")
5151
endif ()
5252
# strictly handle alignment and structure padding around flexible arrays (only newer compilers)
5353
if ((CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16) OR

LICENSE

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
GAMS - General Algebraic Modeling System GDX API
22

3-
Copyright (c) 2017-2024 GAMS Software GmbH <support@gams.com>
4-
Copyright (c) 2017-2024 GAMS Development Corp. <support@gams.com>
3+
Copyright (c) 2017-2025 GAMS Software GmbH <support@gams.com>
4+
Copyright (c) 2017-2025 GAMS Development Corp. <support@gams.com>
55

66
Permission is hereby granted, free of charge, to any person obtaining a copy
77
of this software and associated documentation files (the "Software"), to deal

changelog.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
---
2+
- 7.11.13:
3+
- Fixed the processing of commands via a text file (`@filename`) in `gdxmerge`.
4+
- Corrected documentation of `SyNr` argument of `gdxSymbolGetDomain(X)`.
5+
- Updated copyright notices in source file headers.
6+
- Miscellaneous changes in shared infrastructure code triggered by other GAMS projects.
27
- 7.11.12:
38
- Added internal codes for arm64 architecture on Linux (previously only available for macOS)
49
- 7.11.11:

generated/gdxcppwrap.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/*
22
* GAMS - General Algebraic Modeling System GDX API
33
*
4-
* Copyright (c) 2017-2024 GAMS Software GmbH <support@gams.com>
5-
* Copyright (c) 2017-2024 GAMS Development Corp. <support@gams.com>
4+
* Copyright (c) 2017-2025 GAMS Software GmbH <support@gams.com>
5+
* Copyright (c) 2017-2025 GAMS Development Corp. <support@gams.com>
66
*
77
* Permission is hereby granted, free of charge, to any person obtaining a copy
88
* of this software and associated documentation files (the "Software"), to deal
@@ -27,7 +27,7 @@
2727

2828
#pragma once
2929

30-
// This is a drop-in replacement for gdx.h
30+
// This is a drop-in replacement for gdx.hpp
3131
// in order to make gxfiletests.cpp also useful
3232
// for testing the wrapped GDX DLL
3333

generated/gdxcwrap.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/*
22
* GAMS - General Algebraic Modeling System GDX API
33
*
4-
* Copyright (c) 2017-2024 GAMS Software GmbH <support@gams.com>
5-
* Copyright (c) 2017-2024 GAMS Development Corp. <support@gams.com>
4+
* Copyright (c) 2017-2025 GAMS Software GmbH <support@gams.com>
5+
* Copyright (c) 2017-2025 GAMS Development Corp. <support@gams.com>
66
*
77
* Permission is hereby granted, free of charge, to any person obtaining a copy
88
* of this software and associated documentation files (the "Software"), to deal
@@ -27,7 +27,7 @@
2727

2828
#pragma once
2929

30-
#include "gdx.hpp" // for TGXFileObj, DLLLoadPath, TDataStoreProc_t, TDat...
30+
#include "gdx.hpp" // for TGXFileObj, DLLLoadPath, TDataStoreProc_t, TDat...
3131
#include <algorithm>// for min
3232
#include <cassert> // for assert
3333
#include <cstring> // for memcpy

src/examples/xp_associative.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
*
33
* GAMS - General Algebraic Modeling System C++ API
44
*
5-
* Copyright (c) 2017-2024 GAMS Software GmbH <support@gams.com>
6-
* Copyright (c) 2017-2024 GAMS Development Corp. <support@gams.com>
5+
* Copyright (c) 2017-2025 GAMS Software GmbH <support@gams.com>
6+
* Copyright (c) 2017-2025 GAMS Development Corp. <support@gams.com>
77
*
88
* Permission is hereby granted, free of charge, to any person obtaining a copy
99
* of this software and associated documentation files (the "Software"), to deal

src/examples/xp_associative_vec.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
*
33
* GAMS - General Algebraic Modeling System C++ API
44
*
5-
* Copyright (c) 2017-2024 GAMS Software GmbH <support@gams.com>
6-
* Copyright (c) 2017-2024 GAMS Development Corp. <support@gams.com>
5+
* Copyright (c) 2017-2025 GAMS Software GmbH <support@gams.com>
6+
* Copyright (c) 2017-2025 GAMS Development Corp. <support@gams.com>
77
*
88
* Permission is hereby granted, free of charge, to any person obtaining a copy
99
* of this software and associated documentation files (the "Software"), to deal

src/examples/xp_dataWrite.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
*
33
* GAMS - General Algebraic Modeling System C++ API
44
*
5-
* Copyright (c) 2017-2024 GAMS Software GmbH <support@gams.com>
6-
* Copyright (c) 2017-2024 GAMS Development Corp. <support@gams.com>
5+
* Copyright (c) 2017-2025 GAMS Software GmbH <support@gams.com>
6+
* Copyright (c) 2017-2025 GAMS Development Corp. <support@gams.com>
77
*
88
* Permission is hereby granted, free of charge, to any person obtaining a copy
99
* of this software and associated documentation files (the "Software"), to deal

src/examples/xp_example1.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
*
33
* GAMS - General Algebraic Modeling System C++ API
44
*
5-
* Copyright (c) 2017-2024 GAMS Software GmbH <support@gams.com>
6-
* Copyright (c) 2017-2024 GAMS Development Corp. <support@gams.com>
5+
* Copyright (c) 2017-2025 GAMS Software GmbH <support@gams.com>
6+
* Copyright (c) 2017-2025 GAMS Development Corp. <support@gams.com>
77
*
88
* Permission is hereby granted, free of charge, to any person obtaining a copy
99
* of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)