Skip to content

Commit 3e48269

Browse files
committed
git support in cmake files
1 parent 05df71a commit 3e48269

File tree

4 files changed

+35
-6
lines changed

4 files changed

+35
-6
lines changed

cmake/cpack_source_ignore_files.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ SET(CPACK_SOURCE_IGNORE_FILES
1717
\\\\.bzr/
1818
\\\\.bzr-mysql
1919
\\\\.bzrignore
20+
\\\\.git/
21+
\\\\.gitignore
2022
CMakeCache\\\\.txt
2123
cmake_dist\\\\.cmake
2224
CPackSourceConfig\\\\.cmake

cmake/info_macros.cmake.in

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1515

1616

17-
# Handle/create the "INFO_*" files describing a MySQL (server) binary.
17+
# Handle/create the "INFO_*" files describing a MariaDB (server) binary.
1818
# This is part of the fix for bug#42969.
1919

2020

@@ -28,6 +28,7 @@ SET(CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@")
2828
SET(CMAKE_GENERATOR "@CMAKE_GENERATOR@")
2929
SET(CMAKE_SIZEOF_VOID_P "@CMAKE_SIZEOF_VOID_P@")
3030
SET(BZR_EXECUTABLE "@BZR_EXECUTABLE@")
31+
SET(GIT_EXECUTABLE "@GIT_EXECUTABLE@")
3132
SET(CMAKE_CROSSCOMPILING "@CMAKE_CROSSCOMPILING@")
3233
SET(CMAKE_HOST_SYSTEM "@CMAKE_HOST_SYSTEM@")
3334
SET(CMAKE_HOST_SYSTEM_PROCESSOR "@CMAKE_HOST_SYSTEM_PROCESSOR@")
@@ -54,7 +55,19 @@ MACRO(CREATE_INFO_SRC target_dir)
5455
FILE(WRITE ${INFO_SRC} "${VERSION_INFO}\n")
5556
# to debug, add: FILE(APPEND ${INFO_SRC} "\nResult ${RESULT}\n")
5657
# For better readability ...
57-
FILE(APPEND ${INFO_SRC} "\nMySQL source ${VERSION}\n")
58+
FILE(APPEND ${INFO_SRC} "\nMariaDB source ${VERSION}\n")
59+
ELSEIF(EXISTS ${CMAKE_SOURCE_DIR}/.git)
60+
# Sources are in a GIT repository: Always update.
61+
EXECUTE_PROCESS(
62+
COMMAND ${GIT_EXECUTABLE} log -1 "--format=commit: %H%nauthor: %an <%ae>%ndate: %aD%nbranch: %d"
63+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
64+
OUTPUT_VARIABLE VERSION_INFO
65+
RESULT_VARIABLE RESULT
66+
)
67+
FILE(WRITE ${INFO_SRC} "${VERSION_INFO}\n")
68+
# to debug, add: FILE(APPEND ${INFO_SRC} "\nResult ${RESULT}\n")
69+
# For better readability ...
70+
FILE(APPEND ${INFO_SRC} "\nMariaDB source ${VERSION}\n")
5871
ELSEIF(EXISTS ${INFO_SRC})
5972
# Outside a BZR tree, there is no need to change an existing "INFO_SRC",
6073
# it cannot be improved.
@@ -69,7 +82,7 @@ MACRO(CREATE_INFO_SRC target_dir)
6982
FILE(WRITE ${INFO_SRC} "${SOURCE_INFO}\n")
7083
ELSE()
7184
# This is a fall-back.
72-
FILE(WRITE ${INFO_SRC} "\nMySQL source ${VERSION}\n")
85+
FILE(WRITE ${INFO_SRC} "\nMariaDB source ${VERSION}\n")
7386
ENDIF()
7487
ENDMACRO(CREATE_INFO_SRC)
7588

cmake/make_dist.cmake.in

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ SET(CPACK_SOURCE_PACKAGE_FILE_NAME "@CPACK_SOURCE_PACKAGE_FILE_NAME@")
2323
SET(CMAKE_CPACK_COMMAND "@CMAKE_CPACK_COMMAND@")
2424
SET(CMAKE_COMMAND "@CMAKE_COMMAND@")
2525
SET(BZR_EXECUTABLE "@BZR_EXECUTABLE@")
26+
SET(GIT_EXECUTABLE "@GIT_EXECUTABLE@")
2627
SET(GTAR_EXECUTABLE "@GTAR_EXECUTABLE@")
2728
SET(TAR_EXECUTABLE "@TAR_EXECUTABLE@")
2829
SET(CMAKE_GENERATOR "@CMAKE_GENERATOR@")
@@ -39,7 +40,20 @@ SET(PACKAGE_DIR ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME})
3940
FILE(REMOVE_RECURSE ${PACKAGE_DIR})
4041
FILE(REMOVE ${PACKAGE_DIR}.tar.gz )
4142

42-
IF(BZR_EXECUTABLE)
43+
IF(GIT_EXECUTABLE)
44+
MESSAGE(STATUS "Running git checkout-index")
45+
EXECUTE_PROCESS(
46+
COMMAND "${GIT_EXECUTABLE}" checkout-index --all --prefix=${PACKAGE_DIR}/
47+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
48+
RESULT_VARIABLE RESULT
49+
)
50+
51+
IF(NOT RESULT EQUAL 0)
52+
SET(GIT_EXECUTABLE)
53+
ENDIF()
54+
ENDIF()
55+
56+
IF(BZR_EXECUTABLE AND NOT GIT_EXECUTABLE)
4357
MESSAGE(STATUS "Running bzr export")
4458
EXECUTE_PROCESS(
4559
COMMAND "${BZR_EXECUTABLE}" export
@@ -53,7 +67,7 @@ IF(BZR_EXECUTABLE)
5367
ENDIF()
5468
ENDIF()
5569

56-
IF(NOT BZR_EXECUTABLE)
70+
IF(NOT BZR_EXECUTABLE AND NOT GIT_EXECUTABLE)
5771
MESSAGE(STATUS "bzr not found or source dir is not a repo, use CPack")
5872

5973
IF(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)

sql/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ IF(WIN32 OR HAVE_DLOPEN AND NOT DISABLE_SHARED)
254254
ENDIF()
255255

256256
FOREACH(tool glibtoolize libtoolize aclocal autoconf autoheader automake gtar
257-
tar bzr)
257+
tar bzr git)
258258
STRING(TOUPPER ${tool} TOOL)
259259
FIND_PROGRAM(${TOOL}_EXECUTABLE ${tool} DOC "path to the executable")
260260
MARK_AS_ADVANCED(${TOOL}_EXECUTABLE)

0 commit comments

Comments
 (0)