diff options
author | Jan <sentrycraft123@gmail.com> | 2023-07-22 02:22:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-22 02:22:26 +0200 |
commit | d3fb76f889101f024f410c194a66f0f4a2f6c4a0 (patch) | |
tree | 9739770458ee74e28474949b8e5e310c20f4734a /cmake/utils.cmake | |
parent | 9841d698f89e1ec6cc9b0c04df10bad6010a54fe (diff) | |
download | NorthstarLauncher-d3fb76f889101f024f410c194a66f0f4a2f6c4a0.tar.gz NorthstarLauncher-d3fb76f889101f024f410c194a66f0f4a2f6c4a0.zip |
Replace vendored libcurl and minhook with submodules (#500)v1.17.1-rc1
* Replace vendored libcurl and minhook with submodules
* Add cmake utility for checking submodules and initializing them
* Update build instructions to use Git
Diffstat (limited to 'cmake/utils.cmake')
-rw-r--r-- | cmake/utils.cmake | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/cmake/utils.cmake b/cmake/utils.cmake new file mode 100644 index 00000000..e38b9eab --- /dev/null +++ b/cmake/utils.cmake @@ -0,0 +1,25 @@ + +# Check if a dependency exist before trying to init git submodules +function(check_init_submodule path) + file(GLOB DIR_CONTENT path) + list(LENGTH RESULT CONTENT_COUNT) + if (CONTENT_COUNT EQUAL 0) + if (NOT EXISTS "${PROJECT_SOURCE_DIR}/.git") + message(FATAL_ERROR "Failed to find third party dependency in '${path}'") + endif() + + find_package(Git QUIET) + if (NOT Git_FOUND) + message(FATAL_ERROR "Failed to find Git, third party dependency could not be setup at `${path}") + endif() + + message(STATUS "Setting up dependencies as git submodules") + execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + RESULT_VARIABLE GIT_SUBMOD_RESULT) + + if(NOT GIT_SUBMOD_RESULT EQUAL "0") + message(FATAL_ERROR "Initializing Git submodules failed with ${GIT_SUBMOD_RESULT}") + endif() + endif() +endfunction() |