Skip to content

Commit c597ed0

Browse files
committed
MDEV-9209 - [PATCH] scripts: Do not prepend the prefix to absolute paths
Allow absolute paths for INSTALL_*DIR.
1 parent d8e127f commit c597ed0

File tree

5 files changed

+36
-31
lines changed

5 files changed

+36
-31
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ IF(WIN32)
283283
SET(SHAREDIR share)
284284
ELSE()
285285
SET(DEFAULT_MYSQL_HOME ${CMAKE_INSTALL_PREFIX})
286-
SET(SHAREDIR ${DEFAULT_MYSQL_HOME}/${INSTALL_MYSQLSHAREDIR})
286+
SET(SHAREDIR ${INSTALL_MYSQLSHAREDIRABS})
287287
ENDIF()
288288

289289
SET(DEFAULT_BASEDIR "${DEFAULT_MYSQL_HOME}")

cmake/cpack_rpm.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ SET(CPACK_RPM_SPEC_MORE_DEFINE "
5555
%define mysqldatadir ${INSTALL_MYSQLDATADIR}
5656
%define mysqld_user mysql
5757
%define mysqld_group mysql
58-
%define _bindir ${CMAKE_INSTALL_PREFIX}/${INSTALL_BINDIR}
59-
%define _sbindir ${CMAKE_INSTALL_PREFIX}/${INSTALL_SBINDIR}
58+
%define _bindir ${INSTALL_BINDIRABS}
59+
%define _sbindir ${INSTALL_SBINDIRABS}
6060
%define _sysconfdir ${INSTALL_SYSCONFDIR}
6161
")
6262

cmake/install_layout.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,12 @@ FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN SYSCONF
236236
SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}}
237237
CACHE STRING "${var} installation directory" ${FORCE})
238238
MARK_AS_ADVANCED(INSTALL_${var}DIR)
239+
240+
IF(IS_ABSOLUTE ${INSTALL_${var}DIR})
241+
SET(INSTALL_${var}DIRABS ${INSTALL_${var}DIR})
242+
ELSE()
243+
SET(INSTALL_${var}DIRABS "${CMAKE_INSTALL_PREFIX}/${INSTALL_${var}DIR}")
244+
ENDIF()
239245
ENDFOREACH()
240246

241247
IF(NOT MYSQL_UNIX_ADDR)

scripts/CMakeLists.txt

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -179,33 +179,32 @@ ENDIF(UNIX)
179179

180180
IF(INSTALL_LAYOUT MATCHES "STANDALONE")
181181
SET(prefix ".")
182-
ELSE()
183-
SET(prefix "${CMAKE_INSTALL_PREFIX}")
184-
ENDIF()
185-
186-
SET(bindir ${prefix}/${INSTALL_BINDIR})
187-
SET(sbindir ${prefix}/${INSTALL_SBINDIR})
188-
SET(scriptdir ${prefix}/${INSTALL_BINDIR})
189-
SET(libexecdir ${prefix}/${INSTALL_SBINDIR})
190-
SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR})
191-
IF(INSTALL_LAYOUT MATCHES "STANDALONE")
182+
SET(bindir ${prefix}/${INSTALL_BINDIR})
183+
SET(sbindir ${prefix}/${INSTALL_SBINDIR})
184+
SET(scriptdir ${prefix}/${INSTALL_BINDIR})
185+
SET(libexecdir ${prefix}/${INSTALL_SBINDIR})
186+
SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR})
192187
SET(localstatedir ${prefix}/data)
193188
ELSE()
189+
SET(prefix "${CMAKE_INSTALL_PREFIX}")
190+
SET(bindir ${INSTALL_BINDIRABS})
191+
SET(sbindir ${INSTALL_SBINDIRABS})
192+
SET(scriptdir ${INSTALL_BINDIRABS})
193+
SET(libexecdir ${INSTALL_SBINDIRABS})
194+
SET(pkgdatadir ${INSTALL_MYSQLSHAREDIRABS})
194195
SET(localstatedir ${MYSQL_DATADIR})
195196
ENDIF()
196197

197198
IF(UNIX)
198199
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql_install_db.sh
199200
${CMAKE_CURRENT_BINARY_DIR}/mysql_install_db ESCAPE_QUOTES @ONLY)
200-
SET(DEST ${INSTALL_SCRIPTDIR})
201-
SET(EXT)
202201
EXECUTE_PROCESS(
203202
COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/mysql_install_db
204203
)
205204

206205
INSTALL_SCRIPT(
207206
"${CMAKE_CURRENT_BINARY_DIR}/mysql_install_db"
208-
DESTINATION ${DEST}
207+
DESTINATION ${INSTALL_SCRIPTDIR}
209208
COMPONENT Server
210209
)
211210
ENDIF()
@@ -216,15 +215,15 @@ IF(INSTALL_SYSCONFDIR)
216215
ELSE()
217216
SET(sysconfdir "/etc")
218217
ENDIF()
219-
SET(bindir ${prefix}/${INSTALL_BINDIR})
220-
SET(libexecdir ${prefix}/${INSTALL_SBINDIR})
221-
SET(scriptdir ${prefix}/${INSTALL_BINDIR})
222-
SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR})
223-
SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR})
218+
SET(bindir ${INSTALL_BINDIRABS})
219+
SET(libexecdir ${INSTALL_SBINDIRABS})
220+
SET(scriptdir ${INSTALL_BINDIRABS})
221+
SET(datadir ${INSTALL_MYSQLSHAREDIRABS})
222+
SET(pkgdatadir ${INSTALL_MYSQLSHAREDIRABS})
224223
SET(libsubdir ${INSTALL_LIBDIR})
225-
SET(pkgincludedir ${prefix}/${INSTALL_INCLUDEDIR})
226-
SET(pkglibdir ${prefix}/${INSTALL_LIBDIR})
227-
SET(pkgplugindir ${prefix}/${INSTALL_PLUGINDIR})
224+
SET(pkgincludedir ${INSTALL_INCLUDEDIRABS})
225+
SET(pkglibdir ${INSTALL_LIBDIRABS})
226+
SET(pkgplugindir ${INSTALL_PLUGINDIRABS})
228227
SET(localstatedir ${MYSQL_DATADIR})
229228

230229
SET(RPATH_OPTION "")

support-files/CMakeLists.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ IF(WIN32)
2020
ELSE()
2121
SET(localstatedir "${MYSQL_DATADIR}")
2222
SET(prefix "${CMAKE_INSTALL_PREFIX}")
23-
SET(libexecdir "${CMAKE_INSTALL_PREFIX}/${INSTALL_SBINDIR}")
24-
SET(bindir "${CMAKE_INSTALL_PREFIX}/${INSTALL_BINDIR}" )
23+
SET(libexecdir ${INSTALL_SBINDIRABS})
24+
SET(bindir ${INSTALL_BINDIRABS})
2525
SET(sbindir "${libexecdir}")
2626
SET(datadir "${MYSQL_DATADIR}")
2727
SET(CC ${CMAKE_C_COMPILER})
@@ -66,11 +66,11 @@ IF(UNIX)
6666

6767
INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
6868

69-
SET(bindir ${prefix}/${INSTALL_BINDIR})
70-
SET(sbindir ${prefix}/${INSTALL_SBINDIR})
71-
SET(scriptdir ${prefix}/${INSTALL_SCRIPTDIR})
72-
SET(libexecdir ${prefix}/${INSTALL_SBINDIR})
73-
SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR})
69+
SET(bindir ${INSTALL_BINDIRABS})
70+
SET(sbindir ${INSTALL_SBINDIRABS})
71+
SET(scriptdir ${INSTALL_SCRIPTDIRABS})
72+
SET(libexecdir ${INSTALL_SBINDIRABS})
73+
SET(pkgdatadir ${INSTALL_MYSQLSHAREDIRABS})
7474
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql.server.sh
7575
${CMAKE_CURRENT_BINARY_DIR}/mysql.server @ONLY)
7676
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/mysql.server

0 commit comments

Comments
 (0)