Minor changes to cmake config #42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Compile and build binaries | |
# | |
# For updated Intel OneAPI URLs, see: | |
# https://github.com/oneapi-src/oneapi-ci/blob/master/.github/workflows/build_all.yml | |
name: Build binaries (Linux, Mac, Windows) | |
on: | |
workflow_dispatch: | |
push: | |
env: | |
WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/f5881e61-dcdc-40f1-9bd9-717081ac623c/intel-oneapi-base-toolkit-2025.2.1.46_offline.exe | |
LINUX_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3b7a16b3-a7b0-460f-be16-de0d64fa6b1e/intel-oneapi-base-toolkit-2025.2.1.44_offline.sh | |
jobs: | |
#------------------------------------------------ | |
build_linux_dyn_openblas: | |
name: Linux build (openblas) | |
runs-on: ubuntu-latest | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
PKGS: > | |
libxerces-c-dev xsdcxx libboost-system-dev libboost-filesystem-dev libboost-timer-dev | |
libboost-thread-dev libboost-program-options-dev libopenblas-dev liblapacke-dev | |
steps: | |
- name: Install dependencies | |
shell: bash | |
run: | | |
sudo apt-get install -y ${{ env.PKGS }} | |
- name: Check branch name | |
shell: bash | |
run: echo ${{ env.BRANCH_NAME }} | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.BRANCH_NAME }} | |
- name: Build with CMake | |
run: | | |
cmake dynadjust | |
make -j2 | |
ls -la bin/ | |
#------------------------------------------------ | |
build_linux_dyn_mkl: | |
name: Linux build (mkl) | |
runs-on: ubuntu-latest | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
PKGS: > | |
libxerces-c-dev xsdcxx libboost-system-dev libboost-filesystem-dev libboost-timer-dev | |
libboost-thread-dev libboost-program-options-dev | |
steps: | |
- name: Generate cache triggers | |
shell: bash | |
run: | | |
echo ONEAPI_HASH=$(echo "${LINUX_BASEKIT_URL}" | md5sum | cut -f 1 -d" ") >> $GITHUB_ENV | |
- name: Install dependencies | |
shell: bash | |
run: | | |
sudo apt-get install -y ${{ env.PKGS }} | |
- name: Cache Intel OneAPI | |
id: cache-oneapi | |
uses: actions/cache@v4 | |
with: | |
path: /opt/intel | |
key: intel-oneapi-linux-${{ env.ONEAPI_HASH }} | |
- name: Install Intel OneAPI | |
if: steps.cache-oneapi.outputs.cache-hit != 'true' | |
run: | | |
curl -L $LINUX_BASEKIT_URL -o install.sh | |
sudo sh install.sh -a --action install --components intel.oneapi.lin.mkl.devel --eula=accept -s | |
- name: Check branch name | |
shell: bash | |
run: echo ${{ env.BRANCH_NAME }} | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.BRANCH_NAME }} | |
- name: Build with CMake | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
cmake dynadjust | |
make -j2 | |
ls -la bin/ | |
#------------------------------------------------ | |
build_linux_static_openblas: | |
name: Linux build (openblas / static) | |
runs-on: ubuntu-latest | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
PKGS: > | |
xsdcxx libboost-system-dev libboost-filesystem-dev libboost-timer-dev | |
libboost-thread-dev libboost-program-options-dev libopenblas-dev liblapacke-dev | |
steps: | |
- name: Install dependencies | |
shell: bash | |
run: sudo apt-get install -y ${{ env.PKGS }} | |
- name: Check branch name | |
shell: bash | |
run: echo ${{ env.BRANCH_NAME }} | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.BRANCH_NAME }} | |
- name: Build static xerces | |
run: | | |
XERCES_VERSION=3.2.4 | |
curl -L -O https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-${XERCES_VERSION}.tar.bz2 | |
bzip2 -dc xerces-c-${XERCES_VERSION}.tar.bz2 | tar xvf - | |
cd xerces-c-${XERCES_VERSION} | |
PKG_CONFIG="pkg-config --static" ./configure --without-curl --without-icu --enable-static --disable-shared | |
make -j2 | |
sudo make install | |
- name: Build with CMake | |
run: | | |
cmake -DBUILD_STATIC=ON dynadjust | |
make -j2 | |
ls -la static/ | |
- name: Prepare artifacts | |
run: | | |
for f in ./static/*; do strip $f; done | |
mkdir -p ./zip/dynadjust-linux-static | |
mv ./static/* ./zip/dynadjust-linux-static | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: dynadjust-linux-openblas-static | |
path: ./zip/ | |
#------------------------------------------------ | |
build_mac_dyn: | |
name: Mac build (accelerate) | |
runs-on: macos-15 | |
steps: | |
- name: Install dependencies | |
shell: bash | |
run: brew install boost xerces-c xsd | |
- name: Check branch name | |
shell: bash | |
run: echo ${{ env.BRANCH_NAME }} | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.BRANCH_NAME }} | |
- name: Build with CMake | |
run: | | |
cmake dynadjust | |
make -j2 VERBOSE=1 | |
ls -la bin/ | |
#------------------------------------------------ | |
build_mac_static: | |
name: Mac build (accelerate / static) | |
runs-on: macos-15 | |
steps: | |
- name: Install dependencies | |
shell: bash | |
run: brew install boost xerces-c xsd | |
- name: Check branch name | |
shell: bash | |
run: echo ${{ env.BRANCH_NAME }} | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.BRANCH_NAME }} | |
- name: Build with CMake | |
run: | | |
cmake -DBUILD_STATIC=ON dynadjust | |
make -j2 VERBOSE=1 | |
ls -la static/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: dynadjust-macos-static | |
path: ./static/ | |
#------------------------------------------------ | |
build_windows_dyn_mkl: | |
name: Windows build (mkl) | |
runs-on: windows-2025 | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
VCPKG_PACKAGES: boost-geometry boost-process boost-iostreams boost-spirit boost-system boost-filesystem boost-timer boost-thread boost-program-options boost-interprocess xerces-c vcpkg-tool-ninja | |
VCPKG_INSTALLATION_ROOT: "C:/vcpkg" | |
VCPKG_BINARY_SOURCES: "clear" | |
ONEAPI_VERSION: "2025.2" | |
steps: | |
- name: Generate cache triggers | |
shell: bash | |
run: | | |
echo VCPKG_HASH=$(echo "${VCPKG_PACKAGES}" | sed "s/ /_/g" | md5sum | cut -f 1 -d" ") >> $GITHUB_ENV | |
echo ONEAPI_HASH=$(echo "${WINDOWS_BASEKIT_URL}" | md5sum | cut -f 1 -d" ") >> $GITHUB_ENV | |
- name: Cache vcpkg | |
id: cache-vcpkg | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.VCPKG_INSTALLATION_ROOT }}/installed | |
key: vcpkg-${{ runner.os }}-${{ env.VCPKG_HASH }} | |
- name: Cache Intel OneAPI | |
id: cache-oneapi | |
uses: actions/cache@v4 | |
with: | |
path: C:\Program Files (x86)\Intel\oneAPI | |
key: intel-oneapi-${{ env.ONEAPI_HASH }} | |
- name: Install vcpkg prerequisites | |
if: steps.cache-vcpkg.outputs.cache-hit != 'true' | |
shell: powershell | |
run: | | |
vcpkg.exe --triplet=x64-windows install ${{ env.VCPKG_PACKAGES }} | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/.git | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/buildtrees | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/downloads | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/.github | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/docs | |
- name: List installed packages | |
shell: powershell | |
run: vcpkg.exe list | |
- name: Install Intel OneAPI | |
if: steps.cache-oneapi.outputs.cache-hit != 'true' | |
shell: powershell | |
run: | | |
Write-Host "Installing Intel OneAPI..." | |
$url = $env:WINDOWS_BASEKIT_URL | |
$components = "intel.oneapi.win.mkl.devel" | |
$tempExe = Join-Path $env:TEMP "webimage.exe" | |
Write-Host "Downloading installer from $url..." | |
curl.exe -L $url -o $tempExe | |
Write-Host "Extracting installer..." | |
$installerArgs = "-s -x -f webimage_extracted --log extract.log" | |
$proc = Start-Process -FilePath $tempExe -ArgumentList $installerArgs -NoNewWindow -Wait -PassThru | |
Remove-Item $tempExe -Force | |
$bootstrapperPath = Join-Path -Path (Join-Path $PWD "webimage_extracted") "bootstrapper.exe" | |
Write-Host "Listing available components..." | |
$procBootstrap = Start-Process -FilePath $bootstrapperPath -ArgumentList "--list-components" -NoNewWindow -Wait -PassThru -RedirectStandardOutput components | |
get-content components | |
Write-Host "Running bootstrapper..." | |
$bootstrapArgs = "-s --action install --components=$components --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=0 --log-dir=." | |
$procBootstrap = Start-Process -FilePath $bootstrapperPath -ArgumentList $bootstrapArgs -NoNewWindow -Wait -PassThru | |
Remove-Item -Recurse -Force "webimage_extracted" | |
- name: Check branch name | |
shell: bash | |
run: echo ${{ env.BRANCH_NAME }} | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.BRANCH_NAME }} | |
path: "./src" | |
- name: Download and install xsd | |
working-directory: "./src" | |
shell: bash | |
run: | | |
curl.exe -L -O https://www.codesynthesis.com/download/xsd/4.2/libxsd-4.2.0.tar.gz | |
tar zxvf libxsd-4.2.0.tar.gz | |
- name: Extract OneAPI version | |
shell: powershell | |
run: | | |
# Extract version from URL (e.g., 2025.2.1 -> 2025.2) | |
$url = "${{ env.WINDOWS_BASEKIT_URL }}" | |
if ($url -match 'toolkit-(\d+\.\d+)\.\d+') { | |
$version = $matches[1] | |
echo "ONEAPI_VERSION=$version" >> $env:GITHUB_ENV | |
Write-Host "Extracted OneAPI version: $version" | |
} else { | |
Write-Host "Failed to extract version, using default 2025.2" | |
echo "ONEAPI_VERSION=2025.2" >> $env:GITHUB_ENV | |
} | |
- name: Build with CMake | |
working-directory: "./src" | |
shell: cmd | |
run: | | |
vcpkg.exe integrate install | |
call "C:\Program Files (x86)\Intel\oneAPI\compiler\%ONEAPI_VERSION%\env\vars.bat" | |
call "C:\Program Files (x86)\Intel\oneAPI\mkl\%ONEAPI_VERSION%\env\vars.bat" | |
set XSDROOT=%cd%\libxsd-4.2.0 | |
set VPKG_INCLUDE=${{ env.VCPKG_INSTALLATION_ROOT }}\installed\x64-windows\include | |
set INCLUDE=%XSDROOT%;%VPKG_INCLUDE%;%INCLUDE% | |
set UseEnv=true | |
cmake -DUSE_MKL=ON ^ | |
-DVCPKG_MANIFEST_MODE=OFF ^ | |
-DCMAKE_TOOLCHAIN_FILE"=${{ env.VCPKG_INSTALLATION_ROOT }}/scripts/buildsystems/vcpkg.cmake" ^ | |
-G "Visual Studio 17 2022" -A x64 dynadjust | |
cmake --build %cd% --config Release --parallel 2 | |
- name: Collate artifacts | |
shell: bash | |
run: | | |
# collating artifacts | |
mkdir -p release | |
mkdir -p release/DynAdjust-Windows | |
echo "Copying files into release folder" | |
cp -f ./src/bin/*.dll ./release/DynAdjust-Windows/ 2>/dev/null || true | |
cp -f ./src/bin/*.exe ./release/DynAdjust-Windows/ 2>/dev/null || true | |
ls -la ./release/DynAdjust-Windows/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: dynadjust-windows-mkl | |
path: ./release/ | |
#------------------------------------------------ | |
build_windows_dyn_openblas: | |
name: Windows build (openblas) | |
runs-on: windows-2025 | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
VCPKG_PACKAGES: boost-geometry boost-process boost-iostreams boost-spirit boost-system boost-filesystem boost-timer boost-thread boost-program-options boost-interprocess xerces-c vcpkg-tool-ninja openblas lapack-reference | |
VCPKG_INSTALLATION_ROOT: "C:/vcpkg" | |
VCPKG_BINARY_SOURCES: "clear" | |
steps: | |
- name: Generate cache triggers | |
shell: bash | |
run: | | |
echo VCPKG_HASH=$(echo "${VCPKG_PACKAGES}" | sed "s/ /_/g" | md5sum | cut -f 1 -d" ") >> $GITHUB_ENV | |
- name: Cache vcpkg | |
id: cache-vcpkg | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.VCPKG_INSTALLATION_ROOT }}/installed | |
key: vcpkg-${{ runner.os }}-openblas-${{ env.VCPKG_HASH }} | |
- name: Install vcpkg prerequisites | |
if: steps.cache-vcpkg.outputs.cache-hit != 'true' | |
shell: powershell | |
run: | | |
vcpkg.exe --triplet=x64-windows install ${{ env.VCPKG_PACKAGES }} | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/.git | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/buildtrees | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/downloads | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/.github | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/docs | |
- name: List installed packages | |
shell: powershell | |
run: vcpkg.exe list | |
- name: Check branch name | |
shell: bash | |
run: echo ${{ env.BRANCH_NAME }} | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.BRANCH_NAME }} | |
path: "./src" | |
- name: Download and install xsd | |
working-directory: "./src" | |
shell: bash | |
run: | | |
curl.exe -L -O https://www.codesynthesis.com/download/xsd/4.2/libxsd-4.2.0.tar.gz | |
tar zxvf libxsd-4.2.0.tar.gz | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Build with CMake | |
working-directory: "./src" | |
shell: cmd | |
run: | | |
vcpkg.exe integrate install | |
setx WindowsTargetPlatformVersion 10.0.22621.0 | |
set XSDROOT=%cd%\libxsd-4.2.0 | |
cmake -DUSE_MKL=OFF ^ | |
-DVCPKG_MANIFEST_MODE=OFF ^ | |
-DCMAKE_TOOLCHAIN_FILE"=${{ env.VCPKG_INSTALLATION_ROOT }}/scripts/buildsystems/vcpkg.cmake" ^ | |
-G "Visual Studio 17 2022" -A x64 dynadjust | |
cmake --build %cd% --config Release --parallel 2 | |
- name: Collate artifacts | |
shell: bash | |
run: | | |
# collating artifacts | |
mkdir -p release | |
mkdir -p release/DynAdjust-Windows | |
echo "Copying files into release folder" | |
cp -f ./src/bin/*.dll ./release/DynAdjust-Windows/ 2>/dev/null || true | |
cp -f ./src/bin/*.exe ./release/DynAdjust-Windows/ 2>/dev/null || true | |
ls -la ./release/DynAdjust-Windows/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: dynadjust-windows-openblas | |
path: ./release/ | |
build_windows_dyn_mkl_with_openblas_installed: | |
name: Windows build openblas installed (mkl) | |
runs-on: windows-2025 | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
VCPKG_PACKAGES: boost-geometry boost-process boost-iostreams boost-spirit boost-system boost-filesystem boost-timer boost-thread boost-program-options boost-interprocess xerces-c vcpkg-tool-ninja openblas lapack-reference | |
VCPKG_INSTALLATION_ROOT: "C:/vcpkg" | |
VCPKG_BINARY_SOURCES: "clear" | |
ONEAPI_VERSION: "2025.2" | |
steps: | |
- name: Generate cache triggers | |
shell: bash | |
run: | | |
echo VCPKG_HASH=$(echo "${VCPKG_PACKAGES}" | sed "s/ /_/g" | md5sum | cut -f 1 -d" ") >> $GITHUB_ENV | |
echo ONEAPI_HASH=$(echo "${WINDOWS_BASEKIT_URL}" | md5sum | cut -f 1 -d" ") >> $GITHUB_ENV | |
- name: Cache vcpkg | |
id: cache-vcpkg | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.VCPKG_INSTALLATION_ROOT }}/installed | |
key: vcpkg-${{ runner.os }}-${{ env.VCPKG_HASH }} | |
- name: Cache Intel OneAPI | |
id: cache-oneapi | |
uses: actions/cache@v4 | |
with: | |
path: C:\Program Files (x86)\Intel\oneAPI | |
key: intel-oneapi-${{ env.ONEAPI_HASH }} | |
- name: Install vcpkg prerequisites | |
if: steps.cache-vcpkg.outputs.cache-hit != 'true' | |
shell: powershell | |
run: | | |
vcpkg.exe --triplet=x64-windows install ${{ env.VCPKG_PACKAGES }} | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/.git | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/buildtrees | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/downloads | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/.github | |
Remove-Item -Recurse -Force ${{ env.VCPKG_INSTALLATION_ROOT }}/docs | |
- name: List installed packages | |
shell: powershell | |
run: vcpkg.exe list | |
- name: Install Intel OneAPI | |
if: steps.cache-oneapi.outputs.cache-hit != 'true' | |
shell: powershell | |
run: | | |
Write-Host "Installing Intel OneAPI..." | |
$url = $env:WINDOWS_BASEKIT_URL | |
$components = "intel.oneapi.win.mkl.devel" | |
$tempExe = Join-Path $env:TEMP "webimage.exe" | |
Write-Host "Downloading installer from $url..." | |
curl.exe -L $url -o $tempExe | |
Write-Host "Extracting installer..." | |
$installerArgs = "-s -x -f webimage_extracted --log extract.log" | |
$proc = Start-Process -FilePath $tempExe -ArgumentList $installerArgs -NoNewWindow -Wait -PassThru | |
Remove-Item $tempExe -Force | |
$bootstrapperPath = Join-Path -Path (Join-Path $PWD "webimage_extracted") "bootstrapper.exe" | |
Write-Host "Listing available components..." | |
$procBootstrap = Start-Process -FilePath $bootstrapperPath -ArgumentList "--list-components" -NoNewWindow -Wait -PassThru -RedirectStandardOutput components | |
get-content components | |
Write-Host "Running bootstrapper..." | |
$bootstrapArgs = "-s --action install --components=$components --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=0 --log-dir=." | |
$procBootstrap = Start-Process -FilePath $bootstrapperPath -ArgumentList $bootstrapArgs -NoNewWindow -Wait -PassThru | |
Remove-Item -Recurse -Force "webimage_extracted" | |
- name: Check branch name | |
shell: bash | |
run: echo ${{ env.BRANCH_NAME }} | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.BRANCH_NAME }} | |
path: "./src" | |
- name: Download and install xsd | |
working-directory: "./src" | |
shell: bash | |
run: | | |
curl.exe -L -O https://www.codesynthesis.com/download/xsd/4.2/libxsd-4.2.0.tar.gz | |
tar zxvf libxsd-4.2.0.tar.gz | |
- name: Extract OneAPI version | |
shell: powershell | |
run: | | |
# Extract version from URL (e.g., 2025.2.1 -> 2025.2) | |
$url = "${{ env.WINDOWS_BASEKIT_URL }}" | |
if ($url -match 'toolkit-(\d+\.\d+)\.\d+') { | |
$version = $matches[1] | |
echo "ONEAPI_VERSION=$version" >> $env:GITHUB_ENV | |
Write-Host "Extracted OneAPI version: $version" | |
} else { | |
Write-Host "Failed to extract version, using default 2025.2" | |
echo "ONEAPI_VERSION=2025.2" >> $env:GITHUB_ENV | |
} | |
- name: Build with CMake | |
working-directory: "./src" | |
shell: cmd | |
run: | | |
vcpkg.exe integrate install | |
call "C:\Program Files (x86)\Intel\oneAPI\compiler\%ONEAPI_VERSION%\env\vars.bat" | |
call "C:\Program Files (x86)\Intel\oneAPI\mkl\%ONEAPI_VERSION%\env\vars.bat" | |
set XSDROOT=%cd%\libxsd-4.2.0 | |
set VPKG_INCLUDE=${{ env.VCPKG_INSTALLATION_ROOT }}\installed\x64-windows\include | |
set INCLUDE=%XSDROOT%;%VPKG_INCLUDE%;%INCLUDE% | |
set UseEnv=true | |
cmake -DUSE_MKL=ON ^ | |
-DVCPKG_MANIFEST_MODE=OFF ^ | |
-DCMAKE_TOOLCHAIN_FILE"=${{ env.VCPKG_INSTALLATION_ROOT }}/scripts/buildsystems/vcpkg.cmake" ^ | |
-G "Visual Studio 17 2022" -A x64 dynadjust | |
cmake --build %cd% --config Release --parallel 2 | |
- name: Check library | |
shell: bash | |
run: | | |
# collating artifacts | |
mkdir -p release | |
mkdir -p release/DynAdjust-Windows | |
echo "Copying files into release folder" | |
cp -f ./src/bin/*.dll ./release/DynAdjust-Windows/ 2>/dev/null || true | |
cp -f ./src/bin/*.exe ./release/DynAdjust-Windows/ 2>/dev/null || true | |
ls -la ./release/DynAdjust-Windows/ | |
cd ./release/DynAdjust-Windows/ | |
export PATH=.:$PATH | |
./adjust.exe || ./adjust || echo "adjust binary test completed" |