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..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 33ebb6e87..e08498ccd 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 + 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 @@ -321,6 +389,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: @@ -334,6 +407,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/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. 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/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..0533ae244 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -13,46 +13,72 @@ # limitations under the License. set(PACKAGE_NAME LLVMClang) -set(PACKAGE_VERSION 18.1.8) +set(PACKAGE_VERSION 17.0.6) set(PACKAGE_REPOSITORY llvm-project) -set(RELEASE_TAG llvmorg-18.1.8) +set(RELEASE_TAG llvmorg-17.0.6-libopencor) set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. +if(INTEL_MODE) + set(LLVM_TARGETS_TO_BUILD X86) +else() + set(LLVM_TARGETS_TO_BUILD AArch64) +endif() + 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. - if(INTEL_MODE) - set(LLVM_TARGETS_TO_BUILD X86) - else() - set(LLVM_TARGETS_TO_BUILD AArch64) + 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} @@ -65,16 +91,18 @@ else() -DCLANG_BUILD_TOOLS=OFF -DCLANG_ENABLE_ARCMT=OFF -DCLANG_ENABLE_STATIC_ANALYZER=OFF - -DCLANG_INCLUDE_DOCS=OFF - -DCLANG_INCLUDE_TESTS=OFF + -DCLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=OFF -DCLANG_PLUGIN_SUPPORT=OFF + ${CLANG_TABLEGEN} -DCLANG_TOOLING_BUILD_AST_INTROSPECTION=OFF + -DCLANG_TOOL_DICTIONARY_BUILD=OFF -DCLANG_TOOL_HANDLE_CXX_BUILD=OFF -DCLANG_TOOL_HANDLE_LLVM_BUILD=OFF ${CMAKE_ARGS} -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 @@ -82,30 +110,30 @@ else() -DLLVM_ENABLE_ASSERTIONS=OFF -DLLVM_ENABLE_BACKTRACES=OFF -DLLVM_ENABLE_BINDINGS=OFF + -DLLVM_ENABLE_WARNINGS=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_LOCAL_SUBMODULE_VISIBILITY=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_WARNINGS=OFF + -DLLVM_ENABLE_UNWIND_TABLES=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} ) @@ -131,28 +159,6 @@ else() set(LIBCLANG libclang) endif() -if(INTEL_MODE) - set(EXTRA_LLVMCLANG_LIBRARIES - LLVMExegesisX86 - LLVMX86AsmParser - LLVMX86CodeGen - LLVMX86Desc - LLVMX86Disassembler - LLVMX86Info - LLVMX86TargetMCA - ) -else() - set(EXTRA_LLVMCLANG_LIBRARIES - LLVMAArch64AsmParser - LLVMAArch64CodeGen - LLVMAArch64Desc - LLVMAArch64Disassembler - LLVMAArch64Info - LLVMAArch64Utils - LLVMExegesisAArch64 - ) -endif() - set(LLVMCLANG_ROOT ${INSTALL_DIR} CACHE INTERNAL "${PACKAGE_NAME}'s root directory.") set(LLVMCLANG_CMAKE_DIR ${INSTALL_DIR}/lib/cmake/clang CACHE INTERNAL "${PACKAGE_NAME}'s CMake directory.") set(LLVMCLANG_CMAKE_DIRS ${INSTALL_DIR}/lib/cmake/llvm ${INSTALL_DIR}/lib/cmake/clang CACHE INTERNAL "${PACKAGE_NAME}'s CMake directories.") @@ -199,7 +205,14 @@ set(LLVMCLANG_LIBRARIES clangToolingRefactoring clangToolingSyntax clangTransformer + libclang_static ${LIBCLANG} + LLVM${LLVM_TARGETS_TO_BUILD}AsmParser + LLVM${LLVM_TARGETS_TO_BUILD}CodeGen + LLVM${LLVM_TARGETS_TO_BUILD}Desc + LLVM${LLVM_TARGETS_TO_BUILD}Disassembler + LLVM${LLVM_TARGETS_TO_BUILD}Info + LLVM${LLVM_TARGETS_TO_BUILD}Utils LLVMAggressiveInstCombine LLVMAnalysis LLVMAsmParser @@ -232,6 +245,7 @@ set(LLVMCLANG_LIBRARIES LLVMDWP LLVMExecutionEngine LLVMExegesis + LLVMExegesis${LLVM_TARGETS_TO_BUILD} LLVMExtensions LLVMFileCheck LLVMFrontendDriver @@ -290,6 +304,5 @@ set(LLVMCLANG_LIBRARIES LLVMWindowsDriver LLVMWindowsManifest LLVMXRay - ${EXTRA_LLVMCLANG_LIBRARIES} CACHE INTERNAL "${PACKAGE_NAME}'s libraries." ) diff --git a/src/3rdparty/LLVMClang/README.rst b/src/3rdparty/LLVMClang/README.rst new file mode 100644 index 000000000..aa023f970 --- /dev/null +++ b/src/3rdparty/LLVMClang/README.rst @@ -0,0 +1 @@ +Our copy of LLVM+Clang 17.0.6 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-17.0.6...opencor:llvm-project:llvmorg-17.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 100755 index 000000000..225e149e7 --- /dev/null +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -0,0 +1,19 @@ +#!/bin/sh + +RELEASE_TAG=llvmorg-17.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..830ff754b 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() @@ -86,9 +104,9 @@ set(SUNDIALS_CMAKE_PACKAGE_NAME ${PACKAGE_NAME} CACHE INTERNAL "${PACKAGE_NAME}' set(SUNDIALS_INCLUDE_DIR ${INSTALL_DIR}/include CACHE INTERNAL "${PACKAGE_NAME}'s include directory.") set(SUNDIALS_LIBRARIES SUNDIALS::arkode_static - SUNDIALS::core_static SUNDIALS::cvode_static SUNDIALS::cvodes_static + SUNDIALS::generic_static SUNDIALS::ida_static SUNDIALS::idas_static SUNDIALS::kinsol_static 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()