Skip to content

Commit 062079a

Browse files
committed
make NBL_WRAPPER_COMMAND_EXCLUSIVE receive EXCLUDE_SUBMODULE_PATHS as list, exclude 3rdparty/glTFSampleModels from CMake submodule update & init
1 parent 6ce77d3 commit 062079a

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

cmake/common.cmake

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1278,20 +1278,27 @@ function(NBL_UPDATE_SUBMODULES)
12781278
set(NBL_SHALLOW "")
12791279
endif()
12801280

1281-
macro(NBL_WRAPPER_COMMAND_EXCLUSIVE GIT_RELATIVE_ENTRY GIT_SUBMODULE_PATH SHOULD_RECURSIVE EXCLUDE_SUBMODULE_PATH)
1281+
macro(NBL_WRAPPER_COMMAND_EXCLUSIVE GIT_RELATIVE_ENTRY GIT_SUBMODULE_PATH SHOULD_RECURSIVE EXCLUDE_SUBMODULE_PATHS)
1282+
set(EXCLUDE_SUBMODULE_PATHS ${EXCLUDE_SUBMODULE_PATHS})
12821283
set(SHOULD_RECURSIVE ${SHOULD_RECURSIVE})
12831284

1284-
if("${EXCLUDE_SUBMODULE_PATH}" STREQUAL "")
1285+
if("${EXCLUDE_SUBMODULE_PATHS}" STREQUAL "")
12851286
set(NBL_EXCLUDE "")
12861287
else()
1287-
set(NBL_EXCLUDE "-c submodule.\"${EXCLUDE_SUBMODULE_PATH}\".update=none")
1288+
foreach(EXCLUDE_SUBMODULE_PATH ${EXCLUDE_SUBMODULE_PATHS})
1289+
string(APPEND NBL_EXCLUDE "-c submodule.\"${EXCLUDE_SUBMODULE_PATH}\".update=none ")
1290+
endforeach()
1291+
1292+
string(STRIP "${NBL_EXCLUDE}" NBL_EXCLUDE)
12881293
endif()
12891294

12901295
if(SHOULD_RECURSIVE)
1291-
string(APPEND _NBL_UPDATE_SUBMODULES_COMMANDS_ "\"${GIT_EXECUTABLE}\" ${NBL_EXCLUDE} -C \"${NBL_ROOT_PATH}/${GIT_RELATIVE_ENTRY}\" submodule update --init -j ${_GIT_SUBMODULES_JOBS_AMOUNT_} --recursive ${NBL_SHALLOW} ${GIT_SUBMODULE_PATH}\n")
1296+
string(APPEND _NBL_UPDATE_SUBMODULES_COMMANDS_ "\"${GIT_EXECUTABLE}\" -C \"${NBL_ROOT_PATH}/${GIT_RELATIVE_ENTRY}\" ${NBL_EXCLUDE} submodule update --init -j ${_GIT_SUBMODULES_JOBS_AMOUNT_} --recursive ${NBL_SHALLOW} ${GIT_SUBMODULE_PATH}\n")
12921297
else()
1293-
string(APPEND _NBL_UPDATE_SUBMODULES_COMMANDS_ "\"${GIT_EXECUTABLE}\" -C \"${NBL_ROOT_PATH}/${GIT_RELATIVE_ENTRY}\" submodule update --init -j ${_GIT_SUBMODULES_JOBS_AMOUNT_} ${NBL_SHALLOW} ${GIT_SUBMODULE_PATH}\n")
1298+
string(APPEND _NBL_UPDATE_SUBMODULES_COMMANDS_ "\"${GIT_EXECUTABLE}\" -C \"${NBL_ROOT_PATH}/${GIT_RELATIVE_ENTRY}\" ${NBL_EXCLUDE} submodule update --init -j ${_GIT_SUBMODULES_JOBS_AMOUNT_} ${NBL_SHALLOW} ${GIT_SUBMODULE_PATH}\n")
12941299
endif()
1300+
1301+
unset(NBL_EXCLUDE)
12951302
endmacro()
12961303

12971304
set(_NBL_UPDATE_SUBMODULES_CMD_NAME_ "nbl-update-submodules")
@@ -1353,8 +1360,12 @@ execute_process(COMMAND "${GIT_EXECUTABLE}" ${NBL_CONFIG_SETUP_CMD} submodule up
13531360
include("${THIRD_PARTY_SOURCE_DIR}/boost/dep/wave.cmake")
13541361

13551362
macro(NBL_IMPL_INIT_COMMON_SUBMODULES)
1356-
# 3rdparty except boost
1357-
NBL_WRAPPER_COMMAND_EXCLUSIVE("" ./3rdparty TRUE 3rdparty/boost/superproject)
1363+
# 3rdparty except boost & gltf
1364+
set(NBL_3RDPARTY_MODULES_TO_SKIP
1365+
3rdparty/boost/superproject # a lot of submodules we don't use
1366+
3rdparty/glTFSampleModels # more then 2GB waste of space (disk + .gitmodules data)
1367+
)
1368+
NBL_WRAPPER_COMMAND_EXCLUSIVE("" ./3rdparty TRUE "${NBL_3RDPARTY_MODULES_TO_SKIP}")
13581369

13591370
# boost's 3rdaprties, special case
13601371
set(NBL_BOOST_LIBS_TO_INIT ${NBL_BOOST_LIBS} wave numeric_conversion) # wave and all of its deps, numeric_conversion is nested in conversion submodule (for some reason boostdep tool doesn't output it properly)

0 commit comments

Comments
 (0)