Skip to content

Commit 1dfd31f

Browse files
committed
Show NSC package defaults
1 parent 1a9cdc7 commit 1dfd31f

1 file changed

Lines changed: 30 additions & 4 deletions

File tree

tools/nsc/CMakeLists.txt

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
set(NBL_NSC_MODE "PACKAGE" CACHE STRING "How to provide the nsc build tool. Valid values: SOURCE and PACKAGE")
22
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.")
55
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.")
77
set(NBL_NSC_TAG_FILE "" CACHE FILEPATH "Path to the text file that pins the GitHub release tag for the nsc package payload.")
88
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.")
1010
set(NBL_NSC_TOOLCHAIN_ROOT "" CACHE PATH "Directory used to materialize the fetched nsc package payload.")
1111
set(NBL_NSC_EXTRA_ARGS "" CACHE STRING "Semicolon-separated extra arguments appended to every nsc invocation")
1212

@@ -49,6 +49,32 @@ function(nbl_nsc_get_default_toolchain_root OUT_VAR)
4949
set(${OUT_VAR} "${_toolchain_root}" PARENT_SCOPE)
5050
endfunction()
5151

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+
5278
function(nbl_nsc_register_manifest_dependencies MANIFEST_ROOT CHANNEL)
5379
file(GLOB_RECURSE _nbl_nsc_manifest_files CONFIGURE_DEPENDS LIST_DIRECTORIES false "${MANIFEST_ROOT}/${CHANNEL}/*.dvc")
5480
if(_nbl_nsc_manifest_files)

0 commit comments

Comments
 (0)