Open timosachsenberg opened 10 months ago
ahh there might be a noblas option...
/ceph/ibmi/abi/projects/sachsenb/vcpkg_test/OpenMS$ vcpkg depend-info coin-or-cgl
vcpkg-cmake-config:
pthreads: vcpkg-cmake-config
pthread: pthreads
vcpkg-cmake:
openblas: pthread, vcpkg-cmake, vcpkg-cmake-config
blas: openblas, vcpkg-cmake
lapack-reference[noblas, blas-select]: blas, vcpkg-cmake, vcpkg-cmake-config
bzip2[tool]: vcpkg-cmake
coin-or-buildtools:
lapack: lapack-reference, vcpkg-cmake
zlib: vcpkg-cmake
coinutils: bzip2, coin-or-buildtools, lapack, zlib
coin-or-osi: coinutils
coin-or-clp: coin-or-osi, coinutils
coin-or-cgl: coin-or-clp, coin-or-osi, coinutils
Let's hope.. otherwise changing the coin or recipe is a huge pain. It's one of the worst build systems I have ever seen. Other coin packages will probably need similar treatment or you need to transitively propagate options because all the packages are somehow interdependent.
Do you know feasible/how much work it would be to go the following route to get rid of contrib:
wouldn't that (potentially) easy dependency management a lot (while still preserving the possibility to build everything from source through vcpkg)=
the main issue seems to be qt... I think all others could be built on github and cached
Can it not be built? Or not be cached? What's the problem exactly?
I think it just takes ages to build. 12h+
I think you could try with the overlay ports. They look straightforward (basically declaring "empty" ports and forwarding the QT_ROOT env var for qt). It probably works more often than not. Just wanted to point out that ideally you build everything from vcpkg.
Found some examples for qt6 that work with the qt install action: https://github.com/MerginMaps/mobile-sdk/tree/master/vcpkg-overlay/triplets https://github.com/MerginMaps/mobile-sdk/blob/master/.github/workflows/linux.yml
Yup looks like that's all. Should work with qt5 as well. Except the version number in the var names ofc ;)
What about the port files? are these just copies of the ones in vcpkg. e.g in this folder https://github.com/MerginMaps/mobile-sdk/blob/master/vcpkg-overlay/ports/qt6/vcpkg-cmake-wrapper.cmake
should not be necessary. no idea what they did there. please use empty ports first and see if it fails. https://github.com/microsoft/vcpkg/issues/27574
k nice... vcpkg found it... and it seems to build :)
cmake /ceph/ibmi/abi/projects/sachsenb/vcpkg_test/OpenMS -DVCPKG_OVERLAY_PORTS=/ceph/ibmi/abi/projects/sachsenb/vcpkg_test/OpenMS/vcpkg-overlays/ports -DCMAKE_TOOLCHAIN_FILE=/ceph/ibmi/abi/projects/sachsenb/vcpkg_test/OpenMS/vcpkg/scripts/buildsystems/vcpkg.cmake
see https://github.com/OpenMS/OpenMS/tree/feature/vcpkg
unfortunately fails with:
[ 29%] Linking CXX shared library ../../lib/libOpenMS.so
/usr/bin/ld: cannot find -lBLAS: No such file or directory
/usr/bin/ld: cannot find -lLAPACK: No such file or directory
Not 100% sure why fortran is not found. Maybe not everything is needed and can be restricted? Any thoughts @jpfeuffer