mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 03:21:53 +01:00
4f5c65367a
Without this commit the error message is: $ cmake . -DWITH_WSREP=ON -- Running cmake version 3.12.1 -- MariaDB 10.4.3 CMake Error at cmake/wsrep.cmake:36 (FILE): FILE STRINGS file ".../mariadb-server-10.4/wsrep-lib/wsrep-API/v26/wsrep_api.h" cannot be read. Call Stack (most recent call first): CMakeLists.txt:147 (INCLUDE) Having 'git config cmake.update-submodules yes' nicely updates the build without error. $ cmake . -DWITH_WSREP=ON -- Running cmake version 3.12.1 -- MariaDB 10.4.3 Submodule path 'wsrep-lib': checked out 'e7d72ae7f6a6995a21d743389426a963429a1fff' Submodule path 'wsrep-lib/wsrep-API/v26': checked out '75a5f452f2ba07b0f4a3a9a94825fccc71b27398'
37 lines
1.5 KiB
CMake
37 lines
1.5 KiB
CMake
# update submodules automatically
|
|
|
|
OPTION(UPDATE_SUBMODULES "Update submodules automatically" ON)
|
|
IF(NOT UPDATE_SUBMODULES)
|
|
RETURN()
|
|
ENDIF()
|
|
|
|
IF(GIT_EXECUTABLE AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
|
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" config --get cmake.update-submodules
|
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
|
OUTPUT_VARIABLE cmake_update_submodules
|
|
RESULT_VARIABLE git_config_get_result)
|
|
IF(git_config_get_result EQUAL 128 OR cmake_update_submodules MATCHES no)
|
|
SET(update_result 0)
|
|
ELSEIF (cmake_update_submodules MATCHES force)
|
|
MESSAGE(STATUS "Updating submodules (forced)")
|
|
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" submodule update --init --force --recursive
|
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
|
RESULT_VARIABLE update_result)
|
|
ELSEIF (cmake_update_submodules MATCHES yes)
|
|
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" submodule update --init --recursive
|
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
|
RESULT_VARIABLE update_result)
|
|
ELSE()
|
|
MESSAGE(STATUS "Updating submodules")
|
|
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" submodule update --init --recursive
|
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
|
RESULT_VARIABLE update_result)
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
IF(update_result OR NOT EXISTS ${CMAKE_SOURCE_DIR}/libmariadb/CMakeLists.txt)
|
|
MESSAGE(FATAL_ERROR "No MariaDB Connector/C! Run
|
|
git submodule update --init --recursive
|
|
Then restart the build.
|
|
")
|
|
ENDIF()
|