[cmake] submodules: only add to CPMUtil if git exists

Signed-off-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
crueter 2025-08-12 21:41:06 -04:00 committed by crueter
parent 15ba975916
commit 84818e9865
Signed by: crueter
GPG key ID: 425ACD2D4830EBC6

View file

@ -268,30 +268,31 @@ function(check_submodules_present)
message(FATAL_ERROR "Git submodule ${module} not found. " message(FATAL_ERROR "Git submodule ${module} not found. "
"Please run: \ngit submodule update --init --recursive") "Please run: \ngit submodule update --init --recursive")
endif() endif()
if (EXISTS "${PROJECT_SOURCE_DIR}/${module}/.git")
set(SUBMODULE_DIR "${PROJECT_SOURCE_DIR}/${module}")
set(SUBMODULE_DIR "${PROJECT_SOURCE_DIR}/${module}") execute_process(
COMMAND git rev-parse --short=10 HEAD
WORKING_DIRECTORY ${SUBMODULE_DIR}
OUTPUT_VARIABLE SUBMODULE_SHA
)
execute_process( # would probably be better to do string parsing, but whatever
COMMAND git rev-parse --short=10 HEAD execute_process(
WORKING_DIRECTORY ${SUBMODULE_DIR} COMMAND git remote get-url origin
OUTPUT_VARIABLE SUBMODULE_SHA WORKING_DIRECTORY ${SUBMODULE_DIR}
) OUTPUT_VARIABLE SUBMODULE_URL
)
# would probably be better to do string parsing, but whatever string(REGEX REPLACE "\n|\r" "" SUBMODULE_SHA ${SUBMODULE_SHA})
execute_process( string(REGEX REPLACE "\n|\r|\\.git" "" SUBMODULE_URL ${SUBMODULE_URL})
COMMAND git remote get-url origin
WORKING_DIRECTORY ${SUBMODULE_DIR}
OUTPUT_VARIABLE SUBMODULE_URL
)
string(REGEX REPLACE "\n|\r" "" SUBMODULE_SHA ${SUBMODULE_SHA}) get_filename_component(SUBMODULE_NAME ${SUBMODULE_DIR} NAME)
string(REGEX REPLACE "\n|\r|\\.git" "" SUBMODULE_URL ${SUBMODULE_URL})
get_filename_component(SUBMODULE_NAME ${SUBMODULE_DIR} NAME) set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_NAMES ${SUBMODULE_NAME})
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_SHAS ${SUBMODULE_SHA})
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_NAMES ${SUBMODULE_NAME}) set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_URLS ${SUBMODULE_URL})
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_SHAS ${SUBMODULE_SHA}) endif()
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_URLS ${SUBMODULE_URL})
endforeach() endforeach()
endfunction() endfunction()