mirror of
https://github.com/MariaDB/server.git
synced 2025-08-05 13:16:09 +03:00
cmake: update submodules automatically during the build
This commit is contained in:
@@ -363,7 +363,7 @@ ENDIF()
|
||||
|
||||
SET (MYSQLD_STATIC_PLUGIN_LIBS "" CACHE INTERNAL "")
|
||||
|
||||
# mariadb_connector_c fetches submodules which is useful for plugins
|
||||
INCLUDE(submodules)
|
||||
INCLUDE(mariadb_connector_c) # this does ADD_SUBDIRECTORY(libmariadb)
|
||||
|
||||
# Add storage engines and plugins.
|
||||
|
@@ -1,17 +1,3 @@
|
||||
IF(NOT EXISTS ${CMAKE_SOURCE_DIR}/libmariadb/CMakeLists.txt AND GIT_EXECUTABLE)
|
||||
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" submodule init
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
|
||||
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" submodule update
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
|
||||
ENDIF()
|
||||
IF(NOT EXISTS ${CMAKE_SOURCE_DIR}/libmariadb/CMakeLists.txt)
|
||||
MESSAGE(FATAL_ERROR "No MariaDB Connector/C! Run
|
||||
git submodule init
|
||||
git submodule update
|
||||
Then restart the build.
|
||||
")
|
||||
ENDIF()
|
||||
|
||||
SET(OPT CONC_)
|
||||
|
||||
IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
|
30
cmake/submodules.cmake
Normal file
30
cmake/submodules.cmake
Normal file
@@ -0,0 +1,30 @@
|
||||
# update submodules automatically
|
||||
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)
|
||||
IF(cmake_update_submodules MATCHES no)
|
||||
SET(update_result 0)
|
||||
ELSEIF (cmake_update_submodules MATCHES force)
|
||||
MESSAGE("-- Updating submodules (forced)")
|
||||
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" submodule update --init --force
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
RESULT_VARIABLE update_result)
|
||||
ELSEIF (cmake_update_submodules MATCHES yes)
|
||||
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" submodule update --init
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
RESULT_VARIABLE update_result)
|
||||
ELSE()
|
||||
MESSAGE("-- Updating submodules")
|
||||
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" submodule update --init
|
||||
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
|
||||
Then restart the build.
|
||||
")
|
||||
ENDIF()
|
Reference in New Issue
Block a user