Конда собирает и разделяет библиотеки, возможна ли доставка уже собранных бинарных файлов?
Предположим, я создаю пакет C++ самостоятельно, используя cmake со следующими строками (с общими библиотеками):
#!bin/bash
export SUNDIALS_ROOT=~/anaconda3/include/sundials
cmake -DCMAKE_INSTALL_PREFIX="/home/moritz/Dokumente/projects/pycadet/cadet" -DCMAKE_LIBRARY_PATH="~/anaconda3/lib" -DBLA_VENDOR=Intel10_64lp ../code/
make
make install
Если я хотел бы отправить двоичные файлы сборки с помощью оболочки Python, который вызывает исполняемый файл, достаточно ли в файле meta.yaml определить, что пакет требует библиотеки во время выполнения, как?
package:
name: pycadet
version: 3.1.2
build:
number: 0
source:
url: some_url
requirements:
run:
- sundials
- mkl
- hdf5
about:
home: https://github.com/modsim/CADET
license: GPL
summary: A package for numerical simulation of chromatography
Или это необходимо для сборки пакета С ++ после вызова conda-build? Например, определяется в файле build.sh, как это?
#!bin/bash
#
# The build receipy for conda
#
#
#
#
# You can run build.sh with bash -x -e. The -x makes it echo each command that is run
# and the -e makes it exit whenever a command in the script returns nonzero exit status.
set -x -e
INCLUDE_PATH="${PREFIX}/include"
LIBRARY_PATH="${PREFIX}/lib"
CADET_PATH="${PREFIX}"
# get out of the work directory (contains downloaded cadet)
cd ..
# make the build directory (in source builds are prohibited)
mkdir build
# get into it
cd build
export SUNDIALS_ROOT=${PREFIX}/lib
cmake -DCMAKE_INSTALL_PREFIX="./cadet_test" -DCMAKE_LIBRARY_PATH="${LIBRARY_PATH}"-DBLA_VENDOR=Intel10_64lp ${SRC_DIR} ../work/
make
make install