|
1 | 1 | set(NBL_NSC_MODE "PACKAGE" CACHE STRING "How to provide the nsc build tool. Valid values: SOURCE and PACKAGE") |
2 | 2 | set_property(CACHE NBL_NSC_MODE PROPERTY STRINGS SOURCE PACKAGE) |
3 | | -set(NBL_NSC_PACKAGE_ROOT "" CACHE PATH "Path to an unpacked Nabla package root that exposes COMPONENTS NSC") |
4 | | -set(NBL_NSC_MANIFEST_ROOT "" CACHE PATH "Path to the local nsc manifest root. Defaults to tools/nsc/manifests.") |
| 3 | +set(NBL_NSC_PACKAGE_ROOT "" CACHE PATH "Path to an unpacked Nabla package root that exposes COMPONENTS NSC.") |
| 4 | +set(NBL_NSC_MANIFEST_ROOT "" CACHE PATH "Path to the local nsc manifest root.") |
5 | 5 | set(NBL_NSC_REPO "" CACHE STRING "GitHub repository used to resolve nsc package payload assets.") |
6 | | -set(NBL_NSC_TAG "" CACHE STRING "GitHub release tag used to resolve nsc package payload assets.") |
| 6 | +set(NBL_NSC_TAG "" CACHE STRING "Explicit GitHub release tag override for the nsc package payload.") |
7 | 7 | set(NBL_NSC_TAG_FILE "" CACHE FILEPATH "Path to the text file that pins the GitHub release tag for the nsc package payload.") |
8 | 8 | set(NBL_NSC_CHANNEL "" CACHE STRING "Manifest channel used to resolve the host nsc package payload.") |
9 | | -set(NBL_NSC_CACHE_ROOT "" CACHE PATH "Shared NAM cache root override for nsc package payloads.") |
| 9 | +set(NBL_NSC_CACHE_ROOT "" CACHE PATH "Shared NAM cache root used for nsc package payloads.") |
10 | 10 | set(NBL_NSC_TOOLCHAIN_ROOT "" CACHE PATH "Directory used to materialize the fetched nsc package payload.") |
11 | 11 | set(NBL_NSC_EXTRA_ARGS "" CACHE STRING "Semicolon-separated extra arguments appended to every nsc invocation") |
12 | 12 |
|
@@ -49,6 +49,32 @@ function(nbl_nsc_get_default_toolchain_root OUT_VAR) |
49 | 49 | set(${OUT_VAR} "${_toolchain_root}" PARENT_SCOPE) |
50 | 50 | endfunction() |
51 | 51 |
|
| 52 | +nbl_nsc_get_default_host_channel(_nbl_nsc_default_channel) |
| 53 | +file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}/manifests" _nbl_nsc_default_manifest_root) |
| 54 | +set(_nbl_nsc_default_repo "Devsh-Graphics-Programming/Nabla-Asset-Manifests") |
| 55 | +set(_nbl_nsc_default_tag_file "${_nbl_nsc_default_manifest_root}/${_nbl_nsc_default_channel}.tag") |
| 56 | +nbl_nsc_get_default_toolchain_root(_nbl_nsc_default_toolchain_root) |
| 57 | +nam_get_default_cache_root(_nbl_nsc_default_cache_root) |
| 58 | + |
| 59 | +if(NOT NBL_NSC_MANIFEST_ROOT) |
| 60 | + set(NBL_NSC_MANIFEST_ROOT "${_nbl_nsc_default_manifest_root}" CACHE PATH "Path to the local nsc manifest root." FORCE) |
| 61 | +endif() |
| 62 | +if(NOT NBL_NSC_REPO) |
| 63 | + set(NBL_NSC_REPO "${_nbl_nsc_default_repo}" CACHE STRING "GitHub repository used to resolve nsc package payload assets." FORCE) |
| 64 | +endif() |
| 65 | +if(NOT NBL_NSC_TAG_FILE) |
| 66 | + set(NBL_NSC_TAG_FILE "${_nbl_nsc_default_tag_file}" CACHE FILEPATH "Path to the text file that pins the GitHub release tag for the nsc package payload." FORCE) |
| 67 | +endif() |
| 68 | +if(NOT NBL_NSC_CHANNEL) |
| 69 | + set(NBL_NSC_CHANNEL "${_nbl_nsc_default_channel}" CACHE STRING "Manifest channel used to resolve the host nsc package payload." FORCE) |
| 70 | +endif() |
| 71 | +if(NOT NBL_NSC_CACHE_ROOT) |
| 72 | + set(NBL_NSC_CACHE_ROOT "${_nbl_nsc_default_cache_root}" CACHE PATH "Shared NAM cache root used for nsc package payloads." FORCE) |
| 73 | +endif() |
| 74 | +if(NOT NBL_NSC_TOOLCHAIN_ROOT) |
| 75 | + set(NBL_NSC_TOOLCHAIN_ROOT "${_nbl_nsc_default_toolchain_root}" CACHE PATH "Directory used to materialize the fetched nsc package payload." FORCE) |
| 76 | +endif() |
| 77 | + |
52 | 78 | function(nbl_nsc_register_manifest_dependencies MANIFEST_ROOT CHANNEL) |
53 | 79 | file(GLOB_RECURSE _nbl_nsc_manifest_files CONFIGURE_DEPENDS LIST_DIRECTORIES false "${MANIFEST_ROOT}/${CHANNEL}/*.dvc") |
54 | 80 | if(_nbl_nsc_manifest_files) |
|
0 commit comments