Skip to main content

building

Instructions for building Smith

インストールへ移動

ソース情報

リポジトリ
llnl/smith
ソースの最終更新活動
2026年8月31日 22:57
検出された SKILL.md の言語
英語
スター
245
フォーク
36

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
3 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
building
description
Instructions for building Smith
## Compute-node requirement (Codex) Only run compilation and test commands on a compute node. Determine this by running: ```bash ./skills/building/scripts/is_compute_node ``` If it prints `login`, do **not** run `./config-build.py`, `cmake --build ...`, or `ctest ...`. Stop and ask the user to switch to/allocate a compute node, then continue once `is_compute_node` prints `compute`. This repository supports two build workflows: - **Smith-only (default):** builds Smith against externally provided TPLs (e.g., via Spack/uberenv + a host-config). This includes the `gretl`, `continuationsolver` and `tribol` git submodules as CMake subdirectories. - **Co-develop Smith (opt-in):** additionally builds the `mfem` and `axom` git submodules as CMake subdirectories. ## Smith-only build (default) 1) Configure (recommended wrapper around CMake): ```bash ./config-build.py -bp build -ip install -hc "$(./skills/building/scripts/determine_host_config)" --exportcompilercommands ``` 3) Build and test: ```bash cmake --build build -j ctest --test-dir build ``` ## Co-develop Smith (MFEM + Axom) Use this only when you intend to modify/build Smith against the submodules. 1) Configure with co-develop enabled: ```bash ./config-build.py -bp build-codevelop -ip install-codevelop -hc "$(./skills/building/scripts/determine_host_config)" -DSMITH_ENABLE_CODEVELOP=ON --exportcompilercommands ``` 3) Build and test: ```bash cmake --build build-codevelop -j ctest --test-dir build-codevelop ``` ## Common build options Common CMake options (and their defaults) live in `cmake/SmithBasics.cmake`. Pass them at configure time as `-D<OPTION>=ON|OFF`, for example: ```bash ./config-build.py -hc "$(./skills/building/scripts/determine_host_config)" -DENABLE_ASAN=ON ``` ### Build types (when requested) Only set a build type when the user explicitly asks for one. Use `config-build.py`'s `-bt` option, which takes a CMake build type (e.g., `Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel`): ```bash ./config-build.py -bp build -ip install -hc "$(./skills/building/scripts/determine_host_config)" -bt <CMAKE_BUILD_TYPE> --exportcompilercommands ``` ### AddressSanitizer (`ENABLE_ASAN`) AddressSanitizer is available via the `ENABLE_ASAN` CMake option (default: `OFF`). It is supported with GCC or Clang. This should also build in with the CMake build type Debug by default. ```bash ./config-build.py -hc "$(./skills/building/scripts/determine_host_config)" -bt Debug -DENABLE_ASAN=ON ``` ### Host-config selection (`-hc`) If the user does **not** specify a host-config file, determine the best match by running: ```bash ./skills/building/scripts/determine_host_config ``` Use its output as the `-hc` argument (as shown in the examples above). If the user explicitly provides a host-config file/path, use that instead.
GitHubで見る