mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-08 08:47:17 +01:00
161 lines
4.8 KiB
CMake
161 lines
4.8 KiB
CMake
#
|
|
# Copyright (C) 2013-2016 MariaDB Corporation AB
|
|
#
|
|
# Redistribution and use is allowed according to the terms of the New
|
|
# BSD license.
|
|
# For details see the COPYING-CMAKE-SCRIPTS file.
|
|
#
|
|
|
|
#
|
|
# This file contains settings for the following layouts:
|
|
#
|
|
# - RPM
|
|
# Built with default prefix=/usr
|
|
#
|
|
#
|
|
# The following va+riables are used and can be overwritten
|
|
#
|
|
# INSTALL_LAYOUT installation layout (DEFAULT = standard for tar.gz and zip packages
|
|
# RPM packages
|
|
#
|
|
# INSTALL_BINDIR location of binaries (mariadb_config)
|
|
# INSTALL_LIBDIR location of libraries
|
|
# INSTALL_PLUGINDIR location of plugins
|
|
# INSTALL_MANDIR location of manpages
|
|
|
|
IF(NOT INSTALL_LAYOUT)
|
|
SET(INSTALL_LAYOUT "DEFAULT")
|
|
ENDIF()
|
|
|
|
SET(INSTALL_LAYOUT ${INSTALL_LAYOUT} CACHE
|
|
STRING "Installation layout. Currently supported options are DEFAULT (tar.gz and zip), RPM and DEB")
|
|
|
|
# On Windows we only provide zip and .msi. Latter one uses a different packager.
|
|
IF(UNIX)
|
|
IF(INSTALL_LAYOUT MATCHES "RPM")
|
|
SET(libmariadb_prefix "/usr")
|
|
ELSEIF(INSTALL_LAYOUT MATCHES "DEFAULT|DEB")
|
|
SET(libmariadb_prefix ${CMAKE_INSTALL_PREFIX})
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
IF(CMAKE_DEFAULT_PREFIX_INITIALIZED_BY_DEFAULT)
|
|
SET(CMAKE_DEFAULT_PREFIX ${libmariadb_prefix} CACHE PATH "Installation prefix" FORCE)
|
|
ENDIF()
|
|
|
|
# check if the specified installation layout is valid
|
|
SET(VALID_INSTALL_LAYOUTS "DEFAULT" "RPM" "DEB")
|
|
LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" layout_no)
|
|
IF(layout_no EQUAL -1)
|
|
MESSAGE(FATAL_ERROR "Invalid installation layout ${INSTALL_LAYOUT}. Please specify one of the following layouts: ${VALID_INSTALL_LAYOUTS}")
|
|
ENDIF()
|
|
|
|
|
|
|
|
#
|
|
# Todo: We don't generate man pages yet, will fix it
|
|
# later (webhelp to man transformation)
|
|
#
|
|
|
|
#
|
|
# DEFAULT layout
|
|
#
|
|
|
|
SET(INSTALL_BINDIR_DEFAULT "bin")
|
|
SET(INSTALL_LIBDIR_DEFAULT "lib/mariadb")
|
|
SET(INSTALL_PCDIR_DEFAULT "lib/pkgconfig")
|
|
SET(INSTALL_INCLUDEDIR_DEFAULT "include/mariadb")
|
|
SET(INSTALL_DOCDIR_DEFAULT "docs")
|
|
SET(INSTALL_MANDIR_DEFAULT "man")
|
|
IF(NOT IS_SUBPROJECT)
|
|
SET(INSTALL_PLUGINDIR_DEFAULT "lib/mariadb/plugin")
|
|
ELSE()
|
|
ENDIF()
|
|
SET(LIBMARIADB_STATIC_DEFAULT "mariadbclient")
|
|
#
|
|
# RPM layout
|
|
#
|
|
SET(INSTALL_BINDIR_RPM "bin")
|
|
IF((CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le" OR CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "s390x") AND CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
SET(INSTALL_LIBDIR_RPM "lib64/mariadb")
|
|
SET(INSTALL_PCDIR_RPM "lib64/pkgconfig")
|
|
SET(INSTALL_PLUGINDIR_RPM "lib64/mariadb/plugin")
|
|
ELSE()
|
|
SET(INSTALL_LIBDIR_RPM "lib/mariadb")
|
|
SET(INSTALL_PCDIR_RPM "lib/pkgconfig")
|
|
SET(INSTALL_PLUGINDIR_RPM "lib/mariadb/plugin")
|
|
ENDIF()
|
|
SET(INSTALL_INCLUDEDIR_RPM "include")
|
|
SET(INSTALL_DOCDIR_RPM "docs")
|
|
SET(INSTALL_MANDIR_RPM "share/man")
|
|
SET(LIBMARIADB_STATIC_RPM "mariadbclient")
|
|
|
|
#
|
|
# DEB layout
|
|
#
|
|
SET(INSTALL_BINDIR_DEB "bin")
|
|
SET(INSTALL_LIBDIR_DEB "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
|
|
SET(INSTALL_PCDIR_DEB "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig")
|
|
SET(INSTALL_PLUGINDIR_DEB "${INSTALL_LIBDIR_DEB}/libmariadb${CPACK_PACKAGE_VERSION_MAJOR}/plugin")
|
|
SET(INSTALL_INCLUDEDIR_DEB "include/mariadb")
|
|
SET(INSTALL_MANDIR_DEB "share/man")
|
|
SET(LIBMARIADB_STATIC_DEB "mariadb")
|
|
|
|
IF(INSTALL_LAYOUT MATCHES "DEB")
|
|
SET(INSTALL_PLUGINDIR_CLIENT ${INSTALL_PLUGINDIR_DEB})
|
|
ENDIF()
|
|
|
|
|
|
#
|
|
# Overwrite defaults
|
|
#
|
|
IF(INSTALL_LIBDIR)
|
|
SET(INSTALL_LIBDIR_${INSTALL_LAYOUT} ${INSTALL_LIBDIR})
|
|
ENDIF()
|
|
|
|
IF(INSTALL_PCDIR)
|
|
SET(INSTALL_PCDIR_${INSTALL_LAYOUT} ${INSTALL_PCDIR})
|
|
ENDIF()
|
|
|
|
IF(INSTALL_PLUGINDIR)
|
|
SET(INSTALL_PLUGINDIR_${INSTALL_LAYOUT} ${INSTALL_PLUGINDIR})
|
|
ENDIF()
|
|
|
|
# Extra INSTALL_PLUGINDIR_CLIENT that overrides any INSTALL_PLUGINDIR override
|
|
IF(INSTALL_PLUGINDIR_CLIENT)
|
|
SET(INSTALL_PLUGINDIR_${INSTALL_LAYOUT} ${INSTALL_PLUGINDIR_CLIENT})
|
|
ENDIF()
|
|
|
|
IF(INSTALL_INCLUDEDIR)
|
|
SET(INSTALL_INCLUDEDIR_${INSTALL_LAYOUT} ${INSTALL_INCLUDEDIR})
|
|
ENDIF()
|
|
|
|
IF(INSTALL_BINDIR)
|
|
SET(INSTALL_BINDIR_${INSTALL_LAYOUT} ${INSTALL_BINDIR})
|
|
ENDIF()
|
|
|
|
IF(INSTALL_MANDIR)
|
|
SET(INSTALL_MANDIR_${INSTALL_LAYOUT} ${INSTALL_MANDIR})
|
|
ENDIF()
|
|
|
|
IF(NOT INSTALL_PREFIXDIR)
|
|
SET(INSTALL_PREFIXDIR_${INSTALL_LAYOUT} ${libmariadb_prefix})
|
|
ELSE()
|
|
SET(INSTALL_PREFIXDIR_${INSTALL_LAYOUT} ${INSTALL_PREFIXDIR})
|
|
ENDIF()
|
|
|
|
IF(DEFINED INSTALL_SUFFIXDIR)
|
|
SET(INSTALL_SUFFIXDIR_${INSTALL_LAYOUT} ${INSTALL_SUFFIXDIR})
|
|
ENDIF()
|
|
|
|
FOREACH(dir "BIN" "LIB" "PC" "INCLUDE" "DOCS" "PLUGIN" "MAN")
|
|
SET(INSTALL_${dir}DIR ${INSTALL_${dir}DIR_${INSTALL_LAYOUT}})
|
|
MARK_AS_ADVANCED(INSTALL_${dir}DIR)
|
|
MESSAGE1(INSTALL_${dir}DIR "MariaDB Connector C: INSTALL_${dir}DIR=${INSTALL_${dir}DIR}")
|
|
ENDFOREACH()
|
|
|
|
SET(LIBMARIADB_STATIC_NAME ${LIBMARIADB_STATIC_${INSTALL_LAYOUT}})
|
|
MARK_AS_ADVANCED(LIBMARIADB_STATIC_NAME)
|
|
|
|
MESSAGE1(LIBMARIADB_STATIC_NAME "MariaDB Connector C: LIBMARIADB_STATIC_NAME ${LIBMARIADB_STATIC_NAME}")
|