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/.github/workflows/buildThirdPartyLibrary.yml b/.github/workflows/buildThirdPartyLibrary.yml index 9d05e6e49..41b67d16d 100644 --- a/.github/workflows/buildThirdPartyLibrary.yml +++ b/.github/workflows/buildThirdPartyLibrary.yml @@ -19,26 +19,37 @@ jobs: fail-fast: false matrix: include: - - name: 'Windows release' + - name: 'Windows release (Intel)' os: windows-latest + target_architecture: Intel build_type: Release - - name: 'Windows debug' + - name: 'Windows debug (Intel)' os: windows-latest + target_architecture: Intel 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 + target_architecture: ARM + build_type: Release + - name: 'Windows debug (ARM)' + os: windows-latest + target_architecture: ARM + build_type: Debug + - name: 'Linux (Intel)' + os: ubuntu-latest + target_architecture: Intel + build_type: Release + - name: 'Linux (ARM)' + os: ubuntu-latest + target_architecture: ARM build_type: Release - name: 'macOS (Intel)' - os: macos-13 + os: macos-latest + target_architecture: Intel build_type: Release - name: 'macOS (ARM)' os: macos-latest + target_architecture: ARM build_type: Release env: BUILDCACHE_ACCURACY: STRICT @@ -46,6 +57,8 @@ jobs: BUILDCACHE_DEBUG: -1 BUILDCACHE_LOG_FILE: "" steps: + - name: Check the version of Clang + run: clang --version - name: Check out libOpenCOR uses: actions/checkout@v4 - name: Install CMake and Ninja @@ -54,14 +67,22 @@ jobs: uses: cscouto/buildcache-action@v1 with: cache_key: libraries-${{ matrix.os }}-${{ matrix.shared_libs }} - - name: Configure MSVC - if: ${{ runner.os == 'Windows' }} - uses: ilammy/msvc-dev-cmd@v1 + - name: Install LLVM+Clang + uses: KyleMayes/install-llvm-action@v2 + with: + version: 18 + - name: Install libncurses5 (Linux only) + if: ${{ matrix.os == 'ubuntu-latest' }} + run: | + sudo apt update + sudo apt install libncurses5 + - name: Check the version of Clang + run: clang --version - name: Configure libOpenCOR 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 .. + cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DTARGET_ARCHITECTURE=${{ matrix.target_architecture }} -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..ebd0a253a 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 + msvc_arch: amd64 shared_libs: OFF - - name: 'Windows shared library' + - name: 'Windows shared library (Intel)' os: windows-latest + msvc_arch: amd64 shared_libs: ON - - name: 'Linux static library' + - name: 'Windows static library (ARM)' + os: windows-latest + msvc_arch: amd64_arm64 + shared_libs: OFF + - name: 'Windows shared library (ARM)' + os: windows-latest + msvc_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' + cmake_prereqs: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ + - name: 'Linux shared library (ARM)' os: ubuntu-latest + arch: arm shared_libs: ON + cmake_prereqs: 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.msvc_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.cmake_prereqs }} 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 33ebb6e87..eb6a9f1d2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,8 +1,8 @@ name: CI on: - pull_request: - branches: [ main ] + # pull_request: + # branches: [ main ] workflow_dispatch: jobs: @@ -13,8 +13,9 @@ jobs: fail-fast: false matrix: include: - - name: 'Windows static library' + - name: 'Windows static library (Intel)' os: windows-latest + msvc_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 + msvc_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 + msvc_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 + msvc_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 @@ -325,6 +393,11 @@ jobs: uses: actions/setup-python@v5 with: python-version: '3.13' + - 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 @@ -334,6 +407,8 @@ jobs: - name: Configure MSVC if: ${{ runner.os == 'Windows' }} uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ matrix.msvc_arch }} - name: Install LLVM if: ${{ matrix.code_coverage == 'ON' }} run: | diff --git a/CMakeLists.txt b/CMakeLists.txt index a4dba77d1..c5aa02d58 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) @@ -399,11 +417,11 @@ else() unset(SHARED_LIBS CACHE) # TARGET_ARCHITECTURE ==> LIBOPENCOR_TARGET_ARCHITECTURE. - # Note: this is only relevant on macOS since on Windows the target architecture is always going to be the same as - # that of the version of MSVC we are using (i.e. x64 or arm64) while on Linux we have no choice but to target - # the same architecture as that of the system. + # Note: this is only relevant if we build libOpenCOR using Clang since on Windows the target architecture is always + # going to be the same as that of the version of MSVC we are using (i.e. x64 or arm64) while on Linux we have + # no choice but to target the same architecture as that of the system. - if(APPLE) + if(BUILDING_USING_CLANG) set(LIBOPENCOR_TARGET_ARCHITECTURE_DOCSTRING "Specify the target architecture (Intel or ARM).") set(LIBOPENCOR_TARGET_ARCHITECTURE ${DEFAULT_TARGET_ARCHITECTURE} CACHE STRING "${LIBOPENCOR_TARGET_ARCHITECTURE_DOCSTRING}") @@ -441,40 +459,56 @@ 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() - if(APPLE) - 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.") - endif() + 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() + + if(SENT_ERRORS) + return() endif() # Determine whether we are building in release mode. @@ -490,13 +524,30 @@ else() if("${LIBOPENCOR_TARGET_ARCHITECTURE}" STREQUAL "Intel") set(INTEL_MODE TRUE) - if(APPLE) - set(CMAKE_OSX_ARCHITECTURES x86_64) + set(LLVMCLANG_TARGET_ARCHITECTURE x86_64) + + if(WIN32) + set(LLVMCLANG_TARGET_TRIPLE ${LLVMCLANG_TARGET_ARCHITECTURE}-pc-windows-msvc) + elseif(APPLE) + set(LLVMCLANG_TARGET_TRIPLE ${LLVMCLANG_TARGET_ARCHITECTURE}-apple-darwin) + else() + set(LLVMCLANG_TARGET_TRIPLE ${LLVMCLANG_TARGET_ARCHITECTURE}-unknown-linux-gnu) + endif() + else() + set(LLVMCLANG_TARGET_ARCHITECTURE aarch64) + + if(WIN32) + set(LLVMCLANG_TARGET_TRIPLE ${LLVMCLANG_TARGET_ARCHITECTURE}-pc-windows-msvc) + elseif(APPLE) + set(LLVMCLANG_TARGET_TRIPLE ${LLVMCLANG_TARGET_ARCHITECTURE}-apple-darwin) + else() + set(LLVMCLANG_TARGET_TRIPLE ${LLVMCLANG_TARGET_ARCHITECTURE}-unknown-linux-gnu) endif() - elseif(APPLE) - set(CMAKE_OSX_ARCHITECTURES arm64) endif() + set(CMAKE_C_COMPILER_TARGET ${LLVMCLANG_TARGET_TRIPLE}) + set(CMAKE_CXX_COMPILER_TARGET ${LLVMCLANG_TARGET_TRIPLE}) + # Build libOpenCOR. add_subdirectory(src) diff --git a/cmake/environmentchecks.cmake b/cmake/environmentchecks.cmake index fb31c745c..1092a12fe 100644 --- a/cmake/environmentchecks.cmake +++ b/cmake/environmentchecks.cmake @@ -19,8 +19,11 @@ if(WIN32) AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" AND MSVC_TOOLSET_VERSION EQUAL 143) set(BUILDING_USING_MSVC TRUE) + elseif( "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" + AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + set(BUILDING_USING_CLANG TRUE) else() - message(FATAL_ERROR "${CMAKE_PROJECT_NAME} can only be built using MSVC 2022 on Windows.") + message(FATAL_ERROR "${CMAKE_PROJECT_NAME} can only be built using MSVC 2022 or Clang on Windows.") endif() elseif(APPLE) if( ( "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" @@ -56,39 +59,28 @@ if(APPLE AND NOT "${CMAKE_OSX_DEPLOYMENT_TARGET}" VERSION_GREATER_EQUAL "${MACOS endif() # Determine our default target architecture. -# Note: on Windows, the target architecture depends on the version of MSVC we are using (i.e. x64 or arm64), so we look -# for /x64/ and /arm64/ in CMAKE_CXX_COMPILER rather than just rely on the value of CMAKE_SYSTEM_PROCESSOR since -# there is no guarantee that it corresponds to the target architecture (see -# https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_PROCESSOR.html). -if(WIN32) - string(FIND "${CMAKE_CXX_COMPILER}" "/x64/" INDEX) +if("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "AMD64" + OR "${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "x86_64") + set(DEFAULT_TARGET_ARCHITECTURE Intel) - if(NOT INDEX EQUAL -1) - set(DEFAULT_TARGET_ARCHITECTURE Intel) + if(WIN32) + set(LLVMCLANG_HOST_TRIPLE x86_64-pc-windows-msvc) + elseif(APPLE) + set(LLVMCLANG_HOST_TRIPLE x86_64-apple-darwin) else() - set(DEFAULT_TARGET_ARCHITECTURE ARM) + set(LLVMCLANG_HOST_TRIPLE x86_64-pc-linux-gnu) endif() -elseif(APPLE) - if("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "x86_64") - set(DEFAULT_TARGET_ARCHITECTURE Intel) +elseif("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "ARM64" + OR "${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "arm64") + set(DEFAULT_TARGET_ARCHITECTURE ARM) + + if(WIN32) + set(LLVMCLANG_HOST_TRIPLE aarch64-pc-windows-msvc) + elseif(APPLE) + set(LLVMCLANG_HOST_TRIPLE aarch64-apple-darwin) else() - set(DEFAULT_TARGET_ARCHITECTURE ARM) - endif() -else() - if("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "x86_64") - # On an Intel-based system, we can cross-compile for ARM, so we need to check which compiler is actually being - # used. - - string(FIND "${CMAKE_CXX_COMPILER}" "aarch64-linux-gnu" INDEX) - - if(NOT INDEX EQUAL -1) - set(DEFAULT_TARGET_ARCHITECTURE ARM) - else() - set(DEFAULT_TARGET_ARCHITECTURE Intel) - endif() - else() - set(DEFAULT_TARGET_ARCHITECTURE ARM) + set(LLVMCLANG_HOST_TRIPLE aarch64-pc-linux-gnu) endif() endif() @@ -96,12 +88,6 @@ if("${DEFAULT_TARGET_ARCHITECTURE}" STREQUAL "") message(FATAL_ERROR "No supported target architecture could be determined for ${CMAKE_PROJECT_NAME}.") endif() -# On Windows and Linux, our actual target architecture is always our default target architecture. - -if(NOT APPLE) - set(LIBOPENCOR_TARGET_ARCHITECTURE ${DEFAULT_TARGET_ARCHITECTURE}) -endif() - # Check whether we are dealing with a single or multiple configuration. get_property(IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) 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/cmake/packaging/CMakeLists.txt b/cmake/packaging/CMakeLists.txt index e2822153a..bc1384ad7 100644 --- a/cmake/packaging/CMakeLists.txt +++ b/cmake/packaging/CMakeLists.txt @@ -61,19 +61,13 @@ endif() # Specify the package file name. -if(${LIBOPENCOR_TARGET_ARCHITECTURE} STREQUAL "Intel") - set(LIBRARY_ARCHITECTURE "Intel") -else() - set(LIBRARY_ARCHITECTURE "ARM") -endif() - if(LIBOPENCOR_SHARED_LIBS) set(LIBRARY_TYPE "Shared") else() set(LIBRARY_TYPE "Static") endif() -set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-${CPACK_SYSTEM_NAME}-${LIBRARY_ARCHITECTURE}-${LIBRARY_TYPE}) +set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-${CPACK_SYSTEM_NAME}-${LIBOPENCOR_TARGET_ARCHITECTURE}-${LIBRARY_TYPE}) # Package libOpenCOR. diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 1d23d0607..dad7e784e 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. +# # 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) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index 1641adfa6..c73e2bcf1 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 19.1.6) set(PACKAGE_REPOSITORY llvm-project) -set(RELEASE_TAG llvmorg-18.1.8) +set(RELEASE_TAG llvmorg-19.1.6-libopencor) set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. @@ -23,13 +23,25 @@ set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) if(LIBOPENCOR_PREBUILT_LLVMCLANG) if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 843e3caf60ed5dffab9bd55326da195b6b850553) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 843e3caf60ed5dffab9bd55326da195b6b850553) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 665eeefd2e331034e5962b9ec9114f5dd6826ed1) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - bbdc5f37a97cdfb78748ee1f75d25f44ef24f707) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + bbdc5f37a97cdfb78748ee1f75d25f44ef24f707) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 24febbe8391b8c7dea406261c8b520671b3c38a6) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -42,9 +54,15 @@ if(LIBOPENCOR_PREBUILT_LLVMCLANG) 519fee44fc83145bbbe7c027e5e78aa32a8bdbfa) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5e8c850c5272cfb95b743a8c1141f71dcd15c7f9) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 5e8c850c5272cfb95b743a8c1141f71dcd15c7f9) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 25fe0235182221c14a897c0fe8e1d43041479ac8) + endif() 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 @@ -68,6 +94,7 @@ else() -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 @@ -79,6 +106,7 @@ else() -DLLVM_BUILD_RUNTIMES=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_BUILD_UTILS=OFF + -DLLVM_DEFAULT_TARGET_TRIPLE=${LLVMCLANG_TARGET_TRIPLE} -DLLVM_ENABLE_ASSERTIONS=OFF -DLLVM_ENABLE_BACKTRACES=OFF -DLLVM_ENABLE_BINDINGS=OFF @@ -98,6 +126,7 @@ else() -DLLVM_ENABLE_WARNINGS=OFF -DLLVM_ENABLE_ZLIB=OFF -DLLVM_ENABLE_ZSTD=OFF + -DLLVM_HOST_TRIPLE=${LLVMCLANG_HOST_TRIPLE} -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF @@ -106,6 +135,8 @@ else() -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=ON -DLLVM_INCLUDE_UTILS=OFF + ${LLVM_TABLEGEN} + -DLLVM_TARGET_ARCH=${LLVMCLANG_TARGET_ARCHITECTURE} -DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS_TO_BUILD} ) diff --git a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen new file mode 100755 index 000000000..8c146d1d0 --- /dev/null +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -0,0 +1,19 @@ +#!/bin/sh + +LLVMCLANG_VERSION=19.1.6 + +curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/llvmorg-$LLVMCLANG_VERSION.zip -o llvm-project-llvmorg-$LLVMCLANG_VERSION.zip +unzip -qq llvm-project-llvmorg-$LLVMCLANG_VERSION.zip +\rm llvm-project-llvmorg-$LLVMCLANG_VERSION.zip + +cd llvm-project-llvmorg-$LLVMCLANG_VERSION + +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/tests/api/version/tests.cpp b/tests/api/version/tests.cpp index ec7948c5b..0519a2df8 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(0x190106U, libOpenCOR::clangVersion()); + EXPECT_EQ("19.1.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(0x190106U, libOpenCOR::llvmVersion()); + EXPECT_EQ("19.1.6", libOpenCOR::llvmVersionString()); } TEST(VersionTest, SUNDIALS) diff --git a/tests/bindings/python/test_version.py b/tests/bindings/python/test_version.py index 58ac9a695..d77146f58 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() == 0x190106 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() == "19.1.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() == 0x190106 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() == "19.1.6" def test_sundials_version():