@@ -1272,14 +1272,6 @@ endmacro()
1272
1272
function (NBL_UPDATE_SUBMODULES )
1273
1273
ProcessorCount (_GIT_SUBMODULES_JOBS_AMOUNT_ )
1274
1274
1275
- macro (NBL_IMPL_SHALLOW_CHECK )
1276
- if (NBL_CI_GIT_SUBMODULES_SHALLOW )
1277
- set (NBL_SHALLOW "--depth=1" )
1278
- else ()
1279
- set (NBL_SHALLOW "" )
1280
- endif ()
1281
- endmacro ()
1282
-
1283
1275
macro (NBL_WRAPPER_COMMAND_EXCLUSIVE GIT_RELATIVE_ENTRY GIT_SUBMODULE_PATH SHOULD_RECURSIVE EXCLUDE_SUBMODULE_PATH )
1284
1276
set (SHOULD_RECURSIVE ${SHOULD_RECURSIVE} )
1285
1277
@@ -1289,7 +1281,11 @@ function(NBL_UPDATE_SUBMODULES)
1289
1281
set (NBL_EXCLUDE "-c submodule.\" ${EXCLUDE_SUBMODULE_PATH} \" .update=none" )
1290
1282
endif ()
1291
1283
1292
- NBL_IMPL_SHALLOW_CHECK ()
1284
+ if (NBL_CI_GIT_SUBMODULES_SHALLOW )
1285
+ set (NBL_SHALLOW "--depth=1" )
1286
+ else ()
1287
+ set (NBL_SHALLOW "" )
1288
+ endif ()
1293
1289
1294
1290
if (SHOULD_RECURSIVE )
1295
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 " )
@@ -1298,40 +1294,53 @@ function(NBL_UPDATE_SUBMODULES)
1298
1294
endif ()
1299
1295
endmacro ()
1300
1296
1301
- macro (NBL_WRAPPER_COMMAND_INCLUSIVE GIT_RELATIVE_ENTRY INCLUDE_SUBMODULE_PATHS )
1302
- set (INCLUDE_SUBMODULE_PATHS ${INCLUDE_SUBMODULE_PATHS} )
1303
-
1304
- if ("${INCLUDE_SUBMODULE_PATHS} " STREQUAL "" )
1305
- set (NBL_SUBMODULE_UPDATE_CONFIG_ENTRY "" )
1306
- else ()
1307
- execute_process (COMMAND "${GIT_EXECUTABLE} " -C "${NBL_ROOT_PATH} /${GIT_RELATIVE_ENTRY} " config --file .gitmodules --get-regexp path
1308
- OUTPUT_VARIABLE NBL_OUTPUT_VARIABLE
1309
- )
1310
-
1311
- string (REGEX REPLACE "\n " ";" NBL_SUBMODULE_CONFIG_LIST "${NBL_OUTPUT_VARIABLE} " )
1312
-
1313
- foreach (NBL_SUBMODULE_PATH ${NBL_SUBMODULE_CONFIG_LIST} )
1314
- string (REGEX REPLACE "^[^ ]+ (.*)" "\\ 1" NBL_SUBMODULE_PATH "${NBL_SUBMODULE_PATH} " )
1315
- list (FIND INCLUDE_SUBMODULE_PATHS "${NBL_SUBMODULE_PATH} " NBL_FOUND )
1297
+ set (_NBL_UPDATE_SUBMODULES_CMD_NAME_ "nbl-update-submodules" )
1298
+ set (_NBL_UPDATE_SUBMODULES_CMD_FILE_ "${NBL_ROOT_PATH_BINARY} /${_NBL_UPDATE_SUBMODULES_CMD_NAME_} .cmd" )
1299
+ get_filename_component (_NBL_UPDATE_IMPL_CMAKE_FILE_ "${NBL_ROOT_PATH_BINARY} /${_NBL_UPDATE_SUBMODULES_CMD_NAME_} .cmake" ABSOLUTE )
1300
+
1301
+ set (NBL_IMPL_SCRIPT
1302
+ [=[
1303
+ execute_process(COMMAND "${GIT_EXECUTABLE}" -C "${NBL_ROOT_PATH}" submodule update --init "${GIT_RELATIVE_ENTRY}")
1316
1304
1317
- if ("${NBL_FOUND} " STREQUAL "-1" )
1318
- string (APPEND NBL_CONFIG_SETUP_CMD "-c submodule.\" ${NBL_SUBMODULE_PATH} \" .update=none " ) # if a submodule is not on the INCLUDE_SUBMODULE_PATHS list of a currently handedled submodule - do not let it to be updated
1319
- endif ()
1320
- endforeach ()
1321
-
1322
- string (REPLACE "\n " "" NBL_CONFIG_SETUP_CMD "${NBL_CONFIG_SETUP_CMD} " )
1323
- string (STRIP "${NBL_CONFIG_SETUP_CMD} " NBL_CONFIG_SETUP_CMD )
1305
+ if("${INCLUDE_SUBMODULE_PATHS}" STREQUAL "")
1306
+ set(NBL_SUBMODULE_UPDATE_CONFIG_ENTRY "")
1307
+ else()
1308
+ execute_process(COMMAND "${GIT_EXECUTABLE}" -C "${NBL_ROOT_PATH}/${GIT_RELATIVE_ENTRY}" config --file .gitmodules --get-regexp path
1309
+ OUTPUT_VARIABLE NBL_OUTPUT_VARIABLE
1310
+ )
1311
+
1312
+ string(REGEX MATCH "submodule\\.(.*)\\.path" extracted_content "${original_string}")
1313
+
1314
+ string(REGEX REPLACE "\n" ";" NBL_SUBMODULE_CONFIG_LIST "${NBL_OUTPUT_VARIABLE}")
1315
+
1316
+ foreach(NBL_SUBMODULE_NAME ${NBL_SUBMODULE_CONFIG_LIST})
1317
+ string(REGEX MATCH "submodule\\.(.*)\\.path" NBL_SUBMODULE_NAME "${NBL_SUBMODULE_NAME}")
1318
+ list(FIND INCLUDE_SUBMODULE_PATHS "${NBL_SUBMODULE_NAME}" NBL_FOUND)
1319
+
1320
+ if("${NBL_FOUND}" STREQUAL "-1")
1321
+ list(APPEND NBL_CONFIG_SETUP_CMD "-c")
1322
+ list(APPEND NBL_CONFIG_SETUP_CMD "submodule.\"${CMAKE_MATCH_1}\".update=none") # if a submodule is not on the INCLUDE_SUBMODULE_PATHS list of a currently handedled submodule - do not let it to be updated
1324
1323
endif()
1325
-
1326
- NBL_IMPL_SHALLOW_CHECK ()
1324
+ endforeach()
1325
+ endif()
1326
+
1327
+ if(NBL_CI_GIT_SUBMODULES_SHALLOW)
1328
+ set(NBL_SHALLOW "--depth=1")
1329
+ else()
1330
+ set(NBL_SHALLOW "")
1331
+ endif()
1332
+
1333
+ execute_process(COMMAND "${GIT_EXECUTABLE}" -C "${NBL_ROOT_PATH}/${GIT_RELATIVE_ENTRY}" ${NBL_CONFIG_SETUP_CMD} submodule update --init -j ${_GIT_SUBMODULES_JOBS_AMOUNT_} --recursive ${NBL_SHALLOW} ./)
1334
+ ]=]
1335
+ )
1336
+ file (WRITE "${_NBL_UPDATE_IMPL_CMAKE_FILE_} " "${NBL_IMPL_SCRIPT} " )
1327
1337
1328
- string (APPEND _NBL_UPDATE_SUBMODULES_COMMANDS_ "\" ${GIT_EXECUTABLE} \" -C \" ${NBL_ROOT_PATH} /${GIT_RELATIVE_ENTRY} \" ${NBL_CONFIG_SETUP_CMD} submodule update --init -j ${_GIT_SUBMODULES_JOBS_AMOUNT_} --recursive ${NBL_SHALLOW} ./\n " )
1338
+ macro (NBL_WRAPPER_COMMAND_INCLUSIVE GIT_RELATIVE_ENTRY INCLUDE_SUBMODULE_PATHS )
1339
+ string (APPEND _NBL_UPDATE_SUBMODULES_COMMANDS_ "\" ${CMAKE_COMMAND} \" \" -DNBL_ROOT_PATH=${NBL_ROOT_PATH} \" \" -D_GIT_SUBMODULES_JOBS_AMOUNT_=${_GIT_SUBMODULES_JOBS_AMOUNT_} \" \" -DNBL_CI_GIT_SUBMODULES_SHALLOW=${NBL_CI_GIT_SUBMODULES_SHALLOW} \" \" -DGIT_RELATIVE_ENTRY=${GIT_RELATIVE_ENTRY} \" \" -DINCLUDE_SUBMODULE_PATHS=${INCLUDE_SUBMODULE_PATHS} \" \" -DGIT_EXECUTABLE=${GIT_EXECUTABLE} \" -P \" ${_NBL_UPDATE_IMPL_CMAKE_FILE_} \" " )
1329
1340
endmacro ()
1330
1341
1331
1342
if (NBL_UPDATE_GIT_SUBMODULE )
1332
1343
execute_process (COMMAND ${CMAKE_COMMAND} -E echo "All submodules are about to get updated and initialized in repository because NBL_UPDATE_GIT_SUBMODULE is turned ON!" )
1333
- set (_NBL_UPDATE_SUBMODULES_CMD_NAME_ "nbl-update-submodules" )
1334
- set (_NBL_UPDATE_SUBMODULES_CMD_FILE_ "${NBL_ROOT_PATH_BINARY} /${_NBL_UPDATE_SUBMODULES_CMD_NAME_} .cmd" )
1335
1344
1336
1345
include ("${THIRD_PARTY_SOURCE_DIR} /boost/dep/wave.cmake" )
1337
1346
@@ -1340,10 +1349,9 @@ function(NBL_UPDATE_SUBMODULES)
1340
1349
NBL_WRAPPER_COMMAND_EXCLUSIVE ("" ./3rdparty TRUE 3rdparty/boost/superproject )
1341
1350
1342
1351
# boost's 3rdaprties, special case
1343
- NBL_WRAPPER_COMMAND_EXCLUSIVE (3rdparty/boost ./superproject FALSE "" )
1344
1352
set (NBL_BOOST_LIBS_TO_INIT ${NBL_BOOST_LIBS} wave )
1345
1353
foreach (NBL_TARGET ${NBL_BOOST_LIBS_TO_INIT} )
1346
- list (APPEND NBL_BOOST_SUBMODULES_TO_INIT libs/ ${NBL_TARGET} )
1354
+ list (APPEND NBL_BOOST_SUBMODULES_TO_INIT ${NBL_TARGET} )
1347
1355
endforeach ()
1348
1356
NBL_WRAPPER_COMMAND_INCLUSIVE (3rdparty/boost/superproject "${NBL_BOOST_SUBMODULES_TO_INIT} " )
1349
1357
0 commit comments