diff --git a/.github/workflows/build_and_release.yml b/.github/workflows/build_and_release.yml index 4ad05a8..86d9606 100644 --- a/.github/workflows/build_and_release.yml +++ b/.github/workflows/build_and_release.yml @@ -81,17 +81,19 @@ jobs: build-osx: runs-on: macos-latest + env: + JAVA_HOME: "" steps: - uses: actions/checkout@v2 - name: create_dirs - run: mkdir -p ../my_rel ../my_build + run: mkdir -p my_rel my_build - name: configure_and_make - run: admin/builders/osx64_build.sh -s `pwd`/.. -r `pwd`/../my_rel -b `pwd`/../my_build -g + run: admin/builders/osx64_build.sh -s `pwd`/.. -r `pwd`/my_rel -b `pwd`/my_build -g - name: Upload packages uses: actions/upload-artifact@v4 with: name: osx-packages - path: ../my_rel + path: my_rel build-win64: runs-on: windows-latest diff --git a/CMakeLists.txt b/CMakeLists.txt index 51b32d0..ed15e63 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ ############################################################################# # NAME AND VERSION ############################################################################### -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.5) if(APPLE) # https://gitlab.kitware.com/cmake/cmake/issues/19067 diff --git a/admin/builders/install_proteowizard.sh b/admin/builders/install_proteowizard.sh index 205725b..0bc2823 100755 --- a/admin/builders/install_proteowizard.sh +++ b/admin/builders/install_proteowizard.sh @@ -19,13 +19,7 @@ fi cd proteowizard # undo position independent code fix introduced here: https://github.com/ProteoWizard/pwiz/pull/1980 -sed -i 's/ -no-pie -fno-pie//g' Jamroot.jam - - -toolset="" -if [[ "$OSTYPE" == "darwin"* ]]; then - toolset="toolset=clang" -fi +sed -i.bak 's/ -no-pie -fno-pie//g' Jamroot.jam echo "Building ProteoWizard and Boost, this may take some time.." @@ -60,14 +54,18 @@ echo "Building ProteoWizard and Boost, this may take some time.." status=$? if [ $status -ne 0 ]; then - echo "❌ Build failed. Showing log:" + echo "❌ Build failed with status $status. Showing log:" cat ../pwiz_installation.log exit $status +else + echo "✅ Build succeeded." fi +echo "Updating Proteowizard and Boost libraries and include files." + # manually copy some libraries and headers used by maracluster but not by proteowizard -find build-*-x86_64/ -type f | grep -i libboost_regex-.*\.a$ | xargs -I{} cp {} ../lib -find build-*-x86_64/ -type f | grep -i libboost_program_options-.*\.a$ | xargs -I{} cp {} ../lib +find build-*/ -type f | grep -i libboost_regex-.*\.a$ | xargs -I{} cp {} ../lib +find build-*/ -type f | grep -i libboost_program_options-.*\.a$ | xargs -I{} cp {} ../lib rsync -ap --include "*/" --include "*.h" --include "*.hpp" --exclude "*" libraries/zlib-1.2.3/ ../include rsync -ap --include "*/" --include "*.h" --include "*.hpp" --exclude "*" libraries/boost_aux/boost/ ../include/boost @@ -90,4 +88,5 @@ wget --no-verbose --no-check-certificate https://github.com/boostorg/unordered/a tar -xzf boost_unordered.tar.gz rsync -ap --include "*/" --include "*.hpp" --include '*.ipp' --exclude '*' unordered-boost-1.86.0/include/boost/ include/boost -touch pwiz_successful.txt \ No newline at end of file +touch pwiz_successful.txt +echo "✅ Update libraries and include files succeeded." \ No newline at end of file diff --git a/admin/builders/osx64_build.sh b/admin/builders/osx64_build.sh index 4e5cda6..ee1ea03 100755 --- a/admin/builders/osx64_build.sh +++ b/admin/builders/osx64_build.sh @@ -25,25 +25,29 @@ if [[ ! -d /Applications/XCode.app ]] exit 1 fi -package_manager_installed=true -if [[ -d /opt/local/var/macports ]] - then - echo "[ Package manager ] : MacPorts " +package_manager_installed=false +if [[ -d /opt/local/var/macports ]]; then + echo "[ Package manager ] : MacPorts" package_manager="sudo port" other_packages="gnutar wget coreutils libomp cmake" -elif [[ -f ${HOME}/bin/brew ]] - then - echo "[ Package manager ] : Homebrew " - package_manager=$HOME/bin/brew - other_packages="gnu-tar wget coreutils libomp cmake" -elif [[ -f /usr/local/bin/brew ]] - then - echo "[ Package manager ] : Homebrew " - package_manager="brew" - ${package_manager} update || true # brew.rb raises an error on the vagrant box, just ignore it - other_packages="gnu-tar wget coreutils libomp cmake" + package_manager_installed=true else - package_manager_installed=false + brew_paths=( + "$HOME/bin/brew" + "/opt/homebrew/bin/brew" + "/usr/local/bin/brew" + ) + + for path in "${brew_paths[@]}"; do + if [[ -x "$path" ]]; then + echo "[ Package manager ] : Homebrew" + package_manager="$path" + other_packages="gnu-tar wget coreutils libomp cmake" + "$package_manager" update || true + package_manager_installed=true + break + fi + done fi if [ "$package_manager_installed" == false ]