From f3f374d2532415c50ea96f9bc4628970e10a00c0 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 10:34:27 +1300 Subject: [PATCH 01/40] CMake: (eventually) return if we sent some errors. --- CMakeLists.txt | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index a4dba77d1..0076657a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,6 +95,8 @@ else() set(LIBOPENCOR_CODE_ANALYSIS ${CODE_ANALYSIS} CACHE BOOL "${LIBOPENCOR_CODE_ANALYSIS_DOCSTRING}" FORCE) elseif(CODE_ANALYSIS) message(SEND_ERROR "${CODE_ANALYSIS_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(CODE_ANALYSIS CACHE) @@ -110,6 +112,8 @@ else() set(LIBOPENCOR_CODE_COVERAGE ${CODE_COVERAGE} CACHE BOOL "${LIBOPENCOR_CODE_COVERAGE_DOCSTRING}" FORCE) elseif(CODE_COVERAGE) message(SEND_ERROR "${CODE_COVERAGE_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(CODE_COVERAGE CACHE) @@ -125,6 +129,8 @@ else() set(LIBOPENCOR_COMPILER_CACHING ${COMPILER_CACHING} CACHE BOOL "${LIBOPENCOR_COMPILER_CACHING_DOCSTRING}" FORCE) elseif(COMPILER_CACHING) message(SEND_ERROR "${COMPILER_CACHING_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(COMPILER_CACHING CACHE) @@ -140,6 +146,8 @@ else() set(LIBOPENCOR_DOCUMENTATION ${DOCUMENTATION} CACHE BOOL "${LIBOPENCOR_DOCUMENTATION_DOCSTRING}" FORCE) elseif(DOCUMENTATION) message(SEND_ERROR "${DOCUMENTATION_AVAILABLE_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(DOCUMENTATION CACHE) @@ -173,6 +181,8 @@ else() set(LIBOPENCOR_JAVASCRIPT_BINDINGS ${JAVASCRIPT_BINDINGS} CACHE BOOL "${LIBOPENCOR_JAVASCRIPT_BINDINGS_DOCSTRING}" FORCE) elseif(JAVASCRIPT_BINDINGS) message(SEND_ERROR "${JAVASCRIPT_BINDINGS_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(JAVASCRIPT_BINDINGS CACHE) @@ -189,6 +199,8 @@ else() set(LIBOPENCOR_JAVASCRIPT_UNIT_TESTING ${JAVASCRIPT_UNIT_TESTING} CACHE BOOL "${LIBOPENCOR_JAVASCRIPT_UNIT_TESTING_DOCSTRING}" FORCE) elseif(JAVASCRIPT_UNIT_TESTING) message(SEND_ERROR "${JAVASCRIPT_UNIT_TESTING_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(JAVASCRIPT_UNIT_TESTING CACHE) @@ -205,6 +217,8 @@ else() set(LIBOPENCOR_MEMORY_CHECKS ${MEMORY_CHECKS} CACHE BOOL "${LIBOPENCOR_MEMORY_CHECKS_DOCSTRING}" FORCE) elseif(MEMORY_CHECKS) message(SEND_ERROR "${MEMORY_CHECKS_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(MEMORY_CHECKS CACHE) @@ -363,6 +377,8 @@ else() set(LIBOPENCOR_PYTHON_BINDINGS ${PYTHON_BINDINGS} CACHE BOOL "${LIBOPENCOR_PYTHON_BINDINGS_DOCSTRING}" FORCE) elseif(PYTHON_BINDINGS) message(SEND_ERROR "${PYTHON_BINDINGS_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(PYTHON_BINDINGS CACHE) @@ -379,6 +395,8 @@ else() set(LIBOPENCOR_PYTHON_UNIT_TESTING ${PYTHON_UNIT_TESTING} CACHE BOOL "${LIBOPENCOR_PYTHON_UNIT_TESTING_DOCSTRING}" FORCE) elseif(PYTHON_UNIT_TESTING) message(SEND_ERROR "${PYTHON_UNIT_TESTING_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(PYTHON_UNIT_TESTING CACHE) @@ -441,32 +459,44 @@ else() if(LIBOPENCOR_CODE_COVERAGE) if(NOT LIBOPENCOR_SHARED_LIBS) message(SEND_ERROR "Configuration confusion: code coverage is requested which means that a static library cannot be requested.") + + set(SENT_ERRORS TRUE) endif() if(NOT LIBOPENCOR_UNIT_TESTING) message(SEND_ERROR "Configuration confusion: code coverage is requested which means that unit testing should also be requested.") + + set(SENT_ERRORS TRUE) endif() endif() if(LIBOPENCOR_MEMORY_CHECKS) if("${LIBOPENCOR_BUILD_TYPE}" STREQUAL "Release") message(SEND_ERROR "Configuration confusion: memory checks are requested which means that a release build cannot also be requested.") + + set(SENT_ERRORS TRUE) endif() if(NOT LIBOPENCOR_UNIT_TESTING) message(SEND_ERROR "Configuration confusion: memory checks are requested which means that unit testing should also be requested.") + + set(SENT_ERRORS TRUE) endif() endif() if(LIBOPENCOR_PYTHON_BINDINGS) if(LIBOPENCOR_SHARED_LIBS) message(SEND_ERROR "Configuration confusion: Python bindings are requested which means that a shared library cannot be requested.") + + set(SENT_ERRORS TRUE) endif() endif() if(LIBOPENCOR_PYTHON_UNIT_TESTING) if(NOT LIBOPENCOR_PYTHON_BINDINGS) message(SEND_ERROR "Configuration confusion: Python unit testing is requested which means that Python bindings should also be requested.") + + set(SENT_ERRORS TRUE) endif() endif() @@ -474,9 +504,15 @@ else() if( NOT "${LIBOPENCOR_TARGET_ARCHITECTURE}" STREQUAL "Intel" AND NOT "${LIBOPENCOR_TARGET_ARCHITECTURE}" STREQUAL "ARM") message(SEND_ERROR "Configuration error: unsupported target architecture (${LIBOPENCOR_TARGET_ARCHITECTURE}). Supported target architectures are Intel and ARM.") + + set(SENT_ERRORS TRUE) endif() endif() + if(SENT_ERRORS) + return() + endif() + # Determine whether we are building in release mode. # Note: this only makes sense if we are not in a multi-configuration mode, i.e. IS_MULTI_CONFIG is equal to FALSE, which # is likely to be the case when building a third-party library. From d90f58e40bcf1fc9dba189f7f61d8446b8a78b32 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 14:06:32 +1300 Subject: [PATCH 02/40] GHA: no need anymore to specify the version of the tools we need to retrieve. --- .github/workflows/ci.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33ebb6e87..373ada429 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -316,8 +316,6 @@ jobs: BUILDCACHE_COMPRESS_FORMAT: ZSTD BUILDCACHE_DEBUG: -1 BUILDCACHE_LOG_FILE: "" - DOXYGEN_VERSION: 1.9.3 - LLVMCLANG_VERSION: 18.1.8 steps: - name: Check out libOpenCOR uses: actions/checkout@v4 @@ -342,20 +340,20 @@ jobs: - name: Install Clang if: ${{ matrix.code_analysis == 'ON' }} run: | - wget https://github.com/opencor/gha/releases/download/gha/clang.${LLVMCLANG_VERSION}.linux.tar.gz -O - | tar -xz + wget https://github.com/opencor/gha/releases/download/gha/clang.tar.gz -O - | tar -xz sudo mv clang /usr/local/bin sudo cp /usr/local/bin/clang /usr/local/bin/clang++ - wget https://github.com/opencor/gha/releases/download/gha/clang-include.${LLVMCLANG_VERSION}.linux.tar.gz -O - | tar -xz + wget https://github.com/opencor/gha/releases/download/gha/clang-include.tar.gz -O - | tar -xz sudo mv include/* /usr/local/include - name: Install ClangFormat if: ${{ matrix.target == 'check_code_formatting' }} run: | - wget https://github.com/opencor/gha/releases/download/gha/clang-format.${LLVMCLANG_VERSION}.linux.tar.gz -O - | tar -xz + wget https://github.com/opencor/gha/releases/download/gha/clang-format.tar.gz -O - | tar -xz sudo mv clang-format /usr/local/bin - name: Install Clang-Tidy if: ${{ matrix.name == 'Code analysis' }} run: | - wget https://github.com/opencor/gha/releases/download/gha/clang-tidy.${LLVMCLANG_VERSION}.linux.tar.gz -O - | tar -xz + wget https://github.com/opencor/gha/releases/download/gha/clang-tidy.tar.gz -O - | tar -xz sudo mv clang-tidy /usr/local/bin - name: Install Emscripten if: ${{ matrix.javascript_unit_testing == 'ON' }} @@ -380,7 +378,7 @@ jobs: - name: Install Doxygen if: ${{ matrix.documentation == 'ON' }} run: | - wget https://github.com/opencor/gha/releases/download/gha/doxygen.${DOXYGEN_VERSION}.linux.tar.gz -O - | tar -xz + wget https://github.com/opencor/gha/releases/download/gha/doxygen.tar.gz -O - | tar -xz sudo mv doxygen /usr/local/bin - name: Configure libOpenCOR run: | From 62cb8ce28a6e6461506f7707963d9ae2f3927d5e Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 10:55:00 +1300 Subject: [PATCH 03/40] (Re)added ARM support on Windows and Linux. When it comes to LLVM+Clang, we would normally have reverted to version 14.0.3, but since then version 14.0.6 was released. So, we are "upgrading" to that version. (We will be able to further upgrade LLVM+Clang at some point.) --- .github/workflows/buildThirdPartyLibrary.yml | 51 +++++++++--- .github/workflows/cd.yml | 37 +++++++-- .github/workflows/ci.yml | 83 ++++++++++++++++++- cmake/common.cmake | 7 -- cmake/packages.cmake | 10 +-- src/3rdparty/LLVMClang/CMakeLists.txt | 81 +++++++++--------- src/3rdparty/LLVMClang/README.rst | 1 + src/3rdparty/LLVMClang/llvmbegin.h | 3 - .../LLVMClang/scripts/buildllvmclangtblgen | 19 +++++ src/3rdparty/OpenSSL/CMakeLists.txt | 54 +++++++++--- src/3rdparty/SUNDIALS/CMakeLists.txt | 36 ++++++-- src/3rdparty/libCOMBINE/CMakeLists.txt | 36 ++++++-- src/3rdparty/libCellML/CMakeLists.txt | 36 ++++++-- src/3rdparty/libNuML/CMakeLists.txt | 36 ++++++-- src/3rdparty/libSBML/CMakeLists.txt | 36 ++++++-- src/3rdparty/libSEDML/CMakeLists.txt | 36 ++++++-- src/3rdparty/libcurl/CMakeLists.txt | 36 ++++++-- src/3rdparty/libssh2/CMakeLists.txt | 36 ++++++-- src/3rdparty/libxml2/CMakeLists.txt | 36 ++++++-- src/3rdparty/zipper/CMakeLists.txt | 36 ++++++-- src/3rdparty/zlib/CMakeLists.txt | 36 ++++++-- src/misc/compiler.cpp | 6 +- tests/api/version/tests.cpp | 8 +- tests/bindings/python/test_version.py | 8 +- tests/misc/compiler/tests.cpp | 34 ++++---- 25 files changed, 584 insertions(+), 214 deletions(-) create mode 100644 src/3rdparty/LLVMClang/README.rst create mode 100644 src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen diff --git a/.github/workflows/buildThirdPartyLibrary.yml b/.github/workflows/buildThirdPartyLibrary.yml index 9d05e6e49..a4ca4d9ad 100644 --- a/.github/workflows/buildThirdPartyLibrary.yml +++ b/.github/workflows/buildThirdPartyLibrary.yml @@ -19,20 +19,29 @@ jobs: fail-fast: false matrix: include: - - name: 'Windows release' + - name: 'Windows release (Intel)' os: windows-latest + arch: amd64 build_type: Release - - name: 'Windows debug' + - name: 'Windows debug (Intel)' os: windows-latest + arch: amd64 build_type: Debug - - name: 'Linux' - os: ubuntu-20.04 - # Note: we must use ubuntu-20.04 rather than ubuntu-latest (i.e. ubuntu-22.04 at this stage). Indeed, - # Ubuntu 22.04's copy of glibc doesn't include libpthread anymore (see - # https://developers.redhat.com/articles/2021/12/17/why-glibc-234-removed-libpthread). Yet, to build - # our Python wheels on Linux, we have no choice but to use manylinux_2_28, which relies on a version - # of glibc with libpthread, hence getting various messages about __libc_single_threaded being - # undefined when trying to build our Python wheels using third-party libraries built on ubuntu-22.04. + - name: 'Windows release (ARM)' + os: windows-latest + arch: amd64_arm64 + build_type: Release + - name: 'Windows debug (ARM)' + os: windows-latest + arch: amd64_arm64 + build_type: Debug + - name: 'Linux (Intel)' + os: ubuntu-latest + build_type: Release + - name: 'Linux (ARM)' + os: ubuntu-latest + arch: arm + cmake_prereqs: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ build_type: Release - name: 'macOS (Intel)' os: macos-13 @@ -48,20 +57,40 @@ jobs: steps: - name: Check out libOpenCOR uses: actions/checkout@v4 + - name: Install ARM compiler + if: ${{ matrix.arch == 'arm' }} + run: | + sudo apt update + sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu - name: Install CMake and Ninja uses: lukka/get-cmake@latest - name: Install buildcache uses: cscouto/buildcache-action@v1 with: cache_key: libraries-${{ matrix.os }}-${{ matrix.shared_libs }} + - name: Configure MSVC (to build an Intel-based version of llvm-tblgen and clang-tblgen) + if: ${{ (runner.os == 'Windows') && (matrix.arch == 'amd64_arm64') }} + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: amd64 + - name: Build llvm-tblgen and clang-tblgen + if: ${{ (((runner.os == 'Windows') && (matrix.arch == 'amd64_arm64')) || ((runner.os == 'Linux') && (matrix.arch == 'arm'))) }} + shell: bash + run: | + source src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen ${{ runner.os == 'Windows' }} + echo "DLLVMCLANG_LLVM_TABLEGEN=$DLLVMCLANG_LLVM_TABLEGEN" >> $GITHUB_ENV + echo "DLLVMCLANG_CLANG_TABLEGEN=$DLLVMCLANG_CLANG_TABLEGEN" >> $GITHUB_ENV - name: Configure MSVC if: ${{ runner.os == 'Windows' }} uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ matrix.arch }} - name: Configure libOpenCOR + shell: bash run: | mkdir build cd build - ${{ matrix.cmake_prereqs }} cmake -G Ninja -DBUILD_TYPE=${{ matrix.build_type }} -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_${{ inputs.third_party_library_name }}=OFF .. + ${{ matrix.cmake_prereqs }} cmake -G Ninja -DBUILD_TYPE=${{ matrix.build_type }} -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_${{ inputs.third_party_library_name }}=OFF ${{ env.DLLVMCLANG_LLVM_TABLEGEN }} ${{ env.DLLVMCLANG_CLANG_TABLEGEN }} .. - name: Upload library artifact if: ${{ !startsWith(github.ref, 'refs/tags/v') }} uses: actions/upload-artifact@v4 diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 550154840..9c91708b8 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -15,18 +15,38 @@ jobs: fail-fast: false matrix: include: - - name: 'Windows static library' + - name: 'Windows static library (Intel)' os: windows-latest + arch: amd64 shared_libs: OFF - - name: 'Windows shared library' + - name: 'Windows shared library (Intel)' os: windows-latest + arch: amd64 shared_libs: ON - - name: 'Linux static library' + - name: 'Windows static library (ARM)' + os: windows-latest + arch: amd64_arm64 + shared_libs: OFF + - name: 'Windows shared library (ARM)' + os: windows-latest + arch: amd64_arm64 + shared_libs: ON + - name: 'Linux static library (Intel)' + os: ubuntu-latest + shared_libs: OFF + - name: 'Linux shared library (Intel)' + os: ubuntu-latest + shared_libs: ON + - name: 'Linux static library (ARM)' os: ubuntu-latest + arch: arm shared_libs: OFF - - name: 'Linux shared library' + context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ + - name: 'Linux shared library (ARM)' os: ubuntu-latest + arch: arm shared_libs: ON + context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ - name: 'macOS static library (Intel)' os: macos-13 shared_libs: OFF @@ -47,6 +67,11 @@ jobs: steps: - name: Check out libOpenCOR uses: actions/checkout@v4 + - name: Install ARM compiler + if: ${{ matrix.arch == 'arm' }} + run: | + sudo apt update + sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu - name: Install CMake and Ninja uses: lukka/get-cmake@latest - name: Install buildcache @@ -56,11 +81,13 @@ jobs: - name: Configure MSVC if: ${{ runner.os == 'Windows' }} uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ matrix.arch }} - name: Configure libOpenCOR run: | mkdir build cd build - cmake -G Ninja -DBUILD_TYPE=Release -DCODE_ANALYSIS=OFF -DCODE_COVERAGE=OFF -DDOCUMENTATION=OFF -DJAVASCRIPT_BINDINGS=OFF -DMEMORY_CHECKS=OFF -DPYTHON_BINDINGS=OFF -DPYTHON_UNIT_TESTING=OFF -DSHARED_LIBS=${{ matrix.shared_libs }} -DUNIT_TESTING=OFF .. + ${{ matrix.context }} cmake -G Ninja -DBUILD_TYPE=Release -DCODE_ANALYSIS=OFF -DCODE_COVERAGE=OFF -DDOCUMENTATION=OFF -DJAVASCRIPT_BINDINGS=OFF -DMEMORY_CHECKS=OFF -DPYTHON_BINDINGS=OFF -DPYTHON_UNIT_TESTING=OFF -DSHARED_LIBS=${{ matrix.shared_libs }} -DUNIT_TESTING=OFF .. - name: Build libOpenCOR run: | cd build diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 373ada429..78447f14d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,8 +13,9 @@ jobs: fail-fast: false matrix: include: - - name: 'Windows static library' + - name: 'Windows static library (Intel)' os: windows-latest + arch: amd64 build_type: Release code_analysis: OFF code_coverage: OFF @@ -28,8 +29,9 @@ jobs: unit_testing: ON target: unit_testing install_uninstall_and_package: ON - - name: 'Windows shared library' + - name: 'Windows shared library (Intel)' os: windows-latest + arch: amd64 build_type: Release code_analysis: OFF code_coverage: OFF @@ -43,7 +45,39 @@ jobs: unit_testing: ON target: unit_testing install_uninstall_and_package: ON - - name: 'Linux static library' + - name: 'Windows static library (ARM)' + os: windows-latest + arch: amd64_arm64 + build_type: Release + code_analysis: OFF + code_coverage: OFF + documentation: OFF + javascript_bindings: OFF + javascript_unit_testing: OFF + memory_checks: OFF + python_bindings: OFF + python_unit_testing: OFF + shared_libs: OFF + unit_testing: ON + target: unit_testing + install_uninstall_and_package: ON + - name: 'Windows shared library (ARM)' + os: windows-latest + arch: amd64_arm64 + build_type: Release + code_analysis: OFF + code_coverage: OFF + documentation: OFF + javascript_bindings: OFF + javascript_unit_testing: OFF + memory_checks: OFF + python_bindings: OFF + python_unit_testing: OFF + shared_libs: ON + unit_testing: ON + target: unit_testing + install_uninstall_and_package: ON + - name: 'Linux static library (Intel)' os: ubuntu-latest build_type: Release code_analysis: OFF @@ -58,7 +92,7 @@ jobs: unit_testing: ON target: unit_testing install_uninstall_and_package: ON - - name: 'Linux shared library' + - name: 'Linux shared library (Intel)' os: ubuntu-latest build_type: Release code_analysis: OFF @@ -73,6 +107,40 @@ jobs: unit_testing: ON target: unit_testing install_uninstall_and_package: ON + - name: 'Linux static library (ARM)' + os: ubuntu-latest + arch: arm + build_type: Release + code_analysis: OFF + code_coverage: OFF + documentation: OFF + javascript_bindings: OFF + javascript_unit_testing: OFF + memory_checks: OFF + python_bindings: OFF + python_unit_testing: OFF + shared_libs: OFF + unit_testing: ON + target: unit_testing + install_uninstall_and_package: ON + context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ + - name: 'Linux shared library (ARM)' + os: ubuntu-latest + arch: arm + build_type: Release + code_analysis: OFF + code_coverage: OFF + documentation: OFF + javascript_bindings: OFF + javascript_unit_testing: OFF + memory_checks: OFF + python_bindings: OFF + python_unit_testing: OFF + shared_libs: ON + unit_testing: ON + target: unit_testing + install_uninstall_and_package: ON + context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ - name: 'macOS static library (Intel)' os: macos-13 build_type: Release @@ -319,6 +387,11 @@ jobs: steps: - name: Check out libOpenCOR uses: actions/checkout@v4 + - name: Install ARM compiler + if: ${{ matrix.arch == 'arm' }} + run: | + sudo apt update + sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu - name: Install Python uses: actions/setup-python@v5 with: @@ -332,6 +405,8 @@ jobs: - name: Configure MSVC if: ${{ runner.os == 'Windows' }} uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ matrix.arch }} - name: Install LLVM if: ${{ matrix.code_coverage == 'ON' }} run: | diff --git a/cmake/common.cmake b/cmake/common.cmake index 2aa7b90a6..0774cebbf 100644 --- a/cmake/common.cmake +++ b/cmake/common.cmake @@ -63,13 +63,6 @@ function(configure_target TARGET) endif() endif() - # Make it possible to use LLVM+Clang 18+ when building using MSVC (see - # https://github.com/llvm/llvm-project/issues/86028). - - if(BUILDING_USING_MSVC) - target_compile_options(${TARGET} PRIVATE /Zc:preprocessor) - endif() - # Analyse the code. if(LIBOPENCOR_CODE_ANALYSIS) diff --git a/cmake/packages.cmake b/cmake/packages.cmake index 8a6d18b16..3cb096e4a 100644 --- a/cmake/packages.cmake +++ b/cmake/packages.cmake @@ -271,12 +271,10 @@ else() set(TARGET_PLATFORM_ARCHITECTURE linux) endif() - if(APPLE) - if("${LIBOPENCOR_TARGET_ARCHITECTURE}" STREQUAL "Intel") - set(TARGET_PLATFORM_ARCHITECTURE ${TARGET_PLATFORM_ARCHITECTURE}.intel) - else() - set(TARGET_PLATFORM_ARCHITECTURE ${TARGET_PLATFORM_ARCHITECTURE}.arm) - endif() + if("${LIBOPENCOR_TARGET_ARCHITECTURE}" STREQUAL "Intel") + set(TARGET_PLATFORM_ARCHITECTURE ${TARGET_PLATFORM_ARCHITECTURE}.intel) + else() + set(TARGET_PLATFORM_ARCHITECTURE ${TARGET_PLATFORM_ARCHITECTURE}.arm) endif() endif() diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index 1641adfa6..014f3bf4d 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -13,9 +13,9 @@ # limitations under the License. set(PACKAGE_NAME LLVMClang) -set(PACKAGE_VERSION 18.1.8) +set(PACKAGE_VERSION 14.0.6) set(PACKAGE_REPOSITORY llvm-project) -set(RELEASE_TAG llvmorg-18.1.8) +set(RELEASE_TAG llvmorg-14.0.6-libopencor) set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. @@ -23,28 +23,46 @@ set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) if(LIBOPENCOR_PREBUILT_LLVMCLANG) if(WIN32) if(RELEASE_MODE) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 4fbafa91e03650dc9510fed4e9767a5463ed1f6c) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + d08c329e031f2c8d5a91ade5a9c8b114c00cb8ab) + endif() + else() + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 82a5fe460af1a9880e168edfc07b9211d1243575) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 50b302f2df0e4ddd8342f5378430993b7d1ba537) + endif() + endif() + elseif(APPLE) + if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 843e3caf60ed5dffab9bd55326da195b6b850553) + 7691ef42824eddbfe63996fe7130af464b947200) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - bbdc5f37a97cdfb78748ee1f75d25f44ef24f707) + 476b2f1ad91bf75389fe2543db70236209abccdf) endif() - elseif(APPLE) + else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 9478d8f5446e19ba9a496cb72d4bc1ff0c31d6f5) + d0ddcc07b4e7530d98db862c7fccd562f7436260) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 519fee44fc83145bbbe7c027e5e78aa32a8bdbfa) + 25fe0235182221c14a897c0fe8e1d43041479ac8) endif() - else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5e8c850c5272cfb95b743a8c1141f71dcd15c7f9) endif() else() # Build our package. @@ -55,6 +73,14 @@ else() set(LLVM_TARGETS_TO_BUILD AArch64) endif() + if(LLVMCLANG_LLVM_TABLEGEN) + set(LLVM_TABLEGEN -DLLVM_TABLEGEN=${LLVMCLANG_LLVM_TABLEGEN}) + endif() + + if(LLVMCLANG_CLANG_TABLEGEN) + set(CLANG_TABLEGEN -DCLANG_TABLEGEN=${LLVMCLANG_CLANG_TABLEGEN}) + endif() + build_package(${PACKAGE_NAME} URL https://github.com/opencor/${PACKAGE_REPOSITORY}/archive/refs/tags/${RELEASE_TAG}.tar.gz @@ -65,9 +91,8 @@ else() -DCLANG_BUILD_TOOLS=OFF -DCLANG_ENABLE_ARCMT=OFF -DCLANG_ENABLE_STATIC_ANALYZER=OFF - -DCLANG_INCLUDE_DOCS=OFF - -DCLANG_INCLUDE_TESTS=OFF -DCLANG_PLUGIN_SUPPORT=OFF + ${CLANG_TABLEGEN} -DCLANG_TOOLING_BUILD_AST_INTROSPECTION=OFF -DCLANG_TOOL_HANDLE_CXX_BUILD=OFF -DCLANG_TOOL_HANDLE_LLVM_BUILD=OFF @@ -75,6 +100,7 @@ else() -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DLIBCLANG_BUILD_STATIC=ON -DLIBOPENCOR=ON + -DLLVM_BUILD_LLVM_C_DYLIB=OFF -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_RUNTIMES=OFF -DLLVM_BUILD_TOOLS=OFF @@ -83,29 +109,26 @@ else() -DLLVM_ENABLE_BACKTRACES=OFF -DLLVM_ENABLE_BINDINGS=OFF -DLLVM_ENABLE_CRASH_OVERRIDES=OFF - -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_LIBPFM=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_MODULE_DEBUGGING=OFF -DLLVM_ENABLE_OCAMLDOC=OFF -DLLVM_ENABLE_PEDANTIC=OFF - -DLLVM_ENABLE_PIC=ON -DLLVM_ENABLE_PLUGINS=OFF -DLLVM_ENABLE_PROJECTS=clang - -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_TERMINFO=OFF + -DLLVM_ENABLE_UNWIND_TABLES=OFF -DLLVM_ENABLE_WARNINGS=OFF -DLLVM_ENABLE_ZLIB=OFF - -DLLVM_ENABLE_ZSTD=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF - -DLLVM_INCLUDE_GO_TESTS=OFF -DLLVM_INCLUDE_RUNTIMES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=ON -DLLVM_INCLUDE_UTILS=OFF + ${LLVM_TABLEGEN} -DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS_TO_BUILD} ) @@ -162,7 +185,6 @@ set(LLVMCLANG_INCLUDE_DIR ${INSTALL_DIR}/include CACHE INTERNAL "${PACKAGE_NAME} set(LLVMCLANG_LIBRARIES clangAnalysis clangAnalysisFlowSensitive - clangAnalysisFlowSensitiveModels clangAPINotes clangAST clangASTMatchers @@ -174,7 +196,6 @@ set(LLVMCLANG_LIBRARIES clangDriver clangDynamicASTMatchers clangEdit - clangExtractAPI clangFormat clangFrontend clangFrontendTool @@ -190,12 +211,11 @@ set(LLVMCLANG_LIBRARIES clangStaticAnalyzerCheckers clangStaticAnalyzerCore clangStaticAnalyzerFrontend - clangSupport + clangTesting clangTooling clangToolingASTDiff clangToolingCore clangToolingInclusions - clangToolingInclusionsStdlib clangToolingRefactoring clangToolingSyntax clangTransformer @@ -211,44 +231,33 @@ set(LLVMCLANG_LIBRARIES LLVMCFGuard LLVMCFIVerify LLVMCodeGen - LLVMCodeGenTypes LLVMCore LLVMCoroutines LLVMCoverage - LLVMDebugInfoBTF LLVMDebugInfoCodeView LLVMDebuginfod LLVMDebugInfoDWARF LLVMDebugInfoGSYM - LLVMDebugInfoLogicalView LLVMDebugInfoMSF LLVMDebugInfoPDB LLVMDemangle LLVMDiff LLVMDlltoolDriver LLVMDWARFLinker - LLVMDWARFLinkerClassic - LLVMDWARFLinkerParallel LLVMDWP LLVMExecutionEngine LLVMExegesis LLVMExtensions LLVMFileCheck - LLVMFrontendDriver - LLVMFrontendHLSL - LLVMFrontendOffloading LLVMFrontendOpenACC LLVMFrontendOpenMP - LLVMFuzzerCLI LLVMFuzzMutate LLVMGlobalISel - LLVMHipStdPar LLVMInstCombine LLVMInstrumentation LLVMInterfaceStub LLVMInterpreter LLVMipo - LLVMIRPrinter LLVMIRReader LLVMJITLink LLVMLibDriver @@ -262,11 +271,9 @@ set(LLVMCLANG_LIBRARIES LLVMMCParser LLVMMIRParser LLVMObjCARCOpts - LLVMObjCopy LLVMObject LLVMObjectYAML LLVMOption - LLVMOrcDebugging LLVMOrcJIT LLVMOrcShared LLVMOrcTargetProcess @@ -279,15 +286,11 @@ set(LLVMCLANG_LIBRARIES LLVMSupport LLVMSymbolize LLVMTableGen - LLVMTableGenCommon LLVMTableGenGlobalISel LLVMTarget - LLVMTargetParser LLVMTextAPI - LLVMTextAPIBinaryReader LLVMTransformUtils LLVMVectorize - LLVMWindowsDriver LLVMWindowsManifest LLVMXRay ${EXTRA_LLVMCLANG_LIBRARIES} diff --git a/src/3rdparty/LLVMClang/README.rst b/src/3rdparty/LLVMClang/README.rst new file mode 100644 index 000000000..12aeb0dab --- /dev/null +++ b/src/3rdparty/LLVMClang/README.rst @@ -0,0 +1 @@ +Our copy of LLVM+Clang 14.0.6 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-14.0.6...opencor:llvm-project:llvmorg-14.0.6-libopencor to build and work correctly with libOpenCOR. diff --git a/src/3rdparty/LLVMClang/llvmbegin.h b/src/3rdparty/LLVMClang/llvmbegin.h index 65e860414..27fd8fe1b 100644 --- a/src/3rdparty/LLVMClang/llvmbegin.h +++ b/src/3rdparty/LLVMClang/llvmbegin.h @@ -16,7 +16,6 @@ limitations under the License. #if defined(BUILDING_USING_MSVC) # pragma warning(push) -# pragma warning(disable: 4003) # pragma warning(disable: 4100) # pragma warning(disable: 4127) # pragma warning(disable: 4146) @@ -26,7 +25,6 @@ limitations under the License. # pragma warning(disable: 4291) # pragma warning(disable: 4324) # pragma warning(disable: 4389) -# pragma warning(disable: 4456) # pragma warning(disable: 4458) # pragma warning(disable: 4459) # pragma warning(disable: 4624) @@ -71,7 +69,6 @@ limitations under the License. # pragma clang diagnostic ignored "-Wswitch-default" # pragma clang diagnostic ignored "-Wswitch-enum" # pragma clang diagnostic ignored "-Wtautological-type-limit-compare" -# pragma clang diagnostic ignored "-Wtautological-unsigned-zero-compare" # pragma clang diagnostic ignored "-Wundefined-func-template" # pragma clang diagnostic ignored "-Wunused-but-set-variable" # pragma clang diagnostic ignored "-Wunused-parameter" diff --git a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen new file mode 100644 index 000000000..04f489cd9 --- /dev/null +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -0,0 +1,19 @@ +#!/bin/sh + +RELEASE_TAG=llvmorg-14.0.6-libopencor + +curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/$RELEASE_TAG.zip -o llvm-project-$RELEASE_TAG.zip +unzip -qq llvm-project-$RELEASE_TAG.zip +\rm llvm-project-$RELEASE_TAG.zip + +cd llvm-project-$RELEASE_TAG + +cmake -G Ninja -S ./llvm -B build -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=clang +cmake --build build -t llvm-tblgen clang-tblgen + +if [ "$1" = "true" ]; then + EXTENSION=.exe +fi + +export DLLVMCLANG_LLVM_TABLEGEN=-DLLVMCLANG_LLVM_TABLEGEN=$PWD/build/bin/llvm-tblgen$EXTENSION +export DLLVMCLANG_CLANG_TABLEGEN=-DLLVMCLANG_CLANG_TABLEGEN=$PWD/build/bin/clang-tblgen$EXTENSION diff --git a/src/3rdparty/OpenSSL/CMakeLists.txt b/src/3rdparty/OpenSSL/CMakeLists.txt index d3c9533a4..e04f420e4 100644 --- a/src/3rdparty/OpenSSL/CMakeLists.txt +++ b/src/3rdparty/OpenSSL/CMakeLists.txt @@ -23,13 +23,25 @@ set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) if(LIBOPENCOR_PREBUILT_OPENSSL) if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 117fc350696f830cb82aafb95a47588f6434c177) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 117fc350696f830cb82aafb95a47588f6434c177) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 63abbd1d6540351d26af557a4a0bded041ca221b) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 7293afb0786724e349cbc14d81b36b3bc15201e5) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 7293afb0786724e349cbc14d81b36b3bc15201e5) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + e801d457e4e1eba429e3f13f624a08cd03cd1f1c) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -42,9 +54,15 @@ if(LIBOPENCOR_PREBUILT_OPENSSL) 22f22109d28cea6ea55681e48bdfd040cc1352db) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 85dc755b012accd22114b42ddaabb22ea246dd2a) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 85dc755b012accd22114b42ddaabb22ea246dd2a) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 0411e8ce55a452ea6b72f031f4b07b9dba6b98df) + endif() endif() else() # Build our package. @@ -57,9 +75,17 @@ else() list(APPEND CONFIG_OPTIONS no-asm) if(RELEASE_MODE) - set(PLATFORM VC-WIN64A) + if(INTEL_MODE) + set(PLATFORM VC-WIN64A) + else() + set(PLATFORM VC-WIN64-ARM) + endif() else() - set(PLATFORM debug-VC-WIN64A) + if(INTEL_MODE) + set(PLATFORM debug-VC-WIN64A) + else() + set(PLATFORM debug-VC-WIN64-ARM) + endif() endif() # Patch the generated makefile since it contains non-escaped paths that result in our build to fail. (Not sure @@ -82,7 +108,11 @@ else() list(APPEND CONFIG_OPTIONS "-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") else() - set(PLATFORM linux-x86_64) + if(INTEL_MODE) + set(PLATFORM linux-x86_64) + else() + set(PLATFORM linux-aarch64) + endif() list(APPEND CONFIG_OPTIONS "-Wa,--noexecstack") endif() diff --git a/src/3rdparty/SUNDIALS/CMakeLists.txt b/src/3rdparty/SUNDIALS/CMakeLists.txt index fb678f1ed..69ab28022 100644 --- a/src/3rdparty/SUNDIALS/CMakeLists.txt +++ b/src/3rdparty/SUNDIALS/CMakeLists.txt @@ -28,13 +28,25 @@ if(LIBOPENCOR_PREBUILT_SUNDIALS) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 519fd7c2133ed7efb666193028b50ac4f788f416) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 519fd7c2133ed7efb666193028b50ac4f788f416) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 59647bc79af40a528802941f6dce584fd1cbe50e) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 1bcd8ca9cea9b0d03f35b66058b53e1f06791d03) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 1bcd8ca9cea9b0d03f35b66058b53e1f06791d03) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + d9367c7fa4f33d8e2f9b1b1654a1766d26abaa60) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -47,9 +59,15 @@ if(LIBOPENCOR_PREBUILT_SUNDIALS) c54fd6934c2a72f99ba21dcb88e4d07f9b3e4d00) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3af6ee478c72261af012eb400fc1bd0e114c1727) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 3af6ee478c72261af012eb400fc1bd0e114c1727) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + bcaaad18087d6e4a002b3eda5f5c49eca7e255cc) + endif() endif() endif() else() diff --git a/src/3rdparty/libCOMBINE/CMakeLists.txt b/src/3rdparty/libCOMBINE/CMakeLists.txt index 2b7a0e992..653dea1fe 100644 --- a/src/3rdparty/libCOMBINE/CMakeLists.txt +++ b/src/3rdparty/libCOMBINE/CMakeLists.txt @@ -32,13 +32,25 @@ if(LIBOPENCOR_PREBUILT_LIBCOMBINE) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c4d636fa1427eb6bb702e1e94a1b7149efd2ffb8) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + c4d636fa1427eb6bb702e1e94a1b7149efd2ffb8) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 75f4c3c895dddce5b0523a5f8392bf2efdff7f67) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 6940a27fc80f5171072d7d3a0824e641811bc6b8) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 6940a27fc80f5171072d7d3a0824e641811bc6b8) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 41303bd3c6333aebfdf91571002520e6690cde77) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -51,9 +63,15 @@ if(LIBOPENCOR_PREBUILT_LIBCOMBINE) 1eb9641b388e060e99cf52da93f83f5e17a4d78e) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 2e0a1cd907d3fad09c20b8378e230ac10ba4a913) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 2e0a1cd907d3fad09c20b8378e230ac10ba4a913) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 9bce82e9a99759bbc27ebf265c54f50033d51af8) + endif() endif() endif() else() diff --git a/src/3rdparty/libCellML/CMakeLists.txt b/src/3rdparty/libCellML/CMakeLists.txt index 3b48ca62d..bc37102c5 100644 --- a/src/3rdparty/libCellML/CMakeLists.txt +++ b/src/3rdparty/libCellML/CMakeLists.txt @@ -38,13 +38,25 @@ if(LIBOPENCOR_PREBUILT_LIBCELLML) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 0299c00e0e61cd8f4332e094bda6d51b6a648016) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 0299c00e0e61cd8f4332e094bda6d51b6a648016) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 926f60f6861a3a29fb69e91ed830e7aa79125346) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f9e2e8d8c5e9b6352348c66922b5933cb5ad1b4c) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + f9e2e8d8c5e9b6352348c66922b5933cb5ad1b4c) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + cddaf4c78f18d9e8a47c794a2f0fa13cddc9f222) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -57,9 +69,15 @@ if(LIBOPENCOR_PREBUILT_LIBCELLML) 92394488b09c6589dcb302eca01a8ad5ee9ca715) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f46b5bb3600f4fed08d8667457d5c0c04be2b7cc) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + f46b5bb3600f4fed08d8667457d5c0c04be2b7cc) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + ffe67306d9096f232e5cb6c83243c57f53915b61) + endif() endif() endif() else() diff --git a/src/3rdparty/libNuML/CMakeLists.txt b/src/3rdparty/libNuML/CMakeLists.txt index d94d78f6f..a7211fd54 100644 --- a/src/3rdparty/libNuML/CMakeLists.txt +++ b/src/3rdparty/libNuML/CMakeLists.txt @@ -32,13 +32,25 @@ if(LIBOPENCOR_PREBUILT_LIBNUML) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c535ddf4307681b441ef9e6fcd896f3d945d91c9) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + c535ddf4307681b441ef9e6fcd896f3d945d91c9) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + e2c1e4b73bfb6a67c0a84a9295e7bbbe9ef05e77) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 9882c9681bbf5f2ce0d93e34594db5f98b47e0db) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 9882c9681bbf5f2ce0d93e34594db5f98b47e0db) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + eee56d12b1dcd31a8ba77da05263aac7aa9bf661) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -51,9 +63,15 @@ if(LIBOPENCOR_PREBUILT_LIBNUML) 5dcda318dcc3bf8e71e81230c883927a26c841ad) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5b4d707ed7f59a92f4b18c6db7c2cd2bedf9ab5f) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 5b4d707ed7f59a92f4b18c6db7c2cd2bedf9ab5f) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 4acdd314a5c90a1208fd725901b36918dea1add9) + endif() endif() endif() else() diff --git a/src/3rdparty/libSBML/CMakeLists.txt b/src/3rdparty/libSBML/CMakeLists.txt index e5278d655..aaa36c85e 100644 --- a/src/3rdparty/libSBML/CMakeLists.txt +++ b/src/3rdparty/libSBML/CMakeLists.txt @@ -32,13 +32,25 @@ if(LIBOPENCOR_PREBUILT_LIBSBML) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5a39f945e476794599d74071c285f5cd207b5f88) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 5a39f945e476794599d74071c285f5cd207b5f88) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 0851ffd1b2e78228fd8faaf997c1923398f2f19f) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d836d464e3ce7993c167e9181ca5f0421a6a10c6) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + d836d464e3ce7993c167e9181ca5f0421a6a10c6) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 7a05f3cd6684b7152f9863d9f6a13913af42793d) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -51,9 +63,15 @@ if(LIBOPENCOR_PREBUILT_LIBSBML) c6502328d20c918d5b5388a9fea8d1d7d26b75ab) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 074660baeb6430b4da8b058592937c8fc9a7351f) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 074660baeb6430b4da8b058592937c8fc9a7351f) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + f70f0b25a9f13fc1fbe398bf89cbfd03c31633b2) + endif() endif() endif() else() diff --git a/src/3rdparty/libSEDML/CMakeLists.txt b/src/3rdparty/libSEDML/CMakeLists.txt index e86280fbb..270d83835 100644 --- a/src/3rdparty/libSEDML/CMakeLists.txt +++ b/src/3rdparty/libSEDML/CMakeLists.txt @@ -32,13 +32,25 @@ if(LIBOPENCOR_PREBUILT_LIBSEDML) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 8d6be566b8c87b4b7cd83d8a3b67a32f45cd483e) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 8d6be566b8c87b4b7cd83d8a3b67a32f45cd483e) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + f501a31c487f82b243149528a8128238d639cb4f) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 199ede7b71d10a046aa00d62d201a1dea2bd4ca5) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 199ede7b71d10a046aa00d62d201a1dea2bd4ca5) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 7aec25c64059f11f34f4271c9f376cfb3cb89050) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -51,9 +63,15 @@ if(LIBOPENCOR_PREBUILT_LIBSEDML) 3da908437161d75bcd8e0cfdf010fb60aadaaa6b) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - ab77f3b89a85e7544c4c3f785ec0cb046c05678a) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + ab77f3b89a85e7544c4c3f785ec0cb046c05678a) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 14e3294cc84585c5c33f4494481d90555b23b3b7) + endif() endif() endif() else() diff --git a/src/3rdparty/libcurl/CMakeLists.txt b/src/3rdparty/libcurl/CMakeLists.txt index 552f94605..161693953 100644 --- a/src/3rdparty/libcurl/CMakeLists.txt +++ b/src/3rdparty/libcurl/CMakeLists.txt @@ -27,13 +27,25 @@ endif() if(LIBOPENCOR_PREBUILT_LIBCURL) if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d05d02ef482730c3a3d8886026aa2214d96f2e24) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + d05d02ef482730c3a3d8886026aa2214d96f2e24) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 110614df0c1c9f8c627b22a19bcb2a9ed52e86d7) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - db94afcfbfa6c99ad50caea67383e1d4c531406b) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + db94afcfbfa6c99ad50caea67383e1d4c531406b) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 158887aa551e1439e224a0a9763fd72f15756361) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -46,9 +58,15 @@ if(LIBOPENCOR_PREBUILT_LIBCURL) ec4cec188b6df415fa3e0367295b6792d4f42e90) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f8d6d68a90c37f383a7f5e6730b1d7ea54452ccd) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + f8d6d68a90c37f383a7f5e6730b1d7ea54452ccd) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 1d41aebf3040f0ae86845f4cac26b8f05e35abc1) + endif() endif() else() # Build our package. diff --git a/src/3rdparty/libssh2/CMakeLists.txt b/src/3rdparty/libssh2/CMakeLists.txt index 5519b5689..3ba348578 100644 --- a/src/3rdparty/libssh2/CMakeLists.txt +++ b/src/3rdparty/libssh2/CMakeLists.txt @@ -23,13 +23,25 @@ set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) if(LIBOPENCOR_PREBUILT_LIBSSH2) if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - b034aef740d10333d428ef3738cf9dcbf1319cdc) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + b034aef740d10333d428ef3738cf9dcbf1319cdc) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + d074e0a4ac949c7cfc4d74c56e7040fe25ee6332) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - fdb70ba76cc62673f8f80382b5c1504e5085fc7b) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + fdb70ba76cc62673f8f80382b5c1504e5085fc7b) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 6532912f33cf074616d3d9e18888643061449fab) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -42,9 +54,15 @@ if(LIBOPENCOR_PREBUILT_LIBSSH2) 91e84958df28389afeaf46f6432f44663bb147f1) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 8c5b3930100cb97ec118dc645fb1273f51140145) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 8c5b3930100cb97ec118dc645fb1273f51140145) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 19e3ffa73e95969fa13beb7f8a37fecf4d595b6b) + endif() endif() else() # Build our package. diff --git a/src/3rdparty/libxml2/CMakeLists.txt b/src/3rdparty/libxml2/CMakeLists.txt index 7346aa072..9e01c852f 100644 --- a/src/3rdparty/libxml2/CMakeLists.txt +++ b/src/3rdparty/libxml2/CMakeLists.txt @@ -28,13 +28,25 @@ if(LIBOPENCOR_PREBUILT_LIBXML2) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 80441434833bfe74d0b105ffb0e90e3d548e93dd) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 80441434833bfe74d0b105ffb0e90e3d548e93dd) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 3f25822e6063a0eed1bf1229f1bccab5e6b1bf3f) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - bd4a6823a96ccbb982b5442e8b2dcdfaad4f1d43) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + bd4a6823a96ccbb982b5442e8b2dcdfaad4f1d43) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 907f061cf35afba3133daa47336d7b65292cfcaf) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -47,9 +59,15 @@ if(LIBOPENCOR_PREBUILT_LIBXML2) 54871ea6e95629c81eb9a041281c3ab86e79d914) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - b17c6aca3f0563ccf0abffb6e1bb645c2fbf9729) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + b17c6aca3f0563ccf0abffb6e1bb645c2fbf9729) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 45f31d7ddad7784978fec9753506cb504d81d4c5) + endif() endif() endif() else() diff --git a/src/3rdparty/zipper/CMakeLists.txt b/src/3rdparty/zipper/CMakeLists.txt index d049abf7f..2d6f3825d 100644 --- a/src/3rdparty/zipper/CMakeLists.txt +++ b/src/3rdparty/zipper/CMakeLists.txt @@ -28,13 +28,25 @@ if(LIBOPENCOR_PREBUILT_ZIPPER) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 1b29a495deef311a3029c9a84ed70624b566c3c4) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 1b29a495deef311a3029c9a84ed70624b566c3c4) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + a1e5c3f2955982439262ec8c65635485383f7855) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 0e25d62e63310b4a94ccf70fad7d5a237fc78c72) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 0e25d62e63310b4a94ccf70fad7d5a237fc78c72) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 813df4f923912d0245304ae56f3ffecb7167fcd3) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -47,9 +59,15 @@ if(LIBOPENCOR_PREBUILT_ZIPPER) 6cdbc63773163e668d7f14b2d67a6a09819e4203) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5faa7c54d6b0b5709957e3079c6bd0beb7d86167) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 5faa7c54d6b0b5709957e3079c6bd0beb7d86167) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 9e5e0c2b547c9ecf4bce20afea9a0f45cf2e8ae6) + endif() endif() endif() else() diff --git a/src/3rdparty/zlib/CMakeLists.txt b/src/3rdparty/zlib/CMakeLists.txt index 9387ee291..5f3e0ca59 100644 --- a/src/3rdparty/zlib/CMakeLists.txt +++ b/src/3rdparty/zlib/CMakeLists.txt @@ -28,13 +28,25 @@ if(LIBOPENCOR_PREBUILT_ZLIB) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c0452a635bd0206648219341ffb90b76441b8472) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + c0452a635bd0206648219341ffb90b76441b8472) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 922e6e43c90d457c9d5a73ff03d4e63abe3936e3) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3fac0e6cec7df429e0f41a79786f9bc699a4921e) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 3fac0e6cec7df429e0f41a79786f9bc699a4921e) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 3c6afd53f25338b4d8491cda6ef720f381950ba3) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -47,9 +59,15 @@ if(LIBOPENCOR_PREBUILT_ZLIB) 14656bd60de8b946ff42ad5cca4f42f82a74da0e) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 6d4be8632edaaa840cf0e36d1b0e382afb2b2c57) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 6d4be8632edaaa840cf0e36d1b0e382afb2b2c57) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 1d1079c4494e8ca56babf376d087b70dda99e87c) + endif() endif() endif() else() diff --git a/src/misc/compiler.cpp b/src/misc/compiler.cpp index b42cc5eda..340f3d1de 100644 --- a/src/misc/compiler.cpp +++ b/src/misc/compiler.cpp @@ -27,8 +27,8 @@ limitations under the License. #include "clangend.h" #include "llvmbegin.h" +#include "llvm/Support/Host.h" #include "llvm/Support/TargetSelect.h" -#include "llvm/TargetParser/Host.h" #include "llvm-c/Core.h" #include "llvmend.h" @@ -320,7 +320,7 @@ bool Compiler::Impl::addFunction(const std::string &pName, void *pFunction) // name, and function. const bool res = !mLljit->getMainJITDylib().define(llvm::orc::absoluteSymbols({ - {mLljit->mangleAndIntern(pName), {llvm::orc::ExecutorAddr::fromPtr(pFunction), llvm::JITSymbolFlags::Exported}}, + {mLljit->mangleAndIntern(pName), llvm::JITEvaluatedSymbol(llvm::pointerToJITTargetAddress(pFunction), llvm::JITSymbolFlags::Exported)}, })); #ifndef CODE_COVERAGE_ENABLED @@ -340,7 +340,7 @@ void *Compiler::Impl::function(const std::string &pName) const auto symbol = mLljit->lookup(pName); if (symbol) { - return reinterpret_cast(symbol->getValue()); // NOLINT + return reinterpret_cast(symbol->getAddress()); // NOLINT } return {}; diff --git a/tests/api/version/tests.cpp b/tests/api/version/tests.cpp index ec7948c5b..9cc7d43d6 100644 --- a/tests/api/version/tests.cpp +++ b/tests/api/version/tests.cpp @@ -26,8 +26,8 @@ TEST(VersionTest, libOpenCOR) TEST(VersionTest, Clang) { - EXPECT_EQ(0x180108U, libOpenCOR::clangVersion()); - EXPECT_EQ("18.1.8", libOpenCOR::clangVersionString()); + EXPECT_EQ(0x140006U, libOpenCOR::clangVersion()); + EXPECT_EQ("14.0.6", libOpenCOR::clangVersionString()); } TEST(VersionTest, libCellML) @@ -56,8 +56,8 @@ TEST(VersionTest, libSEDML) TEST(VersionTest, LLVM) { - EXPECT_EQ(0x180108U, libOpenCOR::llvmVersion()); - EXPECT_EQ("18.1.8", libOpenCOR::llvmVersionString()); + EXPECT_EQ(0x140006U, libOpenCOR::llvmVersion()); + EXPECT_EQ("14.0.6", libOpenCOR::llvmVersionString()); } TEST(VersionTest, SUNDIALS) diff --git a/tests/bindings/python/test_version.py b/tests/bindings/python/test_version.py index 58ac9a695..9606689eb 100644 --- a/tests/bindings/python/test_version.py +++ b/tests/bindings/python/test_version.py @@ -30,12 +30,12 @@ def test_version_string(): def test_clang_version(): assert isinstance(oc.clang_version(), int) - assert oc.clang_version() == 0x180108 + assert oc.clang_version() == 0x140006 def test_clang_version_string(): assert isinstance(oc.clang_version_string(), str) - assert oc.clang_version_string() == "18.1.8" + assert oc.clang_version_string() == "14.0.6" def test_libcellml_version(): @@ -80,12 +80,12 @@ def test_libsedml_version_string(): def test_llvm_version(): assert isinstance(oc.llvm_version(), int) - assert oc.llvm_version() == 0x180108 + assert oc.llvm_version() == 0x140006 def test_llvm_version_string(): assert isinstance(oc.llvm_version_string(), str) - assert oc.llvm_version_string() == "18.1.8" + assert oc.llvm_version_string() == "14.0.6" def test_sundials_version(): diff --git a/tests/misc/compiler/tests.cpp b/tests/misc/compiler/tests.cpp index 09f9b7620..81aedc091 100644 --- a/tests/misc/compiler/tests.cpp +++ b/tests/misc/compiler/tests.cpp @@ -39,7 +39,7 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_01 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Expected identifier or '(':\n 38 | void\n | ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected identifier or '(':\nvoid\n ^"}, }; EXPECT_FALSE(mCompiler->compile("void")); @@ -49,8 +49,8 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_02 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Variable has incomplete type 'void':\n 38 | void function\n | ^"}, - {libOpenCOR::Issue::Type::ERROR, "Expected ';' after top level declarator:\n 38 | void function\n | ^\n | ;"}, + {libOpenCOR::Issue::Type::ERROR, "Variable has incomplete type 'void':\nvoid function\n ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected ';' after top level declarator:\nvoid function\n ^\n ;"}, }; EXPECT_FALSE(mCompiler->compile("void function")); @@ -60,9 +60,9 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_03 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Expected parameter declarator:\n 38 | void function(\n | ^"}, - {libOpenCOR::Issue::Type::ERROR, "Expected ')' to match this '(':\n 38 | void function(\n | ^"}, - {libOpenCOR::Issue::Type::ERROR, "Expected function body after function declarator:\n 38 | void function(\n | ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected parameter declarator:\nvoid function(\n ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected ')' to match this '(':\nvoid function(\n ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected function body after function declarator:\nvoid function(\n ^"}, }; EXPECT_FALSE(mCompiler->compile("void function(")); @@ -72,7 +72,7 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_04 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Expected function body after function declarator:\n 38 | void function()\n | ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected function body after function declarator:\nvoid function()\n ^"}, }; EXPECT_FALSE(mCompiler->compile("void function()")); @@ -82,7 +82,7 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_05 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Expected '}':\n 38 | void function() {\n | ^\nto match this '{':\n 38 | void function() {\n | ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected '}':\nvoid function() {\n ^\nto match this '{':\nvoid function() {\n ^"}, }; EXPECT_FALSE(mCompiler->compile("void function() {")); @@ -101,7 +101,7 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_06 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Non-void function does not return a value:\n 38 | double function() {}\n | ^"}, + {libOpenCOR::Issue::Type::ERROR, "Non-void function does not return a value:\ndouble function() {}\n ^"}, }; EXPECT_FALSE(mCompiler->compile("double function() {}")); @@ -111,8 +111,8 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_07 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Expected expression:\n 38 | double function() { return\n | ^"}, - {libOpenCOR::Issue::Type::ERROR, "Expected '}' to match this '{':\n 38 | double function() { return\n | ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected expression:\ndouble function() { return\n ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected '}' to match this '{':\ndouble function() { return\n ^"}, }; EXPECT_FALSE(mCompiler->compile("double function() { return")); @@ -122,8 +122,8 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_08 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Expected ';' after return statement:\n 38 | double function() { return 3.0\n | ^\n | ;"}, - {libOpenCOR::Issue::Type::ERROR, "Expected '}' to match this '{':\n 38 | double function() { return 3.0\n | ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected ';' after return statement:\ndouble function() { return 3.0\n ^\n ;"}, + {libOpenCOR::Issue::Type::ERROR, "Expected '}' to match this '{':\ndouble function() { return 3.0\n ^"}, }; EXPECT_FALSE(mCompiler->compile("double function() { return 3.0")); @@ -133,7 +133,7 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_09 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Expected '}':\n 38 | double function() { return 3.0;\n | ^\nto match this '{':\n 38 | double function() { return 3.0;\n | ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected '}':\ndouble function() { return 3.0;\n ^\nto match this '{':\ndouble function() { return 3.0;\n ^"}, }; EXPECT_FALSE(mCompiler->compile("double function() { return 3.0;")); @@ -149,7 +149,7 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_10 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Expected identifier or '(':\n 38 | double .function() { return 3.0; }\n | ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected identifier or '(':\ndouble .function() { return 3.0; }\n ^"}, }; EXPECT_FALSE(mCompiler->compile("double .function() { return 3.0; }")); @@ -159,8 +159,8 @@ TEST_F(CompilerTest, basic) static const libOpenCOR::ExpectedIssues EXPECTED_ISSUES_11 = { {libOpenCOR::Issue::Type::ERROR, "The given code could not be compiled."}, - {libOpenCOR::Issue::Type::ERROR, "Expected expression:\n 38 | double function() { return 3.0+*-/a; }\n | ^"}, - {libOpenCOR::Issue::Type::ERROR, "Use of undeclared identifier 'a':\n 38 | double function() { return 3.0+*-/a; }\n | ^"}, + {libOpenCOR::Issue::Type::ERROR, "Expected expression:\ndouble function() { return 3.0+*-/a; }\n ^"}, + {libOpenCOR::Issue::Type::ERROR, "Use of undeclared identifier 'a':\ndouble function() { return 3.0+*-/a; }\n ^"}, }; EXPECT_FALSE(mCompiler->compile("double function() { return 3.0+*-/a; }")); From f887aca742ea3076d2be69901162e610da2adab6 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 10:56:21 +1300 Subject: [PATCH 04/40] Build LLVM+Clang 14.0.6. --- .github/workflows/LLVMClang.yml | 2 ++ src/3rdparty/CMakeLists.txt | 36 ++++++++++++++++----------------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/.github/workflows/LLVMClang.yml b/.github/workflows/LLVMClang.yml index c94350ec1..011129b40 100644 --- a/.github/workflows/LLVMClang.yml +++ b/.github/workflows/LLVMClang.yml @@ -1,6 +1,8 @@ name: LLVM+Clang on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 1d23d0607..804b78b9b 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -104,36 +104,36 @@ set(PACKAGES_TO_ADD ${REQUIRED_PACKAGES_TO_ADD} ${PACKAGES_TO_BUILD} ${DEPENDENT list(REMOVE_DUPLICATES PACKAGES_TO_ADD) list(SORT PACKAGES_TO_ADD) -add_package(libxml2) +# add_package(libxml2) -if(NOT EMSCRIPTEN) - add_package(OpenSSL) -endif() +# if(NOT EMSCRIPTEN) +# add_package(OpenSSL) +# endif() -add_package(zlib) +# add_package(zlib) -add_package(libSBML) # Requires libxml2. -add_package(libNuML) # Requires libSBML. +# add_package(libSBML) # Requires libxml2. +# add_package(libNuML) # Requires libSBML. -if(NOT EMSCRIPTEN) - add_package(libssh2) # Requires OpenSSL. -endif() +# if(NOT EMSCRIPTEN) +# add_package(libssh2) # Requires OpenSSL. +# endif() -add_package(zipper) # Requires zlib. +# add_package(zipper) # Requires zlib. # Required third-party libraries. -add_package(libCellML) # Requires libxml2 and zlib. -add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. +# add_package(libCellML) # Requires libxml2 and zlib. +# add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. -if(NOT EMSCRIPTEN) - add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. -endif() +# if(NOT EMSCRIPTEN) +# add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. +# endif() -add_package(libSEDML) # Requires libNuML and libSBML. +# add_package(libSEDML) # Requires libNuML and libSBML. if(NOT EMSCRIPTEN) add_package(LLVMClang) endif() -add_package(SUNDIALS) +# add_package(SUNDIALS) From 9806da044e308acea886e65e717bdcf040f295ab Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 15:00:25 +1300 Subject: [PATCH 05/40] LLVM+Clang: binaries for version 14.0.6. --- src/3rdparty/LLVMClang/CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index 014f3bf4d..7e9af0cfa 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -26,42 +26,42 @@ if(LIBOPENCOR_PREBUILT_LLVMCLANG) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 4fbafa91e03650dc9510fed4e9767a5463ed1f6c) + ed27236c72d868f8b1ce8182875d9a79781359ae) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d08c329e031f2c8d5a91ade5a9c8b114c00cb8ab) + 02c47edadc01c2eba45fb59b265c5b0b29e34b82) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 82a5fe460af1a9880e168edfc07b9211d1243575) + ca628a5552253fa1c2761c2e63da2943af34657a) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 50b302f2df0e4ddd8342f5378430993b7d1ba537) + a26fb6965b4fea70e7766e37e169a7d2dfd0445f) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 7691ef42824eddbfe63996fe7130af464b947200) + ebe4b27f8c22b04e1d928e0aa939adb23d00e86d) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 476b2f1ad91bf75389fe2543db70236209abccdf) + d8dd7fa7c63f7598123825e5d6c64a08a0fa02e7) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d0ddcc07b4e7530d98db862c7fccd562f7436260) + 0d6dee02589df7e0861904be4d27869d678ee297) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 25fe0235182221c14a897c0fe8e1d43041479ac8) + d0b16e05b880ab10117301eac942ba0399ebe8aa) endif() endif() else() From dc35f037bbde1e2c949125dddbe0f5216be3705a Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 15:01:35 +1300 Subject: [PATCH 06/40] LLVM+Clang: don't build it anymore. --- .github/workflows/LLVMClang.yml | 2 -- src/3rdparty/CMakeLists.txt | 36 ++++++++++++++++----------------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/.github/workflows/LLVMClang.yml b/.github/workflows/LLVMClang.yml index 011129b40..c94350ec1 100644 --- a/.github/workflows/LLVMClang.yml +++ b/.github/workflows/LLVMClang.yml @@ -1,8 +1,6 @@ name: LLVM+Clang on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 804b78b9b..1d23d0607 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -104,36 +104,36 @@ set(PACKAGES_TO_ADD ${REQUIRED_PACKAGES_TO_ADD} ${PACKAGES_TO_BUILD} ${DEPENDENT list(REMOVE_DUPLICATES PACKAGES_TO_ADD) list(SORT PACKAGES_TO_ADD) -# add_package(libxml2) +add_package(libxml2) -# if(NOT EMSCRIPTEN) -# add_package(OpenSSL) -# endif() +if(NOT EMSCRIPTEN) + add_package(OpenSSL) +endif() -# add_package(zlib) +add_package(zlib) -# add_package(libSBML) # Requires libxml2. -# add_package(libNuML) # Requires libSBML. +add_package(libSBML) # Requires libxml2. +add_package(libNuML) # Requires libSBML. -# if(NOT EMSCRIPTEN) -# add_package(libssh2) # Requires OpenSSL. -# endif() +if(NOT EMSCRIPTEN) + add_package(libssh2) # Requires OpenSSL. +endif() -# add_package(zipper) # Requires zlib. +add_package(zipper) # Requires zlib. # Required third-party libraries. -# add_package(libCellML) # Requires libxml2 and zlib. -# add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. +add_package(libCellML) # Requires libxml2 and zlib. +add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. -# if(NOT EMSCRIPTEN) -# add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. -# endif() +if(NOT EMSCRIPTEN) + add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. +endif() -# add_package(libSEDML) # Requires libNuML and libSBML. +add_package(libSEDML) # Requires libNuML and libSBML. if(NOT EMSCRIPTEN) add_package(LLVMClang) endif() -# add_package(SUNDIALS) +add_package(SUNDIALS) From 4563411a39eda693d37272f3eb454882039fbdb6 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 15:06:31 +1300 Subject: [PATCH 07/40] Build libxml2. --- .github/workflows/libxml2.yml | 2 ++ src/3rdparty/CMakeLists.txt | 40 +++++++++++++++++------------------ 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/.github/workflows/libxml2.yml b/.github/workflows/libxml2.yml index 5efefa2ff..d97c7d5f4 100644 --- a/.github/workflows/libxml2.yml +++ b/.github/workflows/libxml2.yml @@ -1,6 +1,8 @@ name: libxml2 on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 1d23d0607..4a195dccb 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -106,34 +106,34 @@ list(SORT PACKAGES_TO_ADD) add_package(libxml2) -if(NOT EMSCRIPTEN) - add_package(OpenSSL) -endif() +# if(NOT EMSCRIPTEN) +# add_package(OpenSSL) +# endif() -add_package(zlib) +# add_package(zlib) -add_package(libSBML) # Requires libxml2. -add_package(libNuML) # Requires libSBML. +# add_package(libSBML) # Requires libxml2. +# add_package(libNuML) # Requires libSBML. -if(NOT EMSCRIPTEN) - add_package(libssh2) # Requires OpenSSL. -endif() +# if(NOT EMSCRIPTEN) +# add_package(libssh2) # Requires OpenSSL. +# endif() -add_package(zipper) # Requires zlib. +# add_package(zipper) # Requires zlib. # Required third-party libraries. -add_package(libCellML) # Requires libxml2 and zlib. -add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. +# add_package(libCellML) # Requires libxml2 and zlib. +# add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. -if(NOT EMSCRIPTEN) - add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. -endif() +# if(NOT EMSCRIPTEN) +# add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. +# endif() -add_package(libSEDML) # Requires libNuML and libSBML. +# add_package(libSEDML) # Requires libNuML and libSBML. -if(NOT EMSCRIPTEN) - add_package(LLVMClang) -endif() +# if(NOT EMSCRIPTEN) +# add_package(LLVMClang) +# endif() -add_package(SUNDIALS) +# add_package(SUNDIALS) From c3afa8bfb11ed98b409f0a31579d6afa1108f9ee Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 15:06:51 +1300 Subject: [PATCH 08/40] Build OpenSSL. --- .github/workflows/OpenSSL.yml | 2 ++ src/3rdparty/CMakeLists.txt | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/OpenSSL.yml b/.github/workflows/OpenSSL.yml index 8a47911ff..9bd517018 100644 --- a/.github/workflows/OpenSSL.yml +++ b/.github/workflows/OpenSSL.yml @@ -1,6 +1,8 @@ name: OpenSSL on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 4a195dccb..52a5fc31c 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -104,11 +104,11 @@ set(PACKAGES_TO_ADD ${REQUIRED_PACKAGES_TO_ADD} ${PACKAGES_TO_BUILD} ${DEPENDENT list(REMOVE_DUPLICATES PACKAGES_TO_ADD) list(SORT PACKAGES_TO_ADD) -add_package(libxml2) +# add_package(libxml2) -# if(NOT EMSCRIPTEN) -# add_package(OpenSSL) -# endif() +if(NOT EMSCRIPTEN) + add_package(OpenSSL) +endif() # add_package(zlib) From 1d46c34e168ef6dc8d995476ccf7d580296b7890 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 15:07:07 +1300 Subject: [PATCH 09/40] Build zlib. --- .github/workflows/zlib.yml | 2 ++ src/3rdparty/CMakeLists.txt | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/zlib.yml b/.github/workflows/zlib.yml index 2dfb78806..e4391fcd7 100644 --- a/.github/workflows/zlib.yml +++ b/.github/workflows/zlib.yml @@ -1,6 +1,8 @@ name: zlib on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 52a5fc31c..d3fdaa631 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -106,11 +106,11 @@ list(SORT PACKAGES_TO_ADD) # add_package(libxml2) -if(NOT EMSCRIPTEN) - add_package(OpenSSL) -endif() +# if(NOT EMSCRIPTEN) +# add_package(OpenSSL) +# endif() -# add_package(zlib) +add_package(zlib) # add_package(libSBML) # Requires libxml2. # add_package(libNuML) # Requires libSBML. From 5649c32cb322129648ea8e8a76feb25dc78f8712 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 15:19:45 +1300 Subject: [PATCH 10/40] libxml2: binaries for version 2.9.14. --- src/3rdparty/libxml2/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/libxml2/CMakeLists.txt b/src/3rdparty/libxml2/CMakeLists.txt index 9e01c852f..a4f13dc83 100644 --- a/src/3rdparty/libxml2/CMakeLists.txt +++ b/src/3rdparty/libxml2/CMakeLists.txt @@ -24,49 +24,49 @@ if(LIBOPENCOR_PREBUILT_LIBXML2) if(EMSCRIPTEN) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f7e23e46dbedc671449f1d34297f333a6374faa6) + 5ae82526ebab3fd9c68d4b5c25373e1f92ad48a6) else() if(WIN32) if(RELEASE_MODE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 80441434833bfe74d0b105ffb0e90e3d548e93dd) + b1a6e4cae66caa28f8303cf2f27e12c33013d235) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3f25822e6063a0eed1bf1229f1bccab5e6b1bf3f) + 52ca269ef0fb9af83961a5cef430f7b6364048ae) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - bd4a6823a96ccbb982b5442e8b2dcdfaad4f1d43) + a97b5eae4fab32d8fae5950c26196df6bd36eeae) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 907f061cf35afba3133daa47336d7b65292cfcaf) + 99ebec63515098b62b1d9b1046ff3c1eac32016b) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5825d114236a309e9145f8f97560a24775464dba) + 8fe7f1506c8f8b97dafbf362c6cce76015d44414) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 54871ea6e95629c81eb9a041281c3ab86e79d914) + 77ad06e36d08f38d155c1336d514149cf01dd59c) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - b17c6aca3f0563ccf0abffb6e1bb645c2fbf9729) + cedbd7db06eef5d776155a572486640b50ad139f) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 45f31d7ddad7784978fec9753506cb504d81d4c5) + 32aa85e0fea4f2580597dfb42aaa277fe9cea091) endif() endif() endif() From cc4bd8b5a9875be9bbdbd9ad30abb1c22194508f Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 15:24:05 +1300 Subject: [PATCH 11/40] zlib: binaries for version 2.1.6. --- src/3rdparty/zlib/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/zlib/CMakeLists.txt b/src/3rdparty/zlib/CMakeLists.txt index 5f3e0ca59..ffcfe28ce 100644 --- a/src/3rdparty/zlib/CMakeLists.txt +++ b/src/3rdparty/zlib/CMakeLists.txt @@ -24,49 +24,49 @@ if(LIBOPENCOR_PREBUILT_ZLIB) if(EMSCRIPTEN) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - be6986ea91a9e61474321bc8eecfd4a18b2c48c5) + ee5c6e75b001a7527f5ba56934244eb8c255dfb3) else() if(WIN32) if(RELEASE_MODE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c0452a635bd0206648219341ffb90b76441b8472) + 216fd1466cbad56cd29c4d552f150c8faa206c04) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 922e6e43c90d457c9d5a73ff03d4e63abe3936e3) + b3cb8c7cdd9821be6bf12e409abce88ca5a19380) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3fac0e6cec7df429e0f41a79786f9bc699a4921e) + 37846b8137bb7ec5d49f19667aa084795ba099ab) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3c6afd53f25338b4d8491cda6ef720f381950ba3) + f7d9810c1d9060954d54753c633f723b592281af) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - cb8f7e83a9eab059b96360306e6459063509b5b2) + ea7937a62c9a9fb92362ca8ef2a40088f30a9499) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 14656bd60de8b946ff42ad5cca4f42f82a74da0e) + d6ebf32cdd8ec89b4c15223116e8c8b2a6fd3d68) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 6d4be8632edaaa840cf0e36d1b0e382afb2b2c57) + 866bd9e440f13a598d25a68f91afed3629cf05a5) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 1d1079c4494e8ca56babf376d087b70dda99e87c) + 198cb2c7b007002218baffeae3c6c5d7d8b31138) endif() endif() endif() From 86375e290d2f060d5fce1ad4f0340a2da0838dc1 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 16:13:24 +1300 Subject: [PATCH 12/40] Third-party libraries: only build llvm-tblgen and clang-tblgen when wanting to build LLVM+Clang on ARM. --- .github/workflows/buildThirdPartyLibrary.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/buildThirdPartyLibrary.yml b/.github/workflows/buildThirdPartyLibrary.yml index a4ca4d9ad..17eba1000 100644 --- a/.github/workflows/buildThirdPartyLibrary.yml +++ b/.github/workflows/buildThirdPartyLibrary.yml @@ -68,13 +68,13 @@ jobs: uses: cscouto/buildcache-action@v1 with: cache_key: libraries-${{ matrix.os }}-${{ matrix.shared_libs }} - - name: Configure MSVC (to build an Intel-based version of llvm-tblgen and clang-tblgen) - if: ${{ (runner.os == 'Windows') && (matrix.arch == 'amd64_arm64') }} + - name: Configure MSVC (to build an Intel-based version of llvm-tblgen and clang-tblgen; only when building LLVM+Clang on Windows ARM) + if: ${{ (inputs.third_party_library_name == 'LLVMClang') && (runner.os == 'Windows') && (matrix.arch == 'amd64_arm64') }} uses: ilammy/msvc-dev-cmd@v1 with: arch: amd64 - - name: Build llvm-tblgen and clang-tblgen - if: ${{ (((runner.os == 'Windows') && (matrix.arch == 'amd64_arm64')) || ((runner.os == 'Linux') && (matrix.arch == 'arm'))) }} + - name: Build llvm-tblgen and clang-tblgen (only when building LLVM+Clang on ARM) + if: ${{ (inputs.third_party_library_name == 'LLVMClang') && (((runner.os == 'Windows') && (matrix.arch == 'amd64_arm64')) || ((runner.os == 'Linux') && (matrix.arch == 'arm'))) }} shell: bash run: | source src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen ${{ runner.os == 'Windows' }} From 586bb3bada79b84300ae31949cac0ec9ddf2f055 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 16:19:09 +1300 Subject: [PATCH 13/40] Don't build libxml2 and zlib anymore. --- .github/workflows/libxml2.yml | 2 -- .github/workflows/zlib.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/.github/workflows/libxml2.yml b/.github/workflows/libxml2.yml index d97c7d5f4..5efefa2ff 100644 --- a/.github/workflows/libxml2.yml +++ b/.github/workflows/libxml2.yml @@ -1,8 +1,6 @@ name: libxml2 on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/.github/workflows/zlib.yml b/.github/workflows/zlib.yml index e4391fcd7..2dfb78806 100644 --- a/.github/workflows/zlib.yml +++ b/.github/workflows/zlib.yml @@ -1,8 +1,6 @@ name: zlib on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: From 675598852b7a550b3da24e1b1e8c7861866cbd4f Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 16:03:18 +1300 Subject: [PATCH 14/40] Build OpenSSL. --- .github/workflows/buildThirdPartyLibrary.yml | 13 ++++++++++--- src/3rdparty/CMakeLists.txt | 8 ++++---- src/3rdparty/OpenSSL/CMakeLists.txt | 12 ------------ 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/.github/workflows/buildThirdPartyLibrary.yml b/.github/workflows/buildThirdPartyLibrary.yml index 17eba1000..b497412f2 100644 --- a/.github/workflows/buildThirdPartyLibrary.yml +++ b/.github/workflows/buildThirdPartyLibrary.yml @@ -41,7 +41,7 @@ jobs: - name: 'Linux (ARM)' os: ubuntu-latest arch: arm - cmake_prereqs: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ + context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ build_type: Release - name: 'macOS (Intel)' os: macos-13 @@ -85,12 +85,19 @@ jobs: uses: ilammy/msvc-dev-cmd@v1 with: arch: ${{ matrix.arch }} - - name: Configure libOpenCOR + - name: Configure libOpenCOR (only when building LLVM+Clang) + if: ${{ inputs.third_party_library_name == 'LLVMClang' }} shell: bash run: | mkdir build cd build - ${{ matrix.cmake_prereqs }} cmake -G Ninja -DBUILD_TYPE=${{ matrix.build_type }} -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_${{ inputs.third_party_library_name }}=OFF ${{ env.DLLVMCLANG_LLVM_TABLEGEN }} ${{ env.DLLVMCLANG_CLANG_TABLEGEN }} .. + ${{ matrix.context }} cmake -G Ninja -DBUILD_TYPE=${{ matrix.build_type }} -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_LLVMCLANG=OFF ${{ env.DLLVMCLANG_LLVM_TABLEGEN }} ${{ env.DLLVMCLANG_CLANG_TABLEGEN }} .. + - name: Configure libOpenCOR (only when NOT building LLVM+Clang) + if: ${{ inputs.third_party_library_name != 'LLVMClang' }} + run: | + mkdir build + cd build + ${{ matrix.context }} cmake -G Ninja -DBUILD_TYPE=${{ matrix.build_type }} -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_${{ inputs.third_party_library_name }}=OFF .. - name: Upload library artifact if: ${{ !startsWith(github.ref, 'refs/tags/v') }} uses: actions/upload-artifact@v4 diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index d3fdaa631..52a5fc31c 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -106,11 +106,11 @@ list(SORT PACKAGES_TO_ADD) # add_package(libxml2) -# if(NOT EMSCRIPTEN) -# add_package(OpenSSL) -# endif() +if(NOT EMSCRIPTEN) + add_package(OpenSSL) +endif() -add_package(zlib) +# add_package(zlib) # add_package(libSBML) # Requires libxml2. # add_package(libNuML) # Requires libSBML. diff --git a/src/3rdparty/OpenSSL/CMakeLists.txt b/src/3rdparty/OpenSSL/CMakeLists.txt index e04f420e4..0b1fa9f5a 100644 --- a/src/3rdparty/OpenSSL/CMakeLists.txt +++ b/src/3rdparty/OpenSSL/CMakeLists.txt @@ -87,18 +87,6 @@ else() set(PLATFORM debug-VC-WIN64-ARM) endif() endif() - - # Patch the generated makefile since it contains non-escaped paths that result in our build to fail. (Not sure - # why this is the case, but that's the situation!) - - set(MAKEFILE ${CMAKE_CURRENT_BINARY_DIR}/build/${PACKAGE_NAME}-prefix/src/${PACKAGE_NAME}-build/makefile) - - set(PATCH_COMMANDS - COMMAND - ${PERL_EXECUTABLE} -pi -e "s/CC=[^\\\\n]*\\\\n/CC=cl\\\\n/" ${MAKEFILE} - COMMAND - ${PERL_EXECUTABLE} -pi -e "s/RC=[^\\\\n]*\\\\n/RC=rc\\\\n/" ${MAKEFILE} - ) elseif(APPLE) if(INTEL_MODE) set(PLATFORM darwin64-x86_64-cc) From 0383b897564f710576a68d3c4470da1fcc69e715 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 16:53:11 +1300 Subject: [PATCH 15/40] OpenSSL: binaries for version 3.0.14. --- src/3rdparty/OpenSSL/CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/3rdparty/OpenSSL/CMakeLists.txt b/src/3rdparty/OpenSSL/CMakeLists.txt index 0b1fa9f5a..5e776aec9 100644 --- a/src/3rdparty/OpenSSL/CMakeLists.txt +++ b/src/3rdparty/OpenSSL/CMakeLists.txt @@ -26,42 +26,42 @@ if(LIBOPENCOR_PREBUILT_OPENSSL) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 117fc350696f830cb82aafb95a47588f6434c177) + c46f9ca66d99d452698f9309927d63219972a089) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 63abbd1d6540351d26af557a4a0bded041ca221b) + b8b2de7684995a8c02c272e06031b70513793d6b) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 7293afb0786724e349cbc14d81b36b3bc15201e5) + b51022bad09ebc69618eb03f5c80a590564eb2c5) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - e801d457e4e1eba429e3f13f624a08cd03cd1f1c) + 369d4639814f3e76357e190e55dc0cb106dc535f) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5388837e3702b904b4d7b1a9891eda360537ec51) + 7660430004c42f49aa94905a4fd1fe22d51a10c8) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 22f22109d28cea6ea55681e48bdfd040cc1352db) + c3b59ffbbb56ce818b249a94f6efd72228e1aa40) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 85dc755b012accd22114b42ddaabb22ea246dd2a) + d5eaa89b18a7e7adce8b641488a6958827fba261) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 0411e8ce55a452ea6b72f031f4b07b9dba6b98df) + af12c894dc1767cae060d925893e777ecf1e439a) endif() endif() else() From 5051da7c953252599bc5aa7ef7fb003ceb1eb339 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 16:55:56 +1300 Subject: [PATCH 16/40] Build libSBML. --- .github/workflows/OpenSSL.yml | 2 -- .github/workflows/libSBML.yml | 2 ++ src/3rdparty/CMakeLists.txt | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/OpenSSL.yml b/.github/workflows/OpenSSL.yml index 9bd517018..8a47911ff 100644 --- a/.github/workflows/OpenSSL.yml +++ b/.github/workflows/OpenSSL.yml @@ -1,8 +1,6 @@ name: OpenSSL on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/.github/workflows/libSBML.yml b/.github/workflows/libSBML.yml index 26a3007ac..222be9634 100644 --- a/.github/workflows/libSBML.yml +++ b/.github/workflows/libSBML.yml @@ -1,6 +1,8 @@ name: libSBML on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 52a5fc31c..226128325 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -104,15 +104,15 @@ set(PACKAGES_TO_ADD ${REQUIRED_PACKAGES_TO_ADD} ${PACKAGES_TO_BUILD} ${DEPENDENT list(REMOVE_DUPLICATES PACKAGES_TO_ADD) list(SORT PACKAGES_TO_ADD) -# add_package(libxml2) +add_package(libxml2) if(NOT EMSCRIPTEN) add_package(OpenSSL) endif() -# add_package(zlib) +add_package(zlib) -# add_package(libSBML) # Requires libxml2. +add_package(libSBML) # Requires libxml2. # add_package(libNuML) # Requires libSBML. # if(NOT EMSCRIPTEN) From 9dd70fe6781b4cc46257694705e82b071410d1ab Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:10:12 +1300 Subject: [PATCH 17/40] libSBML: binaries for version 5.20.2. --- src/3rdparty/libSBML/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/libSBML/CMakeLists.txt b/src/3rdparty/libSBML/CMakeLists.txt index aaa36c85e..82580f973 100644 --- a/src/3rdparty/libSBML/CMakeLists.txt +++ b/src/3rdparty/libSBML/CMakeLists.txt @@ -28,49 +28,49 @@ if(LIBOPENCOR_PREBUILT_LIBSBML) if(EMSCRIPTEN) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - bfb94f4153e46be95166a06e7defcb4f9331a44d) + 835666b754839b676b4bb3700e02a51e4490d151) else() if(WIN32) if(RELEASE_MODE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5a39f945e476794599d74071c285f5cd207b5f88) + d3e6000f91f84645fcad33b2122d9b4498365993) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 0851ffd1b2e78228fd8faaf997c1923398f2f19f) + 723cc9ce5b3238a4f75d0edea92556160b6402e1) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d836d464e3ce7993c167e9181ca5f0421a6a10c6) + 7ed21fc3cb3c923c5ca179ea73ab674f92a96d4e) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 7a05f3cd6684b7152f9863d9f6a13913af42793d) + af78f4d80ad40213a34ced762e8dc55313e20547) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 18c6264060c5a9fd84cb38d8e4e5852c8ae17394) + abc0193d862fc3205f48d7b1aadd96c8f6ff4b8e) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c6502328d20c918d5b5388a9fea8d1d7d26b75ab) + 5b0670ffd48d394bed0840614446625bef597691) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 074660baeb6430b4da8b058592937c8fc9a7351f) + 391b675c4bf59d3443fdf018ce5c505317ca1872) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f70f0b25a9f13fc1fbe398bf89cbfd03c31633b2) + 40dd7ff95fe5178d245dca6376c62f5b144f0eac) endif() endif() endif() From 7df149dcac62f957b360dc4f70beef244833caed Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:11:47 +1300 Subject: [PATCH 18/40] Build libNuML. --- .github/workflows/libNuML.yml | 2 ++ .github/workflows/libSBML.yml | 2 -- src/3rdparty/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/libNuML.yml b/.github/workflows/libNuML.yml index ea21ecbf5..8bc2f4b66 100644 --- a/.github/workflows/libNuML.yml +++ b/.github/workflows/libNuML.yml @@ -1,6 +1,8 @@ name: libNuML on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/.github/workflows/libSBML.yml b/.github/workflows/libSBML.yml index 222be9634..26a3007ac 100644 --- a/.github/workflows/libSBML.yml +++ b/.github/workflows/libSBML.yml @@ -1,8 +1,6 @@ name: libSBML on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 226128325..890d1e69d 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -113,7 +113,7 @@ endif() add_package(zlib) add_package(libSBML) # Requires libxml2. -# add_package(libNuML) # Requires libSBML. +add_package(libNuML) # Requires libSBML. # if(NOT EMSCRIPTEN) # add_package(libssh2) # Requires OpenSSL. From 5ccd28363fd283bde15e7b040b6aa7ad22c365ef Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:17:33 +1300 Subject: [PATCH 19/40] libNuML: binaries for version 1.1.6. --- src/3rdparty/libNuML/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/libNuML/CMakeLists.txt b/src/3rdparty/libNuML/CMakeLists.txt index a7211fd54..0a53f34a3 100644 --- a/src/3rdparty/libNuML/CMakeLists.txt +++ b/src/3rdparty/libNuML/CMakeLists.txt @@ -28,49 +28,49 @@ if(LIBOPENCOR_PREBUILT_LIBNUML) if(EMSCRIPTEN) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3013cf7509cfbe8baa1130e22e667d8df5e96323) + d735b529a6f26c9bcc4a61056dc0bcb2ecfd39b8) else() if(WIN32) if(RELEASE_MODE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c535ddf4307681b441ef9e6fcd896f3d945d91c9) + a115ff81e6d8cb7ead25706a411830104c59f981) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - e2c1e4b73bfb6a67c0a84a9295e7bbbe9ef05e77) + 62bde227a02854427dbe02514942f2d0f2b0d60d) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 9882c9681bbf5f2ce0d93e34594db5f98b47e0db) + 9e8aa22d69f3933de94d6c6ea1f416010797c727) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - eee56d12b1dcd31a8ba77da05263aac7aa9bf661) + 92201cc6f54c506beaadac5d6f36b764c57bed34) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f5e34187cc73b9727a0a192a8ebb264ca37d89f6) + f6bdfef08fb2918527e3fc2330c136594dbb66f4) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5dcda318dcc3bf8e71e81230c883927a26c841ad) + bd2bb0b0b1c41c316b80a33ee348713bdaf6e5fe) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5b4d707ed7f59a92f4b18c6db7c2cd2bedf9ab5f) + 33ac5459d32089ce8ed317bedcad089b3def94a9) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 4acdd314a5c90a1208fd725901b36918dea1add9) + ed844da01dc1bdf2b2845e14f4bfc47912e78b8d) endif() endif() endif() From eacb032336148bc713a45e90976ef3a0a96658ac Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:18:34 +1300 Subject: [PATCH 20/40] Build libssh2. --- .github/workflows/libNuML.yml | 2 -- .github/workflows/libssh2.yml | 2 ++ src/3rdparty/CMakeLists.txt | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/libNuML.yml b/.github/workflows/libNuML.yml index 8bc2f4b66..ea21ecbf5 100644 --- a/.github/workflows/libNuML.yml +++ b/.github/workflows/libNuML.yml @@ -1,8 +1,6 @@ name: libNuML on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/.github/workflows/libssh2.yml b/.github/workflows/libssh2.yml index 834ef96a4..5871bef77 100644 --- a/.github/workflows/libssh2.yml +++ b/.github/workflows/libssh2.yml @@ -1,6 +1,8 @@ name: libssh2 on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 890d1e69d..98981501a 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -115,9 +115,9 @@ add_package(zlib) add_package(libSBML) # Requires libxml2. add_package(libNuML) # Requires libSBML. -# if(NOT EMSCRIPTEN) -# add_package(libssh2) # Requires OpenSSL. -# endif() +if(NOT EMSCRIPTEN) + add_package(libssh2) # Requires OpenSSL. +endif() # add_package(zipper) # Requires zlib. From b2221fbf39e34f59dc75fe23056ba81c4893a50b Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:23:20 +1300 Subject: [PATCH 21/40] libssh2: binaries for version 1.11.0. --- src/3rdparty/libssh2/CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/3rdparty/libssh2/CMakeLists.txt b/src/3rdparty/libssh2/CMakeLists.txt index 3ba348578..22666a100 100644 --- a/src/3rdparty/libssh2/CMakeLists.txt +++ b/src/3rdparty/libssh2/CMakeLists.txt @@ -26,42 +26,42 @@ if(LIBOPENCOR_PREBUILT_LIBSSH2) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - b034aef740d10333d428ef3738cf9dcbf1319cdc) + 6d2bea2af8f41d79853b8b1f6776365c999a5911) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d074e0a4ac949c7cfc4d74c56e7040fe25ee6332) + 661f1e4fc15f67b2c6341eb655bfa586bea8375c) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - fdb70ba76cc62673f8f80382b5c1504e5085fc7b) + 31d672e4df88d94c4beab6cea0edc8b35c73b13a) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 6532912f33cf074616d3d9e18888643061449fab) + 9541855997a724e90e26976454b1db09ab03fd2e) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3cbf4f7e8e9302bebb1fb7da6ea444f7c8c3496b) + a929aa63b53bb84313efcb018cfa9477e2f1044b) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 91e84958df28389afeaf46f6432f44663bb147f1) + f5cae05d61c19d6649d30692bd9e9642473c5f26) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 8c5b3930100cb97ec118dc645fb1273f51140145) + 8639b3d3df7ce83f2104a599a1507e28288cabc5) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 19e3ffa73e95969fa13beb7f8a37fecf4d595b6b) + 22e787ca84fc018c9dc3582e15c0d14d924684e8) endif() endif() else() From b7224d61cc828d1c4a699b1c117d8815e44c43fa Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:23:54 +1300 Subject: [PATCH 22/40] Build zipper. --- .github/workflows/libssh2.yml | 2 -- .github/workflows/zipper.yml | 2 ++ src/3rdparty/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/libssh2.yml b/.github/workflows/libssh2.yml index 5871bef77..834ef96a4 100644 --- a/.github/workflows/libssh2.yml +++ b/.github/workflows/libssh2.yml @@ -1,8 +1,6 @@ name: libssh2 on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/.github/workflows/zipper.yml b/.github/workflows/zipper.yml index 2123d3373..0656e1dcf 100644 --- a/.github/workflows/zipper.yml +++ b/.github/workflows/zipper.yml @@ -1,6 +1,8 @@ name: zipper on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 98981501a..07d45813b 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -119,7 +119,7 @@ if(NOT EMSCRIPTEN) add_package(libssh2) # Requires OpenSSL. endif() -# add_package(zipper) # Requires zlib. +add_package(zipper) # Requires zlib. # Required third-party libraries. From 5eae1cc086f41bc9d1c80315cc57419691c2ef8f Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:27:55 +1300 Subject: [PATCH 23/40] zipper: binaries for version 0.9.1. --- src/3rdparty/zipper/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/zipper/CMakeLists.txt b/src/3rdparty/zipper/CMakeLists.txt index 2d6f3825d..4687c72aa 100644 --- a/src/3rdparty/zipper/CMakeLists.txt +++ b/src/3rdparty/zipper/CMakeLists.txt @@ -24,49 +24,49 @@ if(LIBOPENCOR_PREBUILT_ZIPPER) if(EMSCRIPTEN) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5897b58ebcaedfb98e7f2b7394f13df6c626ae06) + 0ec308672d7a5f658bb781018f33cf334a34d7f1) else() if(WIN32) if(RELEASE_MODE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 1b29a495deef311a3029c9a84ed70624b566c3c4) + d4e57d33f25bffe10a9230c53b5d2af9c900bff6) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - a1e5c3f2955982439262ec8c65635485383f7855) + 79c2db3efc6a247926a29f82430dde0f3754d3aa) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 0e25d62e63310b4a94ccf70fad7d5a237fc78c72) + 3a8b3c9265450391fd998c29a454ea656656fdfe) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 813df4f923912d0245304ae56f3ffecb7167fcd3) + 013af5e94b6277c763cdaad66915ddc7d692f425) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 019dd20f83d6e21103c5c51b767527133893495d) + 5286a5dc4f7b39ce0de4d5a4281895f26a2bf1a7) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 6cdbc63773163e668d7f14b2d67a6a09819e4203) + 7e5f68b711642fc485002eeebc81421c23ae4013) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5faa7c54d6b0b5709957e3079c6bd0beb7d86167) + 6814e32d20a7ce8caf571eb31100bcf27c344ff6) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 9e5e0c2b547c9ecf4bce20afea9a0f45cf2e8ae6) + 208df82a4a47a18e19d948da03b636dfaa912165) endif() endif() endif() From 0fe3bcf4384ffde084b2fb092040e18cdb652a72 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:28:35 +1300 Subject: [PATCH 24/40] Build libCellML. --- .github/workflows/libCellML.yml | 2 ++ .github/workflows/zipper.yml | 2 -- src/3rdparty/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/libCellML.yml b/.github/workflows/libCellML.yml index 5d1e00730..3e6662ee4 100644 --- a/.github/workflows/libCellML.yml +++ b/.github/workflows/libCellML.yml @@ -1,6 +1,8 @@ name: libCellML on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/.github/workflows/zipper.yml b/.github/workflows/zipper.yml index 0656e1dcf..2123d3373 100644 --- a/.github/workflows/zipper.yml +++ b/.github/workflows/zipper.yml @@ -1,8 +1,6 @@ name: zipper on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 07d45813b..43c0ecb52 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -123,7 +123,7 @@ add_package(zipper) # Requires zlib. # Required third-party libraries. -# add_package(libCellML) # Requires libxml2 and zlib. +add_package(libCellML) # Requires libxml2 and zlib. # add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. # if(NOT EMSCRIPTEN) From 91e5179e1c13a3b858cc6b670d7b85d287a28022 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:33:24 +1300 Subject: [PATCH 25/40] libCellML: binaries for version 0.5.0. --- src/3rdparty/libCellML/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/libCellML/CMakeLists.txt b/src/3rdparty/libCellML/CMakeLists.txt index bc37102c5..8ba9202f8 100644 --- a/src/3rdparty/libCellML/CMakeLists.txt +++ b/src/3rdparty/libCellML/CMakeLists.txt @@ -34,49 +34,49 @@ if(LIBOPENCOR_PREBUILT_LIBCELLML) if(EMSCRIPTEN) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d1e81de9a8acbf48ef02e22deed6d32337b8b7bc) + 924e67c4b413b380945c6a4137285789ff23e94b) else() if(WIN32) if(RELEASE_MODE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 0299c00e0e61cd8f4332e094bda6d51b6a648016) + f3b67746625f3570a09dee34047132b7e6c5bc4f) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 926f60f6861a3a29fb69e91ed830e7aa79125346) + 192d46f6205b018a5f27ea6ac9f12138ddac3efa) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f9e2e8d8c5e9b6352348c66922b5933cb5ad1b4c) + c8cf67ecdf4fe9f94f1c8abe13389007fc7b311d) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - cddaf4c78f18d9e8a47c794a2f0fa13cddc9f222) + 2da2da3e09c14f166951b26d59a5c4149c395543) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - cc925cf231f231eb0b86e74f4e5327b0ac412ac7) + d94dbd51fdc4904144b50d039f509635efae6c5f) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 92394488b09c6589dcb302eca01a8ad5ee9ca715) + d33f0b95475084cb728493a3e9c452b96b43d14c) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f46b5bb3600f4fed08d8667457d5c0c04be2b7cc) + 911caa84f5f5cf1b25de831ad76d2a4674340ca3) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - ffe67306d9096f232e5cb6c83243c57f53915b61) + d1ba5cccc2daf0fd6f36cf90047a6d12b02b6c02) endif() endif() endif() From 41aac932ce17c81fe7fa04c59ac8d54b78661d47 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:33:51 +1300 Subject: [PATCH 26/40] Build libCOMBINE. --- .github/workflows/libCOMBINE.yml | 2 ++ .github/workflows/libCellML.yml | 2 -- src/3rdparty/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/libCOMBINE.yml b/.github/workflows/libCOMBINE.yml index bc176f6b4..d63471e34 100644 --- a/.github/workflows/libCOMBINE.yml +++ b/.github/workflows/libCOMBINE.yml @@ -1,6 +1,8 @@ name: libCOMBINE on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/.github/workflows/libCellML.yml b/.github/workflows/libCellML.yml index 3e6662ee4..5d1e00730 100644 --- a/.github/workflows/libCellML.yml +++ b/.github/workflows/libCellML.yml @@ -1,8 +1,6 @@ name: libCellML on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 43c0ecb52..5a99159e7 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -124,7 +124,7 @@ add_package(zipper) # Requires zlib. # Required third-party libraries. add_package(libCellML) # Requires libxml2 and zlib. -# add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. +add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. # if(NOT EMSCRIPTEN) # add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. From be1da19f22b422c991b2f21fd55afa019d874daa Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:37:50 +1300 Subject: [PATCH 27/40] libCOMBINE: binaries for version 0.2.20. --- src/3rdparty/libCOMBINE/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/libCOMBINE/CMakeLists.txt b/src/3rdparty/libCOMBINE/CMakeLists.txt index 653dea1fe..411bade27 100644 --- a/src/3rdparty/libCOMBINE/CMakeLists.txt +++ b/src/3rdparty/libCOMBINE/CMakeLists.txt @@ -28,49 +28,49 @@ if(LIBOPENCOR_PREBUILT_LIBCOMBINE) if(EMSCRIPTEN) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - a6d9d575c87fb803fe63680d2b039e4e2aa4baed) + b016e409ec2fd0b9431eac5e3fff872eb44a90bc) else() if(WIN32) if(RELEASE_MODE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c4d636fa1427eb6bb702e1e94a1b7149efd2ffb8) + 417f969c2810c27c907fbac40e30e594a015dad7) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 75f4c3c895dddce5b0523a5f8392bf2efdff7f67) + 6bafff41f586582cdd05d2c8e40dfb24c14ccf1d) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 6940a27fc80f5171072d7d3a0824e641811bc6b8) + 1ed8721813361566e6453c0a837a60471c570cf6) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 41303bd3c6333aebfdf91571002520e6690cde77) + 9962b25c8e6f40e851a76b0312076b48dc184d9b) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 0ad5a14ebbffd57c126d777116fa1f22aaa47ab0) + 1e71439b3b4dadd54b74f35446e2436a79bf6334) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 1eb9641b388e060e99cf52da93f83f5e17a4d78e) + 741679e4167de3410bc6aeaeeebea59da76768db) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 2e0a1cd907d3fad09c20b8378e230ac10ba4a913) + d064e4987b41a02a13b48d91677036511d675e00) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 9bce82e9a99759bbc27ebf265c54f50033d51af8) + 07095d5eb8a74ca371ef994612d512f9f36b9b16) endif() endif() endif() From bd4fe1e9df0033896719d6b8f80cfbbc4bf3b9d5 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:38:20 +1300 Subject: [PATCH 28/40] Build libcurl. --- .github/workflows/libCOMBINE.yml | 2 -- .github/workflows/libcurl.yml | 2 ++ src/3rdparty/CMakeLists.txt | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/libCOMBINE.yml b/.github/workflows/libCOMBINE.yml index d63471e34..bc176f6b4 100644 --- a/.github/workflows/libCOMBINE.yml +++ b/.github/workflows/libCOMBINE.yml @@ -1,8 +1,6 @@ name: libCOMBINE on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/.github/workflows/libcurl.yml b/.github/workflows/libcurl.yml index e6a6f7f87..251ee51d3 100644 --- a/.github/workflows/libcurl.yml +++ b/.github/workflows/libcurl.yml @@ -1,6 +1,8 @@ name: libcurl on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 5a99159e7..555204cf5 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -126,9 +126,9 @@ add_package(zipper) # Requires zlib. add_package(libCellML) # Requires libxml2 and zlib. add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. -# if(NOT EMSCRIPTEN) -# add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. -# endif() +if(NOT EMSCRIPTEN) + add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. +endif() # add_package(libSEDML) # Requires libNuML and libSBML. From c3e137aab56f5747a4ad221a8b34582c009f3814 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:42:00 +1300 Subject: [PATCH 29/40] libcurl: binaries for version 8.8.0. --- src/3rdparty/libcurl/CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/3rdparty/libcurl/CMakeLists.txt b/src/3rdparty/libcurl/CMakeLists.txt index 161693953..6847c9310 100644 --- a/src/3rdparty/libcurl/CMakeLists.txt +++ b/src/3rdparty/libcurl/CMakeLists.txt @@ -30,42 +30,42 @@ if(LIBOPENCOR_PREBUILT_LIBCURL) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d05d02ef482730c3a3d8886026aa2214d96f2e24) + fb3df60991d05dd4d44c187a8f86396e1aec9d99) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 110614df0c1c9f8c627b22a19bcb2a9ed52e86d7) + 05f59efcb0c038328af682ef05155070756b964b) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - db94afcfbfa6c99ad50caea67383e1d4c531406b) + b3f1e77a6532dfc1619bfa518c069bdd412198d4) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 158887aa551e1439e224a0a9763fd72f15756361) + b08dbb2b2ce1f304dd307739a0a0f3cc86cfbe4e) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 08e013a23400a052686419313baa93105d7c5813) + 8e2e31f33d4100aa7d3144becfc7ca4c42eb6651) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - ec4cec188b6df415fa3e0367295b6792d4f42e90) + 7ad906ec19f0a2390ee53454b968d793b851975e) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f8d6d68a90c37f383a7f5e6730b1d7ea54452ccd) + 7edf9e7c9f9b95c6e6d14e99fed79499bc394c80) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 1d41aebf3040f0ae86845f4cac26b8f05e35abc1) + 66a0f0dae4287b9a36137fc15195ad04f0e61b14) endif() endif() else() From c72f25ca1b9224ef77878f1014949df714164cff Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:42:42 +1300 Subject: [PATCH 30/40] Build libSEDML. --- .github/workflows/libSEDML.yml | 2 ++ .github/workflows/libcurl.yml | 2 -- src/3rdparty/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/libSEDML.yml b/.github/workflows/libSEDML.yml index 83ade4a02..898c257bb 100644 --- a/.github/workflows/libSEDML.yml +++ b/.github/workflows/libSEDML.yml @@ -1,6 +1,8 @@ name: libSEDML on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/.github/workflows/libcurl.yml b/.github/workflows/libcurl.yml index 251ee51d3..e6a6f7f87 100644 --- a/.github/workflows/libcurl.yml +++ b/.github/workflows/libcurl.yml @@ -1,8 +1,6 @@ name: libcurl on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 555204cf5..94d3283af 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -130,7 +130,7 @@ if(NOT EMSCRIPTEN) add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. endif() -# add_package(libSEDML) # Requires libNuML and libSBML. +add_package(libSEDML) # Requires libNuML and libSBML. # if(NOT EMSCRIPTEN) # add_package(LLVMClang) From eb035030dab9887d0fe33cba1d0400f14bec8f15 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:47:58 +1300 Subject: [PATCH 31/40] libSEDML: binaries for version 2.0.32. --- src/3rdparty/libSEDML/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/libSEDML/CMakeLists.txt b/src/3rdparty/libSEDML/CMakeLists.txt index 270d83835..74bf1e811 100644 --- a/src/3rdparty/libSEDML/CMakeLists.txt +++ b/src/3rdparty/libSEDML/CMakeLists.txt @@ -28,49 +28,49 @@ if(LIBOPENCOR_PREBUILT_LIBSEDML) if(EMSCRIPTEN) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - b654c6ad9cf4c6e64f5b7f41765f70f52a4c1694) + 1fb5757fcfb57bc43a44c3a3c6b0f0c6f224185a) else() if(WIN32) if(RELEASE_MODE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 8d6be566b8c87b4b7cd83d8a3b67a32f45cd483e) + c7993a1e507b7d2f125972bfc80e9c1e30083bf5) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f501a31c487f82b243149528a8128238d639cb4f) + 35f732501a784f5a224a58c1e2e94a238a31784b) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 199ede7b71d10a046aa00d62d201a1dea2bd4ca5) + f68792352dd78f651c631deb60c7b2f0589667d6) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 7aec25c64059f11f34f4271c9f376cfb3cb89050) + 87df9517f36d36273bf1e2b6b9acc1a833304500) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 61c917b8c79092fb2db49befb69dafe136c47a69) + a06039f8a66e2878889028d437016520a1b75a2f) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3da908437161d75bcd8e0cfdf010fb60aadaaa6b) + 2a9db5b4b4c725c1ed3b87c5a6c5cb0782070eda) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - ab77f3b89a85e7544c4c3f785ec0cb046c05678a) + 07cc613b3eff1a5380134a7ab4419d03fb39f9c0) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 14e3294cc84585c5c33f4494481d90555b23b3b7) + fdeace11e6eef744d8ba9b749f360dd428867b84) endif() endif() endif() From 0250aa94ddd24c03df90766ebacc1e126414233e Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:48:38 +1300 Subject: [PATCH 32/40] Build SUNDIALS. --- .github/workflows/SUNDIALS.yml | 2 ++ .github/workflows/libSEDML.yml | 2 -- src/3rdparty/CMakeLists.txt | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/SUNDIALS.yml b/.github/workflows/SUNDIALS.yml index 623957f59..19e7ca9c0 100644 --- a/.github/workflows/SUNDIALS.yml +++ b/.github/workflows/SUNDIALS.yml @@ -1,6 +1,8 @@ name: SUNDIALS on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/.github/workflows/libSEDML.yml b/.github/workflows/libSEDML.yml index 898c257bb..83ade4a02 100644 --- a/.github/workflows/libSEDML.yml +++ b/.github/workflows/libSEDML.yml @@ -1,8 +1,6 @@ name: libSEDML on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 94d3283af..1d23d0607 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -132,8 +132,8 @@ endif() add_package(libSEDML) # Requires libNuML and libSBML. -# if(NOT EMSCRIPTEN) -# add_package(LLVMClang) -# endif() +if(NOT EMSCRIPTEN) + add_package(LLVMClang) +endif() -# add_package(SUNDIALS) +add_package(SUNDIALS) From 7079cb7f3b0e3f6daa540c84f86149389573717d Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 17:53:00 +1300 Subject: [PATCH 33/40] SUNDIALS: binaries for version 7.1.0. --- src/3rdparty/SUNDIALS/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/SUNDIALS/CMakeLists.txt b/src/3rdparty/SUNDIALS/CMakeLists.txt index 69ab28022..87d7d6411 100644 --- a/src/3rdparty/SUNDIALS/CMakeLists.txt +++ b/src/3rdparty/SUNDIALS/CMakeLists.txt @@ -24,49 +24,49 @@ if(LIBOPENCOR_PREBUILT_SUNDIALS) if(EMSCRIPTEN) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c9f7012b681622c4faa18d2b68f9dee2c236ea74) + beaac7ff588184603fa2948a88c77b3d7c32497d) else() if(WIN32) if(RELEASE_MODE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 519fd7c2133ed7efb666193028b50ac4f788f416) + e9e378b1a309196bd927fc74eb2c4d1cd79ff8e3) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 59647bc79af40a528802941f6dce584fd1cbe50e) + 7719db0f3452902a45924680201fcd1fa963f7a4) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 1bcd8ca9cea9b0d03f35b66058b53e1f06791d03) + 30f266957d7ef6eba73c09420bee526f333be481) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d9367c7fa4f33d8e2f9b1b1654a1766d26abaa60) + 27f18fc62a18feb5205076c1241c422ab71c5639) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c07da207a1da3da0dfb638c5bc2ba8908be7007f) + 00de19609d78353ad590b6560071dec699edcc34) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c54fd6934c2a72f99ba21dcb88e4d07f9b3e4d00) + be0f52b5aeeb7e938896ae3934bd16d5adfbf5fb) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3af6ee478c72261af012eb400fc1bd0e114c1727) + 0df5457e2b7fe733926846d333495d1b408d846e) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - bcaaad18087d6e4a002b3eda5f5c49eca7e255cc) + db6dc34d20830370a3f247b338fdb91c897ee05a) endif() endif() endif() From ca698f2de168b9c8bc60e52796dce839aed95125 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 10:55:42 +1300 Subject: [PATCH 34/40] Don't build SUNDIALS anymore. --- .github/workflows/SUNDIALS.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/SUNDIALS.yml b/.github/workflows/SUNDIALS.yml index 19e7ca9c0..623957f59 100644 --- a/.github/workflows/SUNDIALS.yml +++ b/.github/workflows/SUNDIALS.yml @@ -1,8 +1,6 @@ name: SUNDIALS on: - pull_request: - branches: [ main ] workflow_dispatch: jobs: From 9a1f575f5b9206587b71a4c6edb7bb718714e9ba Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 19:54:22 +1300 Subject: [PATCH 35/40] Make Clang-Tidy happy. --- cmake/common.cmake | 2 ++ src/3rdparty/LLVMClang/llvmbegin.h | 1 + src/file/filemanager.cpp | 4 ++-- src/misc/utils.cpp | 2 +- src/sed/seddocument.cpp | 13 +++++++------ 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/cmake/common.cmake b/cmake/common.cmake index 0774cebbf..05348d87b 100644 --- a/cmake/common.cmake +++ b/cmake/common.cmake @@ -143,12 +143,14 @@ function(configure_target TARGET) ${MISC_CHECKS} modernize-* -modernize-pass-by-value + -modernize-use-designated-initializers -modernize-use-trailing-return-type performance-* readability-* -readability-avoid-nested-conditional-operator -readability-function-cognitive-complexity -readability-identifier-length + -readability-math-missing-parentheses ${READABILITY_CHECKS} ) diff --git a/src/3rdparty/LLVMClang/llvmbegin.h b/src/3rdparty/LLVMClang/llvmbegin.h index 27fd8fe1b..e9b52daf1 100644 --- a/src/3rdparty/LLVMClang/llvmbegin.h +++ b/src/3rdparty/LLVMClang/llvmbegin.h @@ -70,6 +70,7 @@ limitations under the License. # pragma clang diagnostic ignored "-Wswitch-enum" # pragma clang diagnostic ignored "-Wtautological-type-limit-compare" # pragma clang diagnostic ignored "-Wundefined-func-template" +# pragma clang diagnostic ignored "-Wundefined-reinterpret-cast" # pragma clang diagnostic ignored "-Wunused-but-set-variable" # pragma clang diagnostic ignored "-Wunused-parameter" # pragma clang diagnostic ignored "-Wweak-vtables" diff --git a/src/file/filemanager.cpp b/src/file/filemanager.cpp index 71bd089f4..69a5837a2 100644 --- a/src/file/filemanager.cpp +++ b/src/file/filemanager.cpp @@ -36,7 +36,7 @@ void FileManager::Impl::manage(File *pFile) void FileManager::Impl::unmanage(File *pFile) { - auto iter = std::find(mFiles.cbegin(), mFiles.cend(), pFile); + auto iter = std::ranges::find(mFiles, pFile); if (iter != mFiles.cend()) { mFiles.erase(iter); @@ -91,7 +91,7 @@ FilePtr FileManager::Impl::file(const std::string &pFileNameOrUrl) const #else auto [isLocalFile, fileNameOrUrl] = retrieveFileInfo(pFileNameOrUrl); #endif - auto res = std::find_if(mFiles.cbegin(), mFiles.cend(), [&](const auto &file) { + auto res = std::ranges::find_if(mFiles, [&](const auto &file) { return isLocalFile ? file->fileName() == fileNameOrUrl : file->url() == fileNameOrUrl; diff --git a/src/misc/utils.cpp b/src/misc/utils.cpp index 330afdd35..fffa71809 100644 --- a/src/misc/utils.cpp +++ b/src/misc/utils.cpp @@ -403,7 +403,7 @@ char *nlaSolverAddress(SolverNla *pNlaSolver) auto len = str.size(); auto *res = new char[len + 1]; - std::copy(str.begin(), str.end(), res); + std::ranges::copy(str, res); res[len] = '\0'; // NOLINT diff --git a/src/sed/seddocument.cpp b/src/sed/seddocument.cpp index baba148f6..35439d5ea 100644 --- a/src/sed/seddocument.cpp +++ b/src/sed/seddocument.cpp @@ -23,6 +23,7 @@ limitations under the License. #include "utils.h" +#include #include namespace libOpenCOR { @@ -269,7 +270,7 @@ bool SedDocument::Impl::addModel(const SedModelPtr &pModel) return false; } - auto model = std::find_if(mModels.cbegin(), mModels.cend(), [&](const auto &s) { + auto model = std::ranges::find_if(mModels, [&](const auto &s) { return s == pModel; }); @@ -284,7 +285,7 @@ bool SedDocument::Impl::addModel(const SedModelPtr &pModel) bool SedDocument::Impl::removeModel(const SedModelPtr &pModel) { - auto model = std::find_if(mModels.cbegin(), mModels.cend(), [&](const auto &s) { + auto model = std::ranges::find_if(mModels, [&](const auto &s) { return s == pModel; }); @@ -328,7 +329,7 @@ bool SedDocument::Impl::addSimulation(const SedSimulationPtr &pSimulation) return false; } - auto simulation = std::find_if(mSimulations.cbegin(), mSimulations.cend(), [&](const auto &s) { + auto simulation = std::ranges::find_if(mSimulations, [&](const auto &s) { return s == pSimulation; }); @@ -343,7 +344,7 @@ bool SedDocument::Impl::addSimulation(const SedSimulationPtr &pSimulation) bool SedDocument::Impl::removeSimulation(const SedSimulationPtr &pSimulation) { - auto simulation = std::find_if(mSimulations.cbegin(), mSimulations.cend(), [&](const auto &s) { + auto simulation = std::ranges::find_if(mSimulations, [&](const auto &s) { return s == pSimulation; }); @@ -387,7 +388,7 @@ bool SedDocument::Impl::addTask(const SedAbstractTaskPtr &pTask) return false; } - auto task = std::find_if(mTasks.cbegin(), mTasks.cend(), [&](const auto &t) { + auto task = std::ranges::find_if(mTasks, [&](const auto &t) { return t == pTask; }); @@ -402,7 +403,7 @@ bool SedDocument::Impl::addTask(const SedAbstractTaskPtr &pTask) bool SedDocument::Impl::removeTask(const SedAbstractTaskPtr &pTask) { - auto task = std::find_if(mTasks.cbegin(), mTasks.cend(), [&](const auto &t) { + auto task = std::ranges::find_if(mTasks, [&](const auto &t) { return t == pTask; }); From 55600ae625cbd9c4c97a7a930fadb006d3ad4129 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 20:26:54 +1300 Subject: [PATCH 36/40] CI: cannot test our Windows/Linux ARM binaries. ... since GitHub Actions doesn't have Windows/Linux ARM runners. --- .github/workflows/ci.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 78447f14d..903aaee50 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,7 +45,7 @@ jobs: unit_testing: ON target: unit_testing install_uninstall_and_package: ON - - name: 'Windows static library (ARM)' + - name: 'Windows static library (ARM) (no tests)' os: windows-latest arch: amd64_arm64 build_type: Release @@ -58,10 +58,10 @@ jobs: python_bindings: OFF python_unit_testing: OFF shared_libs: OFF - unit_testing: ON + unit_testing: OFF target: unit_testing install_uninstall_and_package: ON - - name: 'Windows shared library (ARM)' + - name: 'Windows shared library (ARM) (no tests)' os: windows-latest arch: amd64_arm64 build_type: Release @@ -74,7 +74,7 @@ jobs: python_bindings: OFF python_unit_testing: OFF shared_libs: ON - unit_testing: ON + unit_testing: OFF target: unit_testing install_uninstall_and_package: ON - name: 'Linux static library (Intel)' @@ -107,7 +107,7 @@ jobs: unit_testing: ON target: unit_testing install_uninstall_and_package: ON - - name: 'Linux static library (ARM)' + - name: 'Linux static library (ARM) (no tests)' os: ubuntu-latest arch: arm build_type: Release @@ -120,11 +120,11 @@ jobs: python_bindings: OFF python_unit_testing: OFF shared_libs: OFF - unit_testing: ON + unit_testing: OFF target: unit_testing install_uninstall_and_package: ON context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ - - name: 'Linux shared library (ARM)' + - name: 'Linux shared library (ARM) (no tests)' os: ubuntu-latest arch: arm build_type: Release @@ -137,7 +137,7 @@ jobs: python_bindings: OFF python_unit_testing: OFF shared_libs: ON - unit_testing: ON + unit_testing: OFF target: unit_testing install_uninstall_and_package: ON context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ From d91256b85eacc62997c85fec12a6fcf0e23ae0dc Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Wed, 15 Jan 2025 23:35:02 +1300 Subject: [PATCH 37/40] CI: make sure that we can build our Python bindings on Windows. --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 903aaee50..bad33958a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -217,6 +217,7 @@ jobs: target: javascript_unit_testing - name: 'Windows Python bindings' os: windows-latest + arch: amd64 build_type: Release code_analysis: OFF code_coverage: OFF From d118406985557702bdd082010cd669feb6189760 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Thu, 16 Jan 2025 00:18:20 +1300 Subject: [PATCH 38/40] SedModel: prevent GCC (and Clang) from complaining about SedModel::Impl::serialise() hiding SedBase::Impl::serialise(). I originally wanted to do for GCC what we did for Clang, but it didn't work. So, I rearranged things instead. --- src/sed/seddocument.cpp | 3 ++- src/sed/sedmodel.cpp | 13 +++++++++---- src/sed/sedmodel_p.h | 10 +++------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/sed/seddocument.cpp b/src/sed/seddocument.cpp index 35439d5ea..c8f3d3567 100644 --- a/src/sed/seddocument.cpp +++ b/src/sed/seddocument.cpp @@ -153,7 +153,8 @@ std::string SedDocument::Impl::serialise(const std::string &pBasePath) const xmlAddChild(node, sedListOfModels); for (const auto &model : mModels) { - model->pimpl()->serialise(sedListOfModels, pBasePath); + model->pimpl()->setBasePath(pBasePath); + model->pimpl()->serialise(sedListOfModels); } } diff --git a/src/sed/sedmodel.cpp b/src/sed/sedmodel.cpp index 3f71acd45..9667c7d51 100644 --- a/src/sed/sedmodel.cpp +++ b/src/sed/sedmodel.cpp @@ -69,7 +69,12 @@ bool SedModel::Impl::isValid() return !hasErrors(); } -void SedModel::Impl::serialise(xmlNodePtr pNode, const std::string &pBasePath) const +void SedModel::Impl::setBasePath(const std::string &pBasePath) +{ + mBasePath = pBasePath; +} + +void SedModel::Impl::serialise(xmlNodePtr pNode) const { auto *node = xmlNewNode(nullptr, toConstXmlCharPtr("model")); @@ -77,12 +82,12 @@ void SedModel::Impl::serialise(xmlNodePtr pNode, const std::string &pBasePath) c xmlNewProp(node, toConstXmlCharPtr("language"), toConstXmlCharPtr("urn:sedml:language:cellml")); - auto source = pBasePath.empty() ? + auto source = mBasePath.empty() ? urlPath(mFile->path()) : #ifdef BUILDING_USING_MSVC - forwardSlashPath(relativePath(mFile->path(), pBasePath)); + forwardSlashPath(relativePath(mFile->path(), mBasePath)); #else - relativePath(mFile->path(), pBasePath); + relativePath(mFile->path(), mBasePath); #endif xmlNewProp(node, toConstXmlCharPtr("source"), toConstXmlCharPtr(source)); diff --git a/src/sed/sedmodel_p.h b/src/sed/sedmodel_p.h index 0b8631e7b..5e7b9e410 100644 --- a/src/sed/sedmodel_p.h +++ b/src/sed/sedmodel_p.h @@ -25,6 +25,7 @@ namespace libOpenCOR { class SedModel::Impl: public SedBase::Impl { public: + std::string mBasePath; FilePtr mFile; explicit Impl(const SedDocumentPtr &pDocument, const FilePtr &pFile); @@ -33,13 +34,8 @@ class SedModel::Impl: public SedBase::Impl bool isValid(); -#ifdef BUILDING_USING_CLANG - // Prevent Clang from complaining about SedModel::Impl::serialise() hiding SedBase::Impl::serialise(). - - using SedBase::Impl::serialise; -#endif - - void serialise(xmlNodePtr pNode, const std::string &pBasePath) const; + void setBasePath(const std::string &pBasePath); + void serialise(xmlNodePtr pNode) const override; }; } // namespace libOpenCOR From 910155fe5ebebe86bf4395da1d5431ed817150a6 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Thu, 16 Jan 2025 00:55:34 +1300 Subject: [PATCH 39/40] Python wheels: support macOS 13 and later. --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 9c91708b8..ecb685ce2 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -133,7 +133,7 @@ jobs: env: CIBW_ARCHS: auto64 CIBW_BUILD: 'cp*' - CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.0 + CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=13.0 CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28 CIBW_SKIP: 'cp36* cp37* cp38* *musllinux*' - name: Upload Python wheel artifacts From 3675b37c0b06331b8fcc9d167f1b20543dae6dda Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Thu, 16 Jan 2025 08:54:54 +1300 Subject: [PATCH 40/40] Python wheels: use a special version of cibuildwheel to get access to manylinux_2_34. See https://github.com/pypa/cibuildwheel/discussions/2129 for some background on this. --- .github/workflows/cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index ecb685ce2..d53011497 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -129,12 +129,12 @@ jobs: if: ${{ runner.os == 'Windows' }} uses: ilammy/msvc-dev-cmd@v1 - name: Build Python wheels - uses: pypa/cibuildwheel@v2.21.3 + uses: pypa/cibuildwheel@9c75ea15c2f31a77e6043b80b1b7081372319d85 env: CIBW_ARCHS: auto64 CIBW_BUILD: 'cp*' CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=13.0 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_34 CIBW_SKIP: 'cp36* cp37* cp38* *musllinux*' - name: Upload Python wheel artifacts if: ${{ !startsWith(github.ref, 'refs/tags/v') }}