Skip to content

Commit b546baf

Browse files
committed
Fix of source package generation
to include files (borrowed from and) returned to the c/c++ repo
1 parent b4f3713 commit b546baf

File tree

2 files changed

+98
-58
lines changed

2 files changed

+98
-58
lines changed

cmake/packaging.cmake

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,43 @@ Makefile$
7676

7777
# Build source packages
7878
IF(GIT_BUILD_SRCPKG OR ODBC_GIT_BUILD_SRCPKG)
79-
IF(WIN32)
80-
EXECUTE_PROCESS(COMMAND git archive --format=zip --prefix=${CPACK_SOURCE_PACKAGE_FILE_NAME}/ --output=${CPACK_SOURCE_PACKAGE_FILE_NAME}.zip --worktree-attributes -v HEAD)
81-
ELSE()
82-
EXECUTE_PROCESS(COMMAND git archive ${GIT_BRANCH} --format=zip --prefix=${CPACK_SOURCE_PACKAGE_FILE_NAME}/ --output=${CPACK_SOURCE_PACKAGE_FILE_NAME}.zip -v HEAD)
83-
EXECUTE_PROCESS(COMMAND git archive ${GIT_BRANCH} --format=tar --prefix=${CPACK_SOURCE_PACKAGE_FILE_NAME}/ --output=${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar -v HEAD)
84-
EXECUTE_PROCESS(COMMAND gzip -9 -f ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar)
85-
ENDIF()
79+
# Assuming that git available and assuming on Windoews that all required unix tools came along with git(as they usualyy do). But actually we use only cmake functionality
80+
SET(TMP_SRCPKG_DIR "tmp_src_pkg")
81+
EXECUTE_PROCESS(COMMAND git archive ${GIT_BRANCH} --format=tar --prefix=${CPACK_SOURCE_PACKAGE_FILE_NAME}/ --output=${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar -v HEAD
82+
OUTPUT_QUIET)
83+
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E remove_directory ${TMP_SRCPKG_DIR}
84+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
85+
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E make_directory ${TMP_SRCPKG_DIR}
86+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
87+
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E
88+
tar "cf" ${CMAKE_BINARY_DIR}/cppmini.tar ${MARIADB_CPPMINI_FILES} ${MARIADB_CPPMINI_HEADERS}
89+
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/driver")
90+
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E
91+
tar "xf" ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar
92+
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/${TMP_SRCPKG_DIR}")
93+
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E
94+
tar "xf" ${CMAKE_BINARY_DIR}/cppmini.tar
95+
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/${TMP_SRCPKG_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}/driver")
96+
#EXECUTE_PROCESS(COMMAND git archive --format=tar --prefix="cppmini/" --output=${CMAKE_BINARY_DIR}/cppmini.tar HEAD -- *.cpp *.h
97+
# WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/driver/cppmini")
98+
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_BINARY_DIR}/cppmini.tar")
99+
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar")
100+
#IF(NOT WIN32)
101+
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E
102+
tar "zcf" ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz ${CPACK_SOURCE_PACKAGE_FILE_NAME}
103+
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/${TMP_SRCPKG_DIR}")
104+
105+
#ENDIF()
106+
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E
107+
tar "cf" "${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.zip"
108+
--format=zip ${CPACK_SOURCE_PACKAGE_FILE_NAME}
109+
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/${TMP_SRCPKG_DIR}")
110+
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E remove_directory ${TMP_SRCPKG_DIR}
111+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
112+
#EXECUTE_PROCESS(COMMAND git archive ${GIT_BRANCH} --format=zip --prefix=${CPACK_SOURCE_PACKAGE_FILE_NAME}/ --output=${CPACK_SOURCE_PACKAGE_FILE_NAME}.zip -v HEAD)
113+
# Should we exit right here?
86114
ENDIF()
115+
87116
IF(WIN32)
88117
SET(DEFAULT_GENERATOR "ZIP")
89118
ELSE()

driver/CMakeLists.txt

Lines changed: 62 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -30,44 +30,22 @@ INCLUDE(FindGit)
3030
IF(NOT GIT_EXECUTABLE)
3131
MESSAGE(STATUS "Git has nobeen found")
3232
ENDIF()
33-
IF(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/cppmini/CMakeLists.txt AND GIT_EXECUTABLE)
33+
IF(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/cppmini/class AND GIT_EXECUTABLE)
3434
MESSAGE(STATUS "C/C++ files are not found - updating submodules")
3535
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" submodule init
3636
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
3737
EXECUTE_PROCESS(COMMAND "${GIT_EXECUTABLE}" submodule update
3838
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
3939
ENDIF()
40-
IF(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/cppmini/CMakeLists.txt)
40+
IF(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/cppmini/class)
4141
MESSAGE(FATAL_ERROR "No MariaDB Connector/C++ mini branch! Run
4242
git submodule init
4343
git submodule update
4444
Then restart the build.
4545
")
4646
ENDIF()
4747

48-
49-
SET (MARIADB_ODBC_SOURCES odbc_3_api.cpp
50-
ma_api_internal.cpp
51-
ma_error.cpp
52-
ma_connection.cpp
53-
ma_helper.cpp
54-
ma_debug.cpp
55-
ma_dsn.c
56-
ma_driver.cpp
57-
ma_info.cpp
58-
ma_environment.cpp
59-
ma_parse.cpp
60-
ma_catalog.cpp
61-
ma_statement.cpp
62-
ma_desc.cpp
63-
ma_string.cpp
64-
ma_result.cpp
65-
ma_common.c
66-
ma_server.cpp
67-
ma_legacy_helpers.cpp
68-
ma_typeconv.cpp
69-
ma_bulk.cpp
70-
ma_codec.cpp
48+
SET(MARIADB_CPPMINI_FILES
7149
cppmini/class/Results.cpp
7250
cppmini/class/TextRow.cpp
7351
cppmini/class/BinRow.cpp
@@ -91,8 +69,65 @@ SET (MARIADB_ODBC_SOURCES odbc_3_api.cpp
9169
cppmini/interface/PrepareResult.cpp
9270
cppmini/interface/Exception.cpp
9371
cppmini/template/CArray.cpp
94-
)
9572

73+
PARENT_SCOPE)
74+
75+
SET(MARIADB_CPPMINI_HEADERS
76+
cppmini/class/SQLString.h
77+
cppmini/class/Results.h
78+
cppmini/class/TextRow.h
79+
cppmini/class/BinRow.h
80+
cppmini/class/ClientSidePreparedStatement.h
81+
cppmini/class/ServerSidePreparedStatement.h
82+
cppmini/class/SSPSDirectExec.h
83+
cppmini/class/ClientPrepareResult.h
84+
cppmini/class/ServerPrepareResult.h
85+
cppmini/class/CmdInformationSingle.h
86+
cppmini/class/CmdInformationMultiple.h
87+
cppmini/class/CmdInformationBatch.h
88+
cppmini/class/ColumnDefinition.h
89+
cppmini/class/ResultSetText.h
90+
cppmini/class/ResultSetBin.h
91+
cppmini/class/ResultSetMetaData.h
92+
cppmini/class/Parameter.h
93+
cppmini/class/pimpls.h
94+
cppmini/class/Protocol.h
95+
cppmini/class/lru/lrucache.h
96+
cppmini/class/lru/pscache.h
97+
cppmini/interface/PreparedStatement.h
98+
cppmini/interface/PrepareResult.h
99+
cppmini/interface/Row.h
100+
cppmini/interface/ResultSet.h
101+
cppmini/interface/CmdInformation.h
102+
cppmini/interface/Exception.h
103+
cppmini/template/CArray.h
104+
105+
PARENT_SCOPE)
106+
107+
SET (MARIADB_ODBC_SOURCES odbc_3_api.cpp
108+
ma_api_internal.cpp
109+
ma_error.cpp
110+
ma_connection.cpp
111+
ma_helper.cpp
112+
ma_debug.cpp
113+
ma_dsn.c
114+
ma_driver.cpp
115+
ma_info.cpp
116+
ma_environment.cpp
117+
ma_parse.cpp
118+
ma_catalog.cpp
119+
ma_statement.cpp
120+
ma_desc.cpp
121+
ma_string.cpp
122+
ma_result.cpp
123+
ma_common.c
124+
ma_server.cpp
125+
ma_legacy_helpers.cpp
126+
ma_typeconv.cpp
127+
ma_bulk.cpp
128+
ma_codec.cpp
129+
${MARIADB_CPPMINI_FILES}
130+
)
96131
IF(WIN32)
97132
SET(ODBC_LIBS odbc32)
98133
SET(ODBC_INSTLIBS odbccp32)
@@ -122,31 +157,7 @@ IF(WIN32)
122157
ma_bulk.h
123158
ma_codec.h
124159
ma_c_stuff.h
125-
cppmini/class/SQLString.h
126-
cppmini/class/Results.h
127-
cppmini/class/TextRow.h
128-
cppmini/class/BinRow.h
129-
cppmini/class/ClientSidePreparedStatement.h
130-
cppmini/class/ServerSidePreparedStatement.h
131-
cppmini/class/SSPSDirectExec.h
132-
cppmini/class/ClientPrepareResult.h
133-
cppmini/class/ServerPrepareResult.h
134-
cppmini/class/CmdInformationSingle.h
135-
cppmini/class/CmdInformationMultiple.h
136-
cppmini/class/CmdInformationBatch.h
137-
cppmini/class/ColumnDefinition.h
138-
cppmini/class/ResultSetText.h
139-
cppmini/class/ResultSetBin.h
140-
cppmini/class/ResultSetMetaData.h
141-
cppmini/class/Parameter.h
142-
cppmini/class/Protocol.h
143-
cppmini/interface/PreparedStatement.h
144-
cppmini/interface/PrepareResult.h
145-
cppmini/interface/Row.h
146-
cppmini/interface/ResultSet.h
147-
cppmini/interface/CmdInformation.h
148-
cppmini/interface/Exception.h
149-
cppmini/template/CArray.h
160+
${MARIADB_CPPMINI_HEADERS}
150161
)
151162

152163
SOURCE_GROUP(Classes REGULAR_EXPRESSION "class/")

0 commit comments

Comments
 (0)