|
1 | 1 | set -e |
2 | 2 |
|
3 | | -SCRIPT_PATH=$(dirname $(realpath -s $0)) |
4 | | -if [ -z "$INSTALL_PREFIX" ]; then |
5 | | - INSTALL_PREFIX=$(realpath -s ${SCRIPT_PATH}/../../dp) |
| 3 | +SCRIPT_PATH=$(dirname "$(realpath -s "$0")") |
| 4 | +if [ -z "${INSTALL_PREFIX}" ]; then |
| 5 | + INSTALL_PREFIX=$(realpath -s "${SCRIPT_PATH}/../../dp") |
6 | 6 | fi |
7 | | -mkdir -p ${INSTALL_PREFIX} |
| 7 | +mkdir -p "${INSTALL_PREFIX}" |
8 | 8 | echo "Installing DeePMD-kit to ${INSTALL_PREFIX}" |
9 | 9 | NPROC=$(nproc --all) |
10 | 10 |
|
11 | 11 | #------------------ |
12 | 12 |
|
13 | | -BUILD_TMP_DIR=${SCRIPT_PATH}/../build |
14 | | -mkdir -p ${BUILD_TMP_DIR} |
15 | | -cd ${BUILD_TMP_DIR} |
16 | | -cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEEPMD_C_ROOT=${DEEPMD_C_ROOT} -DLAMMPS_VERSION=stable_22Jul2025_update2 .. |
17 | | -cmake --build . -j${NPROC} |
| 13 | +BUILD_TMP_DIR="${SCRIPT_PATH}/../build" |
| 14 | +mkdir -p "${BUILD_TMP_DIR}" |
| 15 | +cd "${BUILD_TMP_DIR}" |
| 16 | +cmake -DCMAKE_INSTALL_PREFIX="${INSTALL_PREFIX}" -DDEEPMD_C_ROOT="${DEEPMD_C_ROOT}" -DLAMMPS_VERSION=stable_22Jul2025_update2 .. |
| 17 | +cmake --build . -j"${NPROC}" |
18 | 18 | cmake --install . |
| 19 | + |
| 20 | +CONSUMER_TMP_DIR="${BUILD_TMP_DIR}/cmake-consumer" |
| 21 | +rm -rf "${CONSUMER_TMP_DIR}" |
| 22 | +mkdir -p "${CONSUMER_TMP_DIR}" |
| 23 | +cat >"${CONSUMER_TMP_DIR}/CMakeLists.txt" <<'EOF' |
| 24 | +cmake_minimum_required(VERSION 3.25) |
| 25 | +project(deepmd_c_consumer LANGUAGES CXX) |
| 26 | +find_package(DeePMD REQUIRED CONFIG) |
| 27 | +find_package(DeePMD REQUIRED CONFIG) |
| 28 | +if(NOT TARGET DeePMD::deepmd_c) |
| 29 | + message(FATAL_ERROR "DeePMD::deepmd_c target is missing") |
| 30 | +endif() |
| 31 | +add_executable(deepmd_c_consumer main.cc) |
| 32 | +target_link_libraries(deepmd_c_consumer PRIVATE DeePMD::deepmd_c) |
| 33 | +EOF |
| 34 | +cat >"${CONSUMER_TMP_DIR}/main.cc" <<'EOF' |
| 35 | +#include <deepmd/c_api.h> |
| 36 | +
|
| 37 | +int main() { return 0; } |
| 38 | +EOF |
| 39 | +cmake -S "${CONSUMER_TMP_DIR}" -B "${CONSUMER_TMP_DIR}/build" -DCMAKE_PREFIX_PATH="${INSTALL_PREFIX}" |
| 40 | +cmake --build "${CONSUMER_TMP_DIR}/build" -j"${NPROC}" |
| 41 | + |
19 | 42 | cmake --build . --target=lammps |
20 | 43 |
|
21 | 44 | #------------------ |
|
0 commit comments