Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/workflows/buildAllThirdPartyLibrariesExceptLLVMClang.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Build all third-party libraries except LLVM+Clang

on:
workflow_dispatch:

jobs:
build-all-third-party-libraries-except-llvm-clang:
name: Build all third-party libraries except LLVM+Clang
uses: ./.github/workflows/buildThirdPartyLibrary.yml
with:
third_party_library_name: ALL
15 changes: 11 additions & 4 deletions .github/workflows/buildThirdPartyLibrary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,16 @@ jobs:
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.arch }}
- name: Configure libOpenCOR (only when building LLVM+Clang)
- name: Configure libOpenCOR (for LLVM+Clang)
if: ${{ inputs.third_party_library_name == 'LLVMClang' }}
shell: bash
run: cmake -G Ninja -S . -B build -DBUILD_TYPE=${{ matrix.build_type }} -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_LLVMCLANG=OFF
- name: Configure libOpenCOR (only when NOT building LLVM+Clang)
if: ${{ inputs.third_party_library_name != 'LLVMClang' }}
- name: Configure libOpenCOR (for a specific third-party library except LLVM+Clang)
if: ${{ inputs.third_party_library_name != 'ALL' && inputs.third_party_library_name != 'LLVMClang' }}
run: cmake -G Ninja -S . -B build -DBUILD_TYPE=${{ matrix.build_type }} -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_${{ inputs.third_party_library_name }}=OFF
- name: Configure libOpenCOR (for all third-party libraries except LLVM+Clang)
if: ${{ inputs.third_party_library_name == 'ALL' }}
run: cmake -G Ninja -S . -B build -DBUILD_TYPE=${{ matrix.build_type }} -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_LIBCELLML=OFF -DPREBUILT_LIBCOMBINE=OFF -DPREBUILT_LIBCURL=OFF -DPREBUILT_LIBNUML=OFF -DPREBUILT_LIBSBML=OFF -DPREBUILT_LIBSEDML=OFF -DPREBUILT_LIBSSH2=OFF -DPREBUILT_LIBXML2=OFF -DPREBUILT_OPENSSL=OFF -DPREBUILT_SUNDIALS=OFF -DPREBUILT_ZIPPER=OFF -DPREBUILT_ZLIB=OFF
- name: Upload library artifact
if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -109,8 +112,12 @@ jobs:
cache_key: webassembly
- name: Install Emscripten
run: brew install emscripten
- name: Configure libOpenCOR
- name: Configure libOpenCOR (for a specific third-party library)
if: ${{ inputs.third_party_library_name != 'ALL' }}
run: cmake -G Ninja -S . -B build -DBUILD_TYPE=Release -DJAVASCRIPT_BINDINGS=ON -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_${{ inputs.third_party_library_name }}=OFF
- name: Configure libOpenCOR (for all third-party libraries except LLVM+Clang)
if: ${{ inputs.third_party_library_name == 'ALL' }}
run: cmake -G Ninja -S . -B build -DBUILD_TYPE=Release -DJAVASCRIPT_BINDINGS=ON -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_LIBCELLML=OFF -DPREBUILT_LIBCOMBINE=OFF -DPREBUILT_LIBCURL=OFF -DPREBUILT_LIBNUML=OFF -DPREBUILT_LIBSBML=OFF -DPREBUILT_LIBSEDML=OFF -DPREBUILT_LIBSSH2=OFF -DPREBUILT_LIBXML2=OFF -DPREBUILT_OPENSSL=OFF -DPREBUILT_SUNDIALS=OFF -DPREBUILT_ZIPPER=OFF -DPREBUILT_ZLIB=OFF
- name: Build WebAssembly
run: cmake --build build
- name: Upload WebAssembly artifact
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.20260529.0
0.20260529.1
2 changes: 1 addition & 1 deletion cmake/packaging/patch.in.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ file(READ ${CMAKE_FILE} FILE_CONTENTS)
# entry to those needed system libraries or remove the INTERFACE_LINK_LIBRARIES entry altogether.

if(WIN32)
string(REGEX REPLACE "INTERFACE_LINK_LIBRARIES[^\n]*\n" "INTERFACE_LINK_LIBRARIES \"$<LINK_ONLY:crypt32.lib>;$<LINK_ONLY:version.lib>;$<LINK_ONLY:wldap32.lib>;$<LINK_ONLY:ws2_32.lib>\"\n" FILE_CONTENTS "${FILE_CONTENTS}")
string(REGEX REPLACE "INTERFACE_LINK_LIBRARIES[^\n]*\n" "INTERFACE_LINK_LIBRARIES \"$<LINK_ONLY:bcrypt.lib>;$<LINK_ONLY:crypt32.lib>;$<LINK_ONLY:iphlpapi.lib>;$<LINK_ONLY:version.lib>;$<LINK_ONLY:wldap32.lib>;$<LINK_ONLY:ws2_32.lib>\"\n" FILE_CONTENTS "${FILE_CONTENTS}")
elseif(APPLE)
string(REGEX REPLACE "INTERFACE_LINK_LIBRARIES[^\n]*\n" "INTERFACE_LINK_LIBRARIES \"-framework CoreFoundation;-framework SystemConfiguration;$<LINK_ONLY:ldap>\"\n" FILE_CONTENTS "${FILE_CONTENTS}")
else()
Expand Down
20 changes: 12 additions & 8 deletions src/3rdparty/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ include(packages)

set(PACKAGES libCellML libCOMBINE libNuML libSBML libSEDML libxml2 LLVMClang SUNDIALS zipper zlib)

if(NOT EMSCRIPTEN)
if(EMSCRIPTEN OR ONLY_BUILD_JAVASCRIPT_THIRD_PARTY_LIBRARIES)
set(WASM_MODE TRUE)
endif()

if(NOT WASM_MODE)
list(APPEND PACKAGES libcurl libssh2 OpenSSL)
endif()

Expand Down Expand Up @@ -48,7 +52,7 @@ set(DEPENDENT_PACKAGES_TO_BUILD "" CACHE INTERNAL "Dependent packages to be buil

check_dependent_packages(libxml2 libCellML libSBML)

if(EMSCRIPTEN)
if(WASM_MODE)
check_dependent_packages(zlib libCellML libCOMBINE zipper)
else()
check_dependent_packages(OpenSSL libcurl libssh2)
Expand All @@ -58,7 +62,7 @@ endif()
check_dependent_packages(libSBML libCOMBINE libNuML libSEDML)
check_dependent_packages(libNuML libSEDML)

if(NOT EMSCRIPTEN)
if(NOT WASM_MODE)
check_dependent_packages(libssh2 libcurl)
endif()

Expand All @@ -77,7 +81,7 @@ endif()
check_required_packages(libSBML libxml2)
check_required_packages(libNuML libSBML)

if(NOT EMSCRIPTEN)
if(NOT WASM_MODE)
check_required_packages(libssh2 OpenSSL)
endif()

Expand All @@ -86,7 +90,7 @@ check_required_packages(zipper zlib)
check_required_packages(libCellML libxml2 zlib)
check_required_packages(libCOMBINE libSBML libxml2 zipper zlib)

if(NOT EMSCRIPTEN)
if(NOT WASM_MODE)
check_required_packages(libcurl libssh2 OpenSSL zlib)
endif()

Expand All @@ -106,7 +110,7 @@ list(SORT PACKAGES_TO_ADD)

add_package(libxml2)

if(NOT EMSCRIPTEN)
if(NOT WASM_MODE)
add_package(OpenSSL)
endif()

Expand All @@ -115,7 +119,7 @@ add_package(zlib)
add_package(libSBML) # Requires libxml2.
add_package(libNuML) # Requires libSBML.

if(NOT EMSCRIPTEN)
if(NOT WASM_MODE)
add_package(libssh2) # Requires OpenSSL and zlib.
endif()

Expand All @@ -126,7 +130,7 @@ add_package(zipper) # Requires zlib.
add_package(libCellML) # Requires libxml2 and zlib.
add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib.

if(NOT EMSCRIPTEN)
if(NOT WASM_MODE)
add_package(libcurl) # Requires libssh2, OpenSSL, and zlib.
endif()

Expand Down
20 changes: 10 additions & 10 deletions src/3rdparty/OpenSSL/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
# limitations under the License.

set(PACKAGE_NAME OpenSSL)
set(PACKAGE_VERSION 3.5.0)
set(PACKAGE_VERSION 3.5.6)
set(PACKAGE_REPOSITORY openssl)
set(RELEASE_TAG openssl-3.5.0)
set(RELEASE_TAG openssl-3.5.6)
set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME})

# Either retrieve or build our package.
Expand All @@ -26,42 +26,42 @@ if(LIBOPENCOR_PREBUILT_OPENSSL)
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
ac4440ae3dba3415322fc833bef87b8b4d1b082b)
1480b47efd53e2a84f5ecf34e007af01bf2b5d1c)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
cd571c829ce744dbfc82bb1998f4d566b289cf93)
c3a283735c3fd379b10f91a8fcab5b6bbd1b3b14)
endif()
else()
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
ed9489d5ed226ed79ac2d1042a4a22bcdc899a8c)
c123dc0705360eeadc4186608c041ba7c25cd34c)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
dec6518c275c9f72aeeea068328ac86f0b87fb82)
24ca17237784250e8e1a436a7675f087c5f94bf8)
endif()
endif()
elseif(APPLE)
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
67f37a19f38abf06220619074ee880ca63b4a804)
3b3a4e534bc0ca067b6c4ba20e16d4d7b3df5364)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
8c5d0afbbd2dfe2120502b728e8e5e9ff8f69ecc)
f03c6b2b4ffc795ae8cdb459a4ee19324c4c910b)
endif()
else()
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
934a9c39cd923b2466f83066952b17295b8dadf5)
5d413c062d210d51e2b8bc7d43b77e8551524035)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
cc6a2de4b58b0b717e0684534c17ba5c90e6e7ab)
505270e090d7eba089b553c5939801f3e468acd7)
endif()
endif()
else()
Expand Down
22 changes: 11 additions & 11 deletions src/3rdparty/SUNDIALS/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
# limitations under the License.

set(PACKAGE_NAME SUNDIALS)
set(PACKAGE_VERSION v7.3.0)
set(PACKAGE_VERSION v7.7.0)
set(PACKAGE_REPOSITORY sundials)
set(RELEASE_TAG v7.3.0)
set(RELEASE_TAG v7.7.0)
set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME})

# Either retrieve or build our package.
Expand All @@ -24,49 +24,49 @@ if(LIBOPENCOR_PREBUILT_SUNDIALS)
if(EMSCRIPTEN)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
3ce480076a375ac68b84e3a395805b1304f65ca3)
d51821a5f6edf151e72e53ad9edb700022e44b98)
else()
if(WIN32)
if(RELEASE_MODE)
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
6c3758026f18435d2ddba98ea6cdca03b720a905)
ea5e25fbe26a8f1309f9c9424e688abe626700c5)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
6bccea22078cac44357cb8c2c70138f1c68837fc)
9526d5b7723b31f77f8c68ed8a8e356ae7029503)
endif()
else()
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
0d62d71b789f05270852adb1b280711088304dfd)
a84a217438bd69c61ba7649ccf54ea3def6f0cdb)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
bed457c4b5430aa40a97fa2f403acba8648dadbe)
0ce0997d40fec38b3f2a6ecea7f39a29a66bef79)
endif()
endif()
elseif(APPLE)
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
23db2411afd00e339667c7d8761d12dfd43e7c1a)
0cfb4f6722c19acd12935b9d2a2f9dbea9e44cba)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
d889bfbf95f76518048523b0a59ca925f73b5b6b)
6e36a58950250682f16117715d780adb1a9588f5)
endif()
else()
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
6b736ecb5d7bac1f54e75b81f2b733c49fc654d7)
e4501231ad79082f46c031a34c2da1c50d6e7db3)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
d8e6b1ed20c2fa2557333e0c281e8e4ad622b09b)
68ca5feee035f3a958225fdaaea6bfab3bae7aa2)
endif()
endif()
endif()
Expand Down
35 changes: 23 additions & 12 deletions src/3rdparty/libSBML/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
# limitations under the License.

set(PACKAGE_NAME libSBML)
set(PACKAGE_VERSION 5.20.5)
set(PACKAGE_VERSION 5.21.0)
set(PACKAGE_REPOSITORY libsbml)
set(RELEASE_TAG v5.20.5)
set(RELEASE_TAG v5.21.0)
set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME})

# Either retrieve or build our package.
Expand All @@ -28,55 +28,66 @@ if(LIBOPENCOR_PREBUILT_LIBSBML)
if(EMSCRIPTEN)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
7af6669df81bb9ee61ddbca4970d46ae4dbabeee)
54f84ef32f6a70cb7cbe6ffc4251d7762ec3c755)
else()
if(WIN32)
if(RELEASE_MODE)
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
0ff9f19b3840bf61e7654b5d5cfbebf5af77b718)
27876adefeba2d0e38da978e6c425f7b303a42a6)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
a37af3f1fde2c1f8156e995be154a37eb368e85c)
ffc13b7e8a0e1ebf410579c09d80a212f4c69998)
endif()
else()
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
8ccc19c239357bebdd7e7e81a1e80449ee6d81d5)
c880538369168005bcd80daea453c7b32d95661e)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
e729dd13b6bb861644ba801903d9def7b6272f35)
d12c16ff4a2b8c667160ca8cb2378e332e089bb1)
endif()
endif()
elseif(APPLE)
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
052aa4d544d1e93cc4530fcfdec68b39879f4878)
b0fbee2b7a45a35b3cb6751352e56bfc8f111bba)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
3e0ea2ce2b20189e83aa85c1cc6a45200526875b)
f3199a109ee56ea2e467ee34c6aca824d63363bb)
endif()
else()
if(INTEL_MODE)
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
00358806e25d038071f620c04af8c052c06aafcc)
3c936c1696294b602aa39dad9a6a255866c2f9bd)
else()
retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION}
${PACKAGE_REPOSITORY} ${RELEASE_TAG}
6978faf32f2c04d30d4973ae01c83262ae6d4693)
762d5c39d46a55fc894522ba99ad53c22a3ea1b3)
endif()
endif()
endif()
elseif(NOT ONLY_BUILD_JAVASCRIPT_THIRD_PARTY_LIBRARIES)
# Build our package.

# libSBML's FindLIBXML.cmake unconditionally probes ZLIB. Pre-seed the ZLIB variables so that FindZLIB.cmake can
# succeed even when zlib is not available (on Windows and with Emscripten), while still keeping zlib disabled for
# libSBML itself.

set(ZLIB_ARGS
-DWITH_ZLIB=OFF
-DZLIB_FOUND=TRUE
-DZLIB_INCLUDE_DIR=${CMAKE_CURRENT_BINARY_DIR}
-DZLIB_LIBRARY=${CMAKE_CURRENT_BINARY_DIR}/zlib.not.used
)

build_package(${PACKAGE_NAME}
URL
https://github.com/opencor/${PACKAGE_REPOSITORY}/archive/refs/tags/${RELEASE_TAG}.tar.gz
Expand All @@ -91,7 +102,7 @@ elseif(NOT ONLY_BUILD_JAVASCRIPT_THIRD_PARTY_LIBRARIES)
-DWITH_BZIP2=OFF
-DWITH_CPP_NAMESPACE=ON
-DWITH_SWIG=OFF
-DWITH_ZLIB=OFF
${ZLIB_ARGS}
)

# Patch some of our CMake configuration files.
Expand Down
Loading
Loading