summaryrefslogtreecommitdiff
path: root/cmake/install_macros.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/install_macros.cmake')
-rw-r--r--cmake/install_macros.cmake53
1 files changed, 23 insertions, 30 deletions
diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
index bb89a57ab11..c0802399e5d 100644
--- a/cmake/install_macros.cmake
+++ b/cmake/install_macros.cmake
@@ -13,12 +13,12 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
-GET_FILENAME_COMPONENT(MYSQL_CMAKE_SCRIPT_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
-INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_parse_arguments.cmake)
+INCLUDE(CMakeParseArguments)
FUNCTION (INSTALL_DEBUG_SYMBOLS)
IF(MSVC)
- MYSQL_PARSE_ARGUMENTS(ARG
+ CMAKE_PARSE_ARGUMENTS(ARG
+ ""
"COMPONENT;INSTALL_LOCATION"
""
${ARGN}
@@ -30,29 +30,20 @@ FUNCTION (INSTALL_DEBUG_SYMBOLS)
IF(NOT ARG_INSTALL_LOCATION)
SET(ARG_INSTALL_LOCATION lib)
ENDIF()
- SET(targets ${ARG_DEFAULT_ARGS})
+ SET(targets ${ARG_UNPARSED_ARGUMENTS})
FOREACH(target ${targets})
GET_TARGET_PROPERTY(target_type ${target} TYPE)
-
+ IF(target_type MATCHES "STATIC")
+ RETURN()
+ ENDIF()
set(comp "")
-
- IF(target MATCHES "mysqld" OR type MATCHES "MODULE")
- #MESSAGE("PDB: ${targets}")
+
+ IF((target STREQUAL "mysqld"))
SET(comp Server)
ENDIF()
-
- IF(NOT comp MATCHES Server)
- IF(ARG_COMPONENT MATCHES Development
- OR ARG_COMPONENT MATCHES SharedLibraries
- OR ARG_COMPONENT MATCHES Embedded)
- SET(comp Debuginfo)
- ENDIF()
- ENDIF()
- IF(NOT comp)
- SET(comp Debuginfo_archive_only) # not in MSI
- ENDIF()
- IF(NOT target_type MATCHES "STATIC")
+ INSTALL(FILES $<TARGET_PDB_FILE:${target}> DESTINATION symbols COMPONENT Debuginfo)
+ IF(comp)
INSTALL(FILES $<TARGET_PDB_FILE:${target}> DESTINATION ${ARG_INSTALL_LOCATION} COMPONENT ${comp})
ENDIF()
ENDFOREACH()
@@ -98,13 +89,14 @@ FUNCTION(INSTALL_MANPAGE file)
ENDFUNCTION()
FUNCTION(INSTALL_SCRIPT)
- MYSQL_PARSE_ARGUMENTS(ARG
+ CMAKE_PARSE_ARGUMENTS(ARG
+ ""
"DESTINATION;COMPONENT"
""
${ARGN}
)
- SET(script ${ARG_DEFAULT_ARGS})
+ SET(script ${ARG_UNPARSED_ARGUMENTS})
IF(NOT ARG_DESTINATION)
SET(ARG_DESTINATION ${INSTALL_BINDIR})
ENDIF()
@@ -125,8 +117,8 @@ ENDFUNCTION()
FUNCTION(INSTALL_DOCUMENTATION)
- MYSQL_PARSE_ARGUMENTS(ARG "COMPONENT" "" ${ARGN})
- SET(files ${ARG_DEFAULT_ARGS})
+ CMAKE_PARSE_ARGUMENTS(ARG "" "COMPONENT" "" ${ARGN})
+ SET(files ${ARG_UNPARSED_ARGUMENTS})
IF(NOT ARG_COMPONENT)
SET(ARG_COMPONENT Server)
ENDIF()
@@ -227,8 +219,9 @@ ENDFUNCTION()
#
FUNCTION(MYSQL_INSTALL_TARGETS)
- MYSQL_PARSE_ARGUMENTS(ARG
- "DESTINATION;COMPONENT"
+ CMAKE_PARSE_ARGUMENTS(ARG
+ ""
+ "DESTINATION;COMPONENT"
""
${ARGN}
)
@@ -238,7 +231,7 @@ FUNCTION(MYSQL_INSTALL_TARGETS)
MESSAGE(FATAL_ERROR "COMPONENT argument required")
ENDIF()
- SET(TARGETS ${ARG_DEFAULT_ARGS})
+ SET(TARGETS ${ARG_UNPARSED_ARGUMENTS})
IF(NOT TARGETS)
MESSAGE(FATAL_ERROR "Need target list for MYSQL_INSTALL_TARGETS")
ENDIF()
@@ -246,10 +239,9 @@ FUNCTION(MYSQL_INSTALL_TARGETS)
MESSAGE(FATAL_ERROR "Need DESTINATION parameter for MYSQL_INSTALL_TARGETS")
ENDIF()
-
FOREACH(target ${TARGETS})
# If signing is required, sign executables before installing
- IF(SIGNCODE)
+ IF(SIGNCODE)
SIGN_TARGET(${target} ${COMP})
ENDIF()
# Install man pages on Unix
@@ -272,7 +264,8 @@ SET(DEBUGBUILDDIR "${BINARY_PARENTDIR}/debug" CACHE INTERNAL "Directory of debug
FUNCTION(INSTALL_DEBUG_TARGET target)
- MYSQL_PARSE_ARGUMENTS(ARG
+ CMAKE_PARSE_ARGUMENTS(ARG
+ ""
"DESTINATION;RENAME;PDB_DESTINATION;COMPONENT"
""
${ARGN}