Skip to content

fix example makefile for Windows #44

fix example makefile for Windows

fix example makefile for Windows #44

Workflow file for this run

name: Release
on:
push:
tags:
- 'v**'
permissions:
contents: write
env:
BUILD_TYPE: Release
jobs:
build_linux_x86-64:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install Packages
run: sudo apt install -y libboost-dev libeigen3-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev
- name: Build Libfftw
run: ./script/libfftw.sh
- name: Build Libint
run: ./script/libint.sh
- name: Configure Acorn
run: cmake -B build -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
- name: Build Acorn
run: |
export CPLUS_INCLUDE_PATH="$PWD/libfftw/install/include:$PWD/libint/install/include:$CPLUS_INCLUDE_PATH"
export LIBRARY_PATH="$PWD/libfftw/install/lib:$PWD/libint/install/lib:$LIBRARY_PATH"
cmake --build build --parallel 2
- name: Rename Binaries
run: |
mv bin/acorn_cdyn bin/acorn_cdyn_linux_x86-64
mv bin/acorn_ci bin/acorn_ci_linux_x86-64
mv bin/acorn_expression bin/acorn_expression_linux_x86-64
mv bin/acorn_hf bin/acorn_hf_linux_x86-64
mv bin/acorn_integral bin/acorn_integral_linux_x86-64
mv bin/acorn_mp bin/acorn_mp_linux_x86-64
mv bin/acorn_qdyn bin/acorn_qdyn_linux_x86-64
mv bin/acorn_transform bin/acorn_transform_linux_x86-64
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: linux
path: |
bin/acorn_cdyn_linux_x86-64
bin/acorn_ci_linux_x86-64
bin/acorn_expression_linux_x86-64
bin/acorn_hf_linux_x86-64
bin/acorn_integral_linux_x86-64
bin/acorn_mp_linux_x86-64
bin/acorn_qdyn_linux_x86-64
bin/acorn_transform_linux_x86-64
build_windows_x86-64:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- name: Configure Acorn
run: cmake -B build -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DSTATIC=ON
- name: Build Acorn
run: |
cmake --build build --parallel 2
- name: Rename Binaries
run: |
mv bin/acorn_cdyn.exe bin/acorn_cdyn_windows_x86-64.exe
mv bin/acorn_ci.exe bin/acorn_ci_windows_x86-64.exe
mv bin/acorn_expression.exe bin/acorn_expression_windows_x86-64.exe
mv bin/acorn_hf.exe bin/acorn_hf_windows_x86-64.exe
mv bin/acorn_integral.exe bin/acorn_integral_windows_x86-64.exe
mv bin/acorn_mp.exe bin/acorn_mp_windows_x86-64.exe
mv bin/acorn_qdyn.exe bin/acorn_qdyn_windows_x86-64.exe
mv bin/acorn_transform.exe bin/acorn_transform_windows_x86-64.exe
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: windows
path: |
bin/acorn_cdyn_windows_x86-64.exe
bin/acorn_ci_windows_x86-64.exe
bin/acorn_expression_windows_x86-64.exe
bin/acorn_hf_windows_x86-64.exe
bin/acorn_integral_windows_x86-64.exe
bin/acorn_mp_windows_x86-64.exe
bin/acorn_qdyn_windows_x86-64.exe
bin/acorn_transform_windows_x86-64.exe
release:
runs-on: ubuntu-latest
needs: [build_linux_x86-64, build_windows_x86-64]
steps:
- uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
- name: Remove Redundant Scripts
run: rm basis/update.sh example/molecule/generate.sh
- name: Copy x86-64 Linux Binaries to the Root Folder
run: |
cp linux/acorn_cdyn_linux_x86-64 acorn_cdyn
cp linux/acorn_ci_linux_x86-64 acorn_ci
cp linux/acorn_expression_linux_x86-64 acorn_expression
cp linux/acorn_hf_linux_x86-64 acorn_hf
cp linux/acorn_integral_linux_x86-64 acorn_integral
cp linux/acorn_mp_linux_x86-64 acorn_mp
cp linux/acorn_qdyn_linux_x86-64 acorn_qdyn
cp linux/acorn_transform_linux_x86-64 acorn_transform
- name: Create x86-64 Linux Packages
run: |
tar -czf acorn_linux_x86-64.tar.gz acorn_cdyn acorn_ci acorn_expression acorn_hf acorn_integral acorn_mp acorn_qdyn acorn_transform basis example script/plot.py LICENSE.md
- name: Copy x86-64 Windows Static Binaries to the Root Folder
run: |
cp windows/acorn_cdyn_windows_x86-64.exe acorn_cdyn.exe
cp windows/acorn_ci_windows_x86-64.exe acorn_ci.exe
cp windows/acorn_expression_windows_x86-64.exe acorn_expression.exe
cp windows/acorn_hf_windows_x86-64.exe acorn_hf.exe
cp windows/acorn_integral_windows_x86-64.exe acorn_integral.exe
cp windows/acorn_mp_windows_x86-64.exe acorn_mp.exe
cp windows/acorn_qdyn_windows_x86-64.exe acorn_qdyn.exe
cp windows/acorn_transform_windows_x86-64.exe acorn_transform.exe
- name: Create x86-64 Static Windows Packages
run: |
zip -r acorn_windows_x86-64.zip acorn_cdyn.exe acorn_ci.exe acorn_expression.exe acorn_hf.exe acorn_integral.exe acorn_mp.exe acorn_qdyn.exe acorn_transform.exe basis example script/plot.py LICENSE.md
- name: Release linux_x86-64 Version of Acorn
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{secrets.GITHUB_TOKEN}}
file: acorn_linux_x86-64.tar.gz
tag: ${{github.ref}}
- name: Release windows_x86-64 Version of Acorn
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{secrets.GITHUB_TOKEN}}
file: acorn_windows_x86-64.zip
tag: ${{github.ref}}