From 15d2c5d5170887aae4ae45a215dac451a7b74520 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Schm=C3=B6lder?= Date: Sat, 19 Jun 2021 12:24:23 +0200 Subject: [PATCH] Move CI from AppVeyor / Travis to GitHub Actions Consolidates the CI from AppVeyor (previously used for Windows) and Travis (used for MacOS and Linux) to GitHub Actions. On Windows, CADET is built with Intel MKL and UMFPACK. Almost all dependencies (except HDF5) are linked to statically. --- .appveyor.yml | 123 --------------- .github/workflows/ci.yml | 171 +++++++++++++++++++++ .github/workflows/deploy_documentation.yml | 14 ++ .travis.yml | 127 --------------- README.rst | 7 +- cmake/Modules/FindTBB.cmake | 5 +- 6 files changed, 190 insertions(+), 257 deletions(-) delete mode 100644 .appveyor.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/deploy_documentation.yml delete mode 100644 .travis.yml diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 819abb9b1..000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,123 +0,0 @@ - -# Exclude GitHub pages and Travis branches -branches: - except: - - gh-pages - - /feature\/.*travis.*/ - -# Exclude commits that only change *.md files or doc/ files -skip_commits: - files: - - doc/* - - '**/*.md' - -# Use MSVC 2017 on Windows Server 2016 and MSVC 2019 on Windows Server 2019 -environment: - APPVEYOR_SAVE_CACHE_ON_ERROR: true - NTHREADS: 2 - matrix: -# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 -# VS: vc15 -# GENERATOR: Visual Studio 15 2017 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - VS: vc16 - GENERATOR: Visual Studio 16 2019 - -# Only checkout last commit -clone_depth: 1 - -# Code is cloned here -clone_folder: C:\cadet\code - -platform: - - x64 - -configuration: -# - Debug - - Release - -# Called before cloning the repo -init: - - cmd: date /T & time /T - - ps: "Get-ChildItem Env:" - - cmd: cmake --version - # Set version to "short-commit-hash" or when tagged to "tag name" (Travis style) - - ps: >- - if ($env:APPVEYOR_REPO_TAG -eq "true") - { - Update-AppveyorBuild -Version "$($env:APPVEYOR_REPO_TAG_NAME.TrimStart("v"))" - } - else - { - Update-AppveyorBuild -Version "dev-$($env:APPVEYOR_REPO_COMMIT.Substring(0, 7))" - } - - cmd: - IF NOT EXIST C:\deps\packages\intelmkl.devel.win-x64.2020.1.216 (nuget install intelmkl.devel.win-x64 -Version 2020.1.216 -OutputDirectory C:\deps\packages) - -install: - # Prepare environment - - cmd: IF "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" (CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=%PLATFORM%) ELSE (CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=%PLATFORM%) - - cmd: set MKLROOT=C:/deps/packages/intelmkl.devel.win-x64.2020.1.216/lib/native/win-x64 - - cmd: IF NOT EXIST C:\dl (mkdir C:\dl) - # Install SuiteSparse from source - - cmd: IF NOT EXIST C:\deps\suitesparse ( - appveyor-retry curl -SsfLk -o C:\dl\suitesparse.zip https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v5.7.2.zip && - 7z x C:\dl\suitesparse.zip -oC:\deps\suitesparse\code -y > nul && - appveyor-retry curl -SsfLk -o C:\dl\ssb.zip https://github.com/jlblancoc/suitesparse-metis-for-windows/archive/e8d953dffb8a99aa8b65ff3ff03e12a3ed72f90c.zip && - 7z x C:\dl\ssb.zip -oC:\deps\suitesparse\code -y > nul && - cd C:\deps\suitesparse\code && - xcopy .\SuiteSparse-5.7.2 .\suitesparse-metis-for-windows-e8d953dffb8a99aa8b65ff3ff03e12a3ed72f90c\SuiteSparse /s /e /y /q && - rmdir /s/q C:\deps\suitesparse\code\suitesparse-metis-for-windows-e8d953dffb8a99aa8b65ff3ff03e12a3ed72f90c\lapack_windows && - cd C:\deps\suitesparse\code && - mkdir build && cd build && - cmake -DCMAKE_INSTALL_PREFIX="C:\deps\suitesparse\install\%VS%" -DBLA_VENDOR=Intel10_64lp_seq -DBLA_STATIC=OFF -G "%GENERATOR%" -A x64 -DCMAKE_C_FLAGS="/GL" -DCMAKE_STATIC_LINKER_FLAGS="/LTCG" -DCMAKE_BUILD_TYPE=Release -DBUILD_METIS=OFF ..\suitesparse-metis-for-windows-e8d953dffb8a99aa8b65ff3ff03e12a3ed72f90c\ && - cd C:\deps\suitesparse\code\build && msbuild.exe INSTALL.vcxproj /p:Configuration=Release;Platform=x64 /maxcpucount:%NTHREADS%) - # Binary TBB - - cmd: IF NOT EXIST C:\deps\tbb ( - appveyor-retry curl -LfsS -o C:\dl\tbb.zip https://github.com/oneapi-src/oneTBB/releases/download/v2020.2/tbb-2020.2-win.zip && - 7z x C:\dl\tbb.zip -oC:\deps\tbb\ -y > nul && - cd C:\deps\tbb\ && rename tbb install && - cd C:\deps\tbb\install && - cd C:\deps\tbb\install\lib) - # Install HDF5 from source - - cmd: IF NOT EXIST C:\deps\hdf5 ( - appveyor-retry curl -SsfLk -o C:\dl\hdf5.zip https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.0/src/CMake-hdf5-1.12.0.zip && - 7z x C:\dl\hdf5.zip -oC:\deps\hdf5\code -y > nul && - cd C:\deps\hdf5\code\CMake-hdf5-1.12.0 && cmake -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_SHARED_LIBS:BOOL=ON -DHDF5_BUILD_FORTRAN:BOOL=OFF -DHDF5_ENABLE_F2003:BOOL=OFF -DHDF5_BUILD_JAVA:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=C:\deps\hdf5\install\%VS% -DCTEST_CONFIGURATION_TYPE:STRING=Release -DBUILD_TESTING=OFF -DHDF5_BUILD_TOOLS=OFF -DHDF5_BUILD_EXAMPLES=OFF -DHDF5_BUILD_HL_LIB=OFF -DHDF5_BUILD_CPP_LIB=OFF -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH=C:\deps\hdf5\code\CMake-hdf5-1.12.0 -DHDF5_PACKAGE_EXTLIBS:BOOL=ON -DSITE:STRING=WIN7VS201764.XXXX -DBUILDNAME:STRING=Windows-WIN10-vs2019-STATIC -G "%GENERATOR%" -A x64 hdf5-1.12.0\ && - cd C:\deps\hdf5\code\CMake-hdf5-1.12.0 && msbuild.exe INSTALL.vcxproj /p:Configuration=Release;Platform=x64 /maxcpucount:%NTHREADS% && - cd C:\deps\hdf5\install\%VS% && - cd C:\deps\hdf5\install\%VS%\lib) - -build_script: - - cmd: |- - set HDF5_ROOT=C:\deps\hdf5\install\%VS% - set HDF5_ROOT=C:\deps\hdf5\install\%VS% - set UMFPACK_ROOT=C:\deps\suitesparse\install\%VS% - set TBB_ROOT=C:\deps\tbb\install - cd C:\cadet && mkdir build && mkdir build\%VS% && cd build\%VS% && cmake ..\..\code -DTBB_LIB_PATH_SUFFIX="lib/intel64/vc14" -DBLA_VENDOR=Intel10_64lp_seq -G "%GENERATOR%" -A x64 -DCMAKE_INSTALL_PREFIX="C:\cadet\%VS%\cadet" -DCMAKE_BUILD_TYPE=%configuration% -DENABLE_CADET_MEX=OFF -DENABLE_STATIC_LINK_DEPS=ON - cd C:\cadet\build\%VS% && msbuild.exe INSTALL.vcxproj /p:Configuration=Release;Platform=x64 /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /maxcpucount:%NTHREADS% - # Copy runtime (TBB, MKL) to testRunner folder - - cmd: |- - copy C:\deps\tbb\install\bin\intel64\vc14\tbb.dll C:\cadet\build\%VS%\test\Release\ - copy C:\deps\tbb\install\bin\intel64\vc14\tbb_preview.dll C:\cadet\build\%VS%\test\Release\ - copy C:\deps\packages\intelmkl.redist.win-x64.2020.1.216\runtimes\win-x64\native\mkl_sequential.dll C:\cadet\build\%VS%\test\Release\ - copy C:\deps\packages\intelmkl.redist.win-x64.2020.1.216\runtimes\win-x64\native\mkl_core.dll C:\cadet\build\%VS%\test\Release\ - copy C:\deps\packages\intelmkl.redist.win-x64.2020.1.216\runtimes\win-x64\native\mkl_avx2.dll C:\cadet\build\%VS%\test\Release\ - copy C:\deps\packages\intelmkl.redist.win-x64.2020.1.216\runtimes\win-x64\native\mkl_def.dll C:\cadet\build\%VS%\test\Release\ - # Copy runtime (TBB, MKL) to release folder - - cmd: |- - copy C:\deps\tbb\install\bin\intel64\vc14\tbb.dll C:\cadet\%VS%\cadet\bin\ - copy C:\deps\tbb\install\bin\intel64\vc14\tbb_preview.dll C:\cadet\%VS%\cadet\bin\ - copy C:\deps\packages\intelmkl.redist.win-x64.2020.1.216\runtimes\win-x64\native\mkl_sequential.dll C:\cadet\%VS%\cadet\bin\ - copy C:\deps\packages\intelmkl.redist.win-x64.2020.1.216\runtimes\win-x64\native\mkl_core.dll C:\cadet\%VS%\cadet\bin\ - copy C:\deps\packages\intelmkl.redist.win-x64.2020.1.216\runtimes\win-x64\native\mkl_avx2.dll C:\cadet\%VS%\cadet\bin\ - copy C:\deps\packages\intelmkl.redist.win-x64.2020.1.216\runtimes\win-x64\native\mkl_def.dll C:\cadet\%VS%\cadet\bin\ - -test_script: - - cmd: cd C:\cadet\build\%VS%\test\Release && testRunner.exe -d yes --tbbthreads %NTHREADS% --use-colour no [ci] - -cache: - - C:\deps\hdf5\install - - C:\deps\tbb\install - - C:\deps\suitesparse\install - - C:\deps\packages diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..31d5df346 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,171 @@ +name: CI + +on: [push, pull_request] + +jobs: + Win64: + runs-on: windows-latest + strategy: + fail-fast: true + env: + BASE_DIR: ${{ github.workspace }} + SRC_DIR: ${{ github.workspace }}/src + BUILD_DIR: ${{ github.workspace }}/build + INSTALL_PREFIX: ${{ github.workspace }}/cadet + steps: + - uses: actions/checkout@v3 + with: + submodules: true + path: src + - uses: ilammy/msvc-dev-cmd@v1 + - uses: actions/cache@v3 + id: cache + with: + path: | + ${{ github.workspace }}/hdf5 + ${{ github.workspace }}/suitesparse/install + key: ${{ runner.os }}-deps + - name: Download MKL and TBB + run: | + cd "${env:BASE_DIR}" + $base_dir = $($env:BASE_DIR.Replace('\', '/')) + nuget install inteltbb.devel.win -Version 2021.8.0.25874 + nuget install intelmkl.static.win-x64 -Version 2023.0.0.25930 + Invoke-WebRequest -Uri "https://gitlab.com/libeigen/eigen/-/archive/master/eigen-master.zip" -OutFile eigen.zip + 7z x eigen.zip + - name: Build UMFPACK and HDF5 + if: steps.cache.outputs.cache-hit != 'true' + run: | + $base_dir = $($env:BASE_DIR.Replace('\', '/')) + Invoke-WebRequest -Uri "https://www.hdfgroup.org/package/cmake-hdf5-1-14-0-zip/?wpdmdl=17553" -OutFile hdf5.zip + 7z x hdf5.zip + cd CMake-hdf5-1.14.0 + cmake -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_SHARED_LIBS:BOOL=ON -DHDF5_BUILD_FORTRAN:BOOL=OFF -DHDF5_ENABLE_F2003:BOOL=OFF -DHDF5_BUILD_JAVA:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH="${base_dir}/hdf5" -DCTEST_CONFIGURATION_TYPE:STRING=Release -DBUILD_TESTING=OFF -DHDF5_BUILD_TOOLS=OFF -DHDF5_BUILD_EXAMPLES=OFF -DHDF5_BUILD_HL_LIB=OFF -DHDF5_BUILD_CPP_LIB=OFF -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH="${base_dir}/CMake-hdf5-1.14.0" -DHDF5_PACKAGE_EXTLIBS:BOOL=ON -DSITE:STRING=WIN10VS202264.XXXX -DBUILDNAME:STRING=Windows-WIN10-vs2022-STATIC -G "Ninja" hdf5-1.14.0 + ninja install + cd "${env:BASE_DIR}" + Invoke-WebRequest -Uri "https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v5.7.2.zip" -OutFile suitesparse.zip + 7z x suitesparse.zip -osuitesparse\code -y + Invoke-WebRequest -Uri "https://github.com/jlblancoc/suitesparse-metis-for-windows/archive/e8d953dffb8a99aa8b65ff3ff03e12a3ed72f90c.zip" -OutFile ssb.zip + 7z x ssb.zip -osuitesparse\code -y + cd ${env:BASE_DIR}\suitesparse\code + xcopy .\SuiteSparse-5.7.2 .\suitesparse-metis-for-windows-e8d953dffb8a99aa8b65ff3ff03e12a3ed72f90c\SuiteSparse /s /e /y /q + cd "${env:BASE_DIR}\suitesparse\code\suitesparse-metis-for-windows-e8d953dffb8a99aa8b65ff3ff03e12a3ed72f90c" + Remove-Item -ErrorAction Ignore -Recurse -Force lapack_windows + Remove-Item -ErrorAction Ignore -Recurse -Force lapack_windows + cd "${env:BASE_DIR}\suitesparse\code" + mkdir build + cd build + $ENV:MKLROOT="${env:BASE_DIR}/intelmkl.static.win-x64.2023.0.0.25930/lib/native/win-x64".Replace('\', '/') + cmake -DCMAKE_INSTALL_PREFIX="${base_dir}\suitesparse\install" -DBLA_VENDOR=Intel10_64lp_seq -DBLA_STATIC=ON -G "Ninja" -DCMAKE_C_FLAGS="/GL" -DCMAKE_STATIC_LINKER_FLAGS="/LTCG" -DCMAKE_BUILD_TYPE=Release -DBUILD_METIS=OFF ..\suitesparse-metis-for-windows-e8d953dffb8a99aa8b65ff3ff03e12a3ed72f90c\ + ninja install + - name: Build and Install + run: | + cd "${env:BASE_DIR}" + cmake -E make_directory "${env:BUILD_DIR}" + cmake -E make_directory "${env:INSTALL_PREFIX}" + cd "${env:BUILD_DIR}" + $ENV:MKLROOT="${env:BASE_DIR}/intelmkl.static.win-x64.2023.0.0.25930/lib/native/win-x64".Replace('\', '/') + $ENV:TBB_ROOT="${env:BASE_DIR}/inteltbb.devel.win.2021.8.0.25874/lib/native".Replace('\', '/') + $ENV:UMFPACK_ROOT="${env:BASE_DIR}/suitesparse/install".Replace('\', '/') + $install_prefix = $($env:INSTALL_PREFIX.Replace('\', '/')) + $src_dir = $($env:SRC_DIR.Replace('\', '/')) + $base_dir = $($env:BASE_DIR.Replace('\', '/')) + cmake -G "Ninja" -DCMAKE_INSTALL_PREFIX="${install_prefix}" -DCMAKE_BUILD_TYPE=Release -DHDF5_ROOT="${base_dir}/hdf5" -DENABLE_CADET_MEX=OFF -DENABLE_STATIC_LINK_DEPS=ON -DENABLE_STATIC_LINK_LAPACK=ON -DBLA_VENDOR=Intel10_64lp_seq "${src_dir}" + ninja + ninja install + - name: Include Deps and Package + run: | + cd "${env:BASE_DIR}" + Copy-Item "${env:BASE_DIR}\inteltbb.redist.win.2021.8.0.25874\runtimes\win-x64\native\tbb12.dll" "${env:INSTALL_PREFIX}\bin\" + Copy-Item "${env:BASE_DIR}\inteltbb.redist.win.2021.8.0.25874\runtimes\win-x64\native\tbb12.dll" "${env:BUILD_DIR}\src\cadet-cli\" + Copy-Item "${env:BASE_DIR}\inteltbb.redist.win.2021.8.0.25874\runtimes\win-x64\native\tbb12.dll" "${env:BUILD_DIR}\test\" + 7z a "${env:BASE_DIR}\cadet-${{ runner.os }}.zip" cadet\ + - name: Check if it runs + run: | + cd "${env:INSTALL_PREFIX}\bin" + .\cadet-cli.exe --version + .\createLWE.exe + .\cadet-cli.exe LWE.h5 + - name: Upload Artifacts + uses: actions/upload-artifact@v3 + with: + name: cadet-${{ runner.os }} + retention-days: 5 + path: ${{ github.workspace }}/cadet-${{ runner.os }}.zip + Ubuntu-latest: + runs-on: ubuntu-latest + strategy: + fail-fast: true + defaults: + run: + shell: bash -l {0} + env: + SRC_DIR: ${{ github.workspace }}/src + BUILD_DIR: ${{ github.workspace }}/build + INSTALL_PREFIX: ${{ github.workspace }}/install + BUILD_TYPE: Release + steps: + - uses: actions/checkout@v3 + with: + submodules: true + path: src + - name: Install Dependencies + run: | + sudo apt -y install \ + build-essential \ + libhdf5-dev \ + liblapack-dev \ + libblas-dev \ + libtbb-dev \ + libsuperlu-dev \ + libeigen3-dev; + - name: Build and Install + run: | + cmake -E make_directory "${BUILD_DIR}" + cmake -E make_directory "${INSTALL_PREFIX}" + cd "${BUILD_DIR}" + cmake -DCMAKE_INSTALL_PREFIX="${INSTALL_PREFIX}" -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" -DENABLE_CADET_MEX=OFF "${SRC_DIR}" + make install -j$(nproc) + - name: Check if it runs + run: | + export LD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:$LD_LIBRARY_PATH + ${INSTALL_PREFIX}/bin/cadet-cli --version || true + ${INSTALL_PREFIX}/bin/createLWE + ${INSTALL_PREFIX}/bin/cadet-cli LWE.h5 || true + MacOS: + runs-on: macos-latest + strategy: + fail-fast: true + defaults: + run: + shell: bash -l {0} + env: + SRC_DIR: ${{ github.workspace }}/src + BUILD_DIR: ${{ github.workspace }}/build + INSTALL_PREFIX: ${{ github.workspace }}/install + BUILD_TYPE: Release + steps: + - uses: actions/checkout@v3 + with: + submodules: true + path: src + - name: Install Dependencies + run: | + brew update > /dev/null || true + brew install cmake --without-docs + brew install hdf5 + brew install tbb + brew install eigen + - name: Build and Install + run: | + cmake -E make_directory "${BUILD_DIR}" + cmake -E make_directory "${INSTALL_PREFIX}" + cd "${BUILD_DIR}" + cmake -DCMAKE_INSTALL_PREFIX="${INSTALL_PREFIX}" -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" -DENABLE_CADET_MEX=OFF "${SRC_DIR}" + make install -j$(sysctl -n hw.logicalcpu) + - name: Check if it runs + run: | + ${INSTALL_PREFIX}/bin/cadet-cli --version || true + ${INSTALL_PREFIX}/bin/createLWE + ${INSTALL_PREFIX}/bin/cadet-cli LWE.h5 || true + diff --git a/.github/workflows/deploy_documentation.yml b/.github/workflows/deploy_documentation.yml new file mode 100644 index 000000000..eb666539a --- /dev/null +++ b/.github/workflows/deploy_documentation.yml @@ -0,0 +1,14 @@ +name: "Trigger for dispatching CADET-Website" +on: push + +jobs: + dispatch_docs: + runs-on: ubuntu-latest + steps: + - name: Emit repository_dispatch + uses: mvasigh/dispatch-action@main + with: + token: ${{ secrets.DISPATCH_DOCS }} + repo: CADET-Website + owner: modsim + event_type: build_docs diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8b36f6aa0..000000000 --- a/.travis.yml +++ /dev/null @@ -1,127 +0,0 @@ - -# Exclude GitHub pages and AppVeyor branches -branches: - except: - - gh-pages - - /feature\/.*appveyor.*/ - -language: cpp - -# Use Linux unless specified otherwise -os: linux -dist: bionic - -git: - depth: 2 - -cache: - directories: - - ${TRAVIS_BUILD_DIR}/deps - -matrix: - include: - - # Clang on OSX - - # XCode 11.3.1 on OS X 10.14 (clang 8) - - env: COMPILERCPP=clang++ COMPILERC=clang BUILD_TYPE=Release NTHREADS=2 - os: osx - osx_image: xcode11.3 - compiler: clang - - # Clang on Linux - - # Clang 7.0 - - env: COMPILERCPP=clang++ COMPILERC=clang BUILD_TYPE=Release NTHREADS=2 - addons: - apt: - packages: - - cmake - - libblas-dev - - liblapack-dev - - libhdf5-dev - - libsuitesparse-dev - - libsuperlu-dev - - # GCC on Linux - - # GCC 7.5.0 - - env: COMPILERCPP=g++ COMPILERC=gcc BUILD_TYPE=Release NTHREADS=2 - addons: - apt: - packages: - - cmake - - libblas-dev - - liblapack-dev - - libhdf5-dev - - libsuitesparse-dev - - libsuperlu-dev - -before_install: - # Dependencies required by the CI are installed in ${TRAVIS_BUILD_DIR}/deps/ - - DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" - - mkdir -p "${DEPS_DIR}" - - cd "${DEPS_DIR}" - # OSX: Install packages - - | - if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then - brew update - brew install cmake --without-docs || brew upgrade cmake - brew install hdf5 || brew upgrade hdf5 - brew install tbb || brew upgrade tbb - brew install suite-sparse || brew upgrade suite-sparse - fi - - export CXX=${COMPILERCPP} - - export CC=${COMPILERC} - - ${CC} --version - - ${CXX} --version - # Travis machines have 2 cores - - JOBS=2 - # Linux: Install a recent CMake - - CMAKE_VERSION=3.17.0 - - | - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then - CMAKE_URL="https://cmake.org/files/v${CMAKE_VERSION%.[0-9]}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" - mkdir cmake && travis_retry wget --no-check-certificate -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake - export PATH=${DEPS_DIR}/cmake/bin:${PATH} - fi - - cmake --version - # Linux: Install TBB - - | - TBB_INSTALL=${DEPS_DIR}/tbb/install - TBB_VERSION="2020_U2" - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then - if [[ ! -d "${DEPS_DIR}/tbb" || ! -d "${TBB_INSTALL}" ]]; then - TBB_URL="https://github.com/01org/tbb/archive/${TBB_VERSION}.tar.gz" - mkdir -p tbb - travis_retry wget -O - ${TBB_URL} | tar --strip-components=1 -xz -C tbb - TBB_BUILD=${DEPS_DIR}/tbb/build - if [[ "${CXX%%+*}" == "clang" ]]; then - (cd tbb && make compiler=clang stdver=c++14 tbb_build_dir=${TBB_BUILD} -j${JOBS}) - (cd tbb && make tbb_cpf=1 compiler=clang stdver=c++14 tbb_build_dir=${TBB_BUILD} -j${JOBS}) - else - (cd tbb && make compiler=gcc stdver=c++14 tbb_build_dir=${TBB_BUILD} -j${JOBS}) - (cd tbb && make tbb_cpf=1 compiler=gcc stdver=c++14 tbb_build_dir=${TBB_BUILD} -j${JOBS}) - fi - mkdir -p ${TBB_INSTALL}/lib - mkdir -p ${TBB_INSTALL}/include - (cd tbb && cp -r include/tbb ${TBB_INSTALL}/include/) - find ${TBB_BUILD} -iname '*.so*' -exec cp {} ${TBB_INSTALL}/lib/ \; - mkdir -p ${TBB_INSTALL}/lib/intel64 - ln -s ${TBB_INSTALL}/lib ${TBB_INSTALL}/lib/intel64/gcc4.4 - fi - export TBB_ROOT="${TBB_INSTALL}" - export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${TBB_INSTALL}/lib" - export LIBRARY_PATH="${LIBRARY_PATH}:${TBB_INSTALL}/lib" - fi - -before_script: - # Configure CMake - - cd "${TRAVIS_BUILD_DIR}" - - mkdir build && cd build - - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/install -DENABLE_CADET_MEX=OFF - -script: - # Build and run tests - - make install -j${JOBS} - - test/testRunner -d yes --tbbthreads ${NTHREADS} [ci] diff --git a/README.rst b/README.rst index 47539c093..ffc83ee30 100644 --- a/README.rst +++ b/README.rst @@ -7,11 +7,8 @@ CADET .. image:: https://img.shields.io/github/downloads/modsim/cadet/latest/total.svg :target: https://github.com/modsim/CADET/releases -.. image:: https://img.shields.io/travis/modsim/CADET/master.svg?logo=travis&maxAge=3600) - :target: https://travis-ci.org/modsim/CADET - -.. image:: https://img.shields.io/appveyor/ci/sleweke/cadet/master.svg?logo=appveyor&maxAge=3600svg=true - :target: https://ci.appveyor.com/project/sleweke/cadet +.. image:: https://github.com/modsim/CADET/actions/workflows/ci.yml/badge.svg + :target: https://github.com/modsim/CADET/actions - **Website (including documentation):** https://cadet.github.io - **Forum:** https://forum.cadet-web.de diff --git a/cmake/Modules/FindTBB.cmake b/cmake/Modules/FindTBB.cmake index 7adb9974d..3babcd4c6 100644 --- a/cmake/Modules/FindTBB.cmake +++ b/cmake/Modules/FindTBB.cmake @@ -60,8 +60,8 @@ # # This module will set the following variables: # -# * TBB_FOUND - Set to false, or undefined, if we haven’t found, or -# don’t want to use TBB. +# * TBB_FOUND - Set to false, or undefined, if we haven't found, or +# don't want to use TBB. # * TBB__FOUND - If False, optional part of TBB sytem is # not available. # * TBB_VERSION - The full version string @@ -170,6 +170,7 @@ if(NOT TBB_FOUND) # Add the library path search suffix for the VC independent version of TBB list(APPEND TBB_LIB_PATH_SUFFIX "lib/${TBB_ARCHITECTURE}/vc_mt") + list(APPEND TBB_LIB_PATH_SUFFIX "win-x64") elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") # OS X