Skip to content

Commit 6d8b728

Browse files
committed
update cmake/submodules/update.cmake, respect private submodules with git config on fly; update examples_tests submodule, private submodule is excluded from recurse update by default from now
1 parent c4aefda commit 6d8b728

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

cmake/submodules/update.cmake

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ option(NBL_UPDATE_GIT_SUBMODULE_INCLUDE_PRIVATE "Turn this ON to attempt to upda
88
option(NBL_UPDATE_GIT_SUBMODULE_NO_SEPARATE_SHELL "Turn this ON to prevent CMake from executing git submodules update or sync in a separate shell - be aware that the interaction with shell will be impossible in case of paraphrase prompt request of your key!" ON)
99
option(NBL_CI_GIT_SUBMODULES_SHALLOW "" OFF)
1010

11+
# TODO: replace all of this command recording & proxy logic with executing single recurse one-liner including -c options for private submodules
12+
# once we have relative URLs + all .gitmodules configs are polished (so basically we don't have to set some config options on fly)
13+
1114
if(NOT DEFINED NBL_ROOT_PATH)
1215
get_filename_component(NBL_ROOT_PATH "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)
1316
endif()
@@ -26,6 +29,18 @@ endif()
2629

2730
function(NBL_UPDATE_SUBMODULES)
2831
ProcessorCount(_GIT_SUBMODULES_JOBS_AMOUNT_)
32+
33+
set(PRIVATE_SUBMODULES
34+
Ditt-Reference-Scenes
35+
)
36+
37+
foreach(NBL_P_SUBMODULE_NAME ${PRIVATE_SUBMODULES})
38+
if(NBL_UPDATE_GIT_SUBMODULE_INCLUDE_PRIVATE)
39+
list(APPEND NBL_CONFIG_PRIVATE_SETUP_CMD "-c submodule.\"${NBL_P_SUBMODULE_NAME}\".update=checkout")
40+
else()
41+
list(APPEND NBL_CONFIG_PRIVATE_SETUP_CMD "-c submodule.\"${NBL_P_SUBMODULE_NAME}\".update=none")
42+
endif()
43+
endforeach()
2944

3045
if(NBL_CI_GIT_SUBMODULES_SHALLOW)
3146
set(NBL_SHALLOW "--depth=1")
@@ -54,9 +69,9 @@ function(NBL_UPDATE_SUBMODULES)
5469
endif()
5570

5671
if(SHOULD_RECURSIVE)
57-
set(_NBL_EXECUTE_COMMAND_ "\"${GIT_EXECUTABLE}\" -C \"${NBL_ROOT_PATH}/${GIT_RELATIVE_ENTRY}\" ${NBL_EXCLUDE} submodule update --init -j ${_GIT_SUBMODULES_JOBS_AMOUNT_} ${NBL_FORCE} --recursive ${NBL_SHALLOW} ${GIT_SUBMODULE_PATH}")
72+
set(_NBL_EXECUTE_COMMAND_ "\"${GIT_EXECUTABLE}\" -C \"${NBL_ROOT_PATH}/${GIT_RELATIVE_ENTRY}\" ${NBL_EXCLUDE} ${NBL_CONFIG_PRIVATE_SETUP_CMD} submodule update --init -j ${_GIT_SUBMODULES_JOBS_AMOUNT_} ${NBL_FORCE} --recursive ${NBL_SHALLOW} ${GIT_SUBMODULE_PATH}")
5873
else()
59-
set(_NBL_EXECUTE_COMMAND_ "\"${GIT_EXECUTABLE}\" -C \"${NBL_ROOT_PATH}/${GIT_RELATIVE_ENTRY}\" ${NBL_EXCLUDE} submodule update --init -j ${_GIT_SUBMODULES_JOBS_AMOUNT_} ${NBL_FORCE} ${NBL_SHALLOW} ${GIT_SUBMODULE_PATH}")
74+
set(_NBL_EXECUTE_COMMAND_ "\"${GIT_EXECUTABLE}\" -C \"${NBL_ROOT_PATH}/${GIT_RELATIVE_ENTRY}\" ${NBL_EXCLUDE} ${NBL_CONFIG_PRIVATE_SETUP_CMD} submodule update --init -j ${_GIT_SUBMODULES_JOBS_AMOUNT_} ${NBL_FORCE} ${NBL_SHALLOW} ${GIT_SUBMODULE_PATH}")
6075
endif()
6176

6277
string(APPEND _NBL_UPDATE_SUBMODULES_COMMANDS_ "${_NBL_EXECUTE_COMMAND_}\n")
@@ -131,6 +146,7 @@ execute_process(COMMAND "${GIT_EXECUTABLE}" ${NBL_CONFIG_SETUP_CMD} submodule up
131146
NBL_WRAPPER_COMMAND_EXCLUSIVE("" ./3rdparty TRUE "${NBL_3RDPARTY_MODULES_TO_SKIP}")
132147

133148
# boost's 3rdparties, special case
149+
# TODO: fork boost and update .gitmodules to cover only libs we want to use
134150
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)
135151
foreach(NBL_TARGET ${NBL_BOOST_LIBS_TO_INIT})
136152
list(APPEND NBL_BOOST_SUBMODULES_TO_INIT ${NBL_TARGET})
@@ -153,8 +169,7 @@ execute_process(COMMAND "${GIT_EXECUTABLE}" ${NBL_CONFIG_SETUP_CMD} submodule up
153169

154170
# examples and their media
155171
if(NBL_BUILD_EXAMPLES)
156-
NBL_WRAPPER_COMMAND_EXCLUSIVE("" ./examples_tests FALSE "")
157-
NBL_WRAPPER_COMMAND_EXCLUSIVE(examples_tests ./media FALSE "")
172+
NBL_WRAPPER_COMMAND_EXCLUSIVE("" ./examples_tests TRUE "")
158173
endif()
159174
endif()
160175

examples_tests

0 commit comments

Comments
 (0)