6 changed files with 134 additions and 53 deletions
-
1cmake/Makefile.am
-
49cmake/mysql_version.cmake
-
2cmake/os/Windows.cmake
-
124cmake/package_name.cmake
-
2include/my_atomic.h
-
9sql/CMakeLists.txt
@ -0,0 +1,124 @@ |
|||||
|
# Copyright (C) 2010 Sun Microsystems, Inc |
||||
|
# |
||||
|
# This program is free software; you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU General Public License as published by |
||||
|
# the Free Software Foundation; version 2 of the License. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU General Public License |
||||
|
# along with this program; if not, write to the Free Software |
||||
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
||||
|
|
||||
|
# Produce meaningful package name for the binary package |
||||
|
# The logic is rather involved with special cases for different OSes |
||||
|
MACRO(GET_PACKAGE_FILE_NAME Var) |
||||
|
IF(NOT VERSION) |
||||
|
MESSAGE(FATAL_ERROR |
||||
|
"Variable VERSION needs to be set prior to calling GET_PACKAGE_FILE_NAME") |
||||
|
ENDIF() |
||||
|
IF(NOT SYSTEM_NAME_AND_PROCESSOR) |
||||
|
SET(NEED_DASH_BETWEEN_PLATFORM_AND_MACHINE 1) |
||||
|
SET(DEFAULT_PLATFORM ${CMAKE_SYSTEM_NAME}) |
||||
|
SET(DEFAULT_MACHINE ${CMAKE_SYSTEM_PROCESSOR}) |
||||
|
IF(CMAKE_SIZEOF_VOID_P EQUAL 8) |
||||
|
SET(64BIT 1) |
||||
|
ENDIF() |
||||
|
|
||||
|
IF(CMAKE_SYSTEM_NAME MATCHES "Windows") |
||||
|
SET(NEED_DASH_BETWEEN_PLATFORM_AND_MACHINE 0) |
||||
|
SET(DEFAULT_PLATFORM "win") |
||||
|
IF(64BIT) |
||||
|
SET(DEFAULT_MACHINE "x64") |
||||
|
ELSE() |
||||
|
SET(DEFAULT_MACHINE "32") |
||||
|
ENDIF() |
||||
|
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Linux") |
||||
|
IF(NOT 64BIT AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") |
||||
|
SET(DEFAULT_MACHINE "i686") |
||||
|
ENDIF() |
||||
|
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "SunOS") |
||||
|
# SunOS 5.10=> solaris10 |
||||
|
STRING(REPLACE "5." "" VER "${CMAKE_SYSTEM_VERSION}") |
||||
|
SET(DEFAULT_PLATFORM "solaris${VER}") |
||||
|
IF(64BIT) |
||||
|
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "i386") |
||||
|
SET(DEFAULT_MACHINE "x86_64") |
||||
|
ELSE() |
||||
|
SET(DEFAULT_MACHINE "${CMAKE_SYSTEM_PROCESSOR}-64bit") |
||||
|
ENDIF() |
||||
|
ENDIF() |
||||
|
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX") |
||||
|
STRING(REPLACE "B." "" VER "${CMAKE_SYSTEM_VERSION}") |
||||
|
SET(DEFAULT_PLATFORM "hpux${VER}") |
||||
|
IF(64BIT) |
||||
|
SET(DEFAULT_MACHINE "${CMAKE_SYSTEM_PROCESSOR}-64bit") |
||||
|
ENDIF() |
||||
|
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "AIX") |
||||
|
SET(DEFAULT_PLATFORM "${CMAKE_SYSTEM_NAME}5.${CMAKE_SYSTEM_VERSION}") |
||||
|
IF(64BIT) |
||||
|
SET(DEFAULT_MACHINE "${CMAKE_SYSTEM_PROCESSOR}-64bit") |
||||
|
ENDIF() |
||||
|
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") |
||||
|
STRING(REGEX MATCH "[0-9]+\\.[0-9]+" VER "${CMAKE_SYSTEM_VERSION}") |
||||
|
SET(DEFAULT_PLATFORM "${CMAKE_SYSTEM_NAME}${VER}") |
||||
|
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64") |
||||
|
SET(DEFAULT_MACHINE "x86_64") |
||||
|
IF(NOT 64BIT) |
||||
|
SET(DEFAULT_MACHINE "i386") |
||||
|
ENDIF() |
||||
|
ENDIF() |
||||
|
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Darwin") |
||||
|
IF(${CMAKE_OSX_DEPLOYMENT_TARGET}) |
||||
|
SET(VER "${CMAKE_OSX_DEPLOYMENT_TARGET}") |
||||
|
ELSE() |
||||
|
SET(VER "${CMAKE_SYSTEM_VERSION}") |
||||
|
ENDIF() |
||||
|
STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" VER "${VER}") |
||||
|
MATH(EXPR VER "${VER} -4") |
||||
|
SET(DEFAULT_PLATFORM "osx10.${VER}") |
||||
|
LIST(LENGTH CMAKE_OSX_ARCHITECTURES LEN) |
||||
|
IF(LEN GREATER 1) |
||||
|
SET(DEFAULT_MACHINE "universal") |
||||
|
ELSE() |
||||
|
SET(DEFAULT_MACHINE "${CMAKE_OSX_ARCHITECTURES}") |
||||
|
ENDIF() |
||||
|
IF(DEFAULT_MACHINE MATCHES "i386") |
||||
|
SET(DEFAULT_MACHINE "x86") |
||||
|
ENDIF() |
||||
|
ENDIF() |
||||
|
|
||||
|
IF(NOT PLATFORM) |
||||
|
SET(PLATFORM ${DEFAULT_PLATFORM}) |
||||
|
ENDIF() |
||||
|
IF(NOT MACHINE) |
||||
|
SET(MACHINE ${DEFAULT_MACHINE}) |
||||
|
ENDIF() |
||||
|
|
||||
|
IF(NEED_DASH_BETWEEN_PLATFORM_AND_MACHINE) |
||||
|
SET(SYSTEM_NAME_AND_PROCESSOR "${PLATFORM}-${MACHINE}") |
||||
|
ELSE() |
||||
|
SET(SYSTEM_NAME_AND_PROCESSOR "${PLATFORM}${MACHINE}") |
||||
|
ENDIF() |
||||
|
ENDIF() |
||||
|
|
||||
|
IF(SHORT_PRODUCT_TAG) |
||||
|
SET(PRODUCT_TAG "-${SHORT_PRODUCT_TAG}") |
||||
|
ELSEIF(MYSQL_SERVER_SUFFIX) |
||||
|
SET(PRODUCT_TAG "${MYSQL_SERVER_SUFFIX}") # Already has a leading dash |
||||
|
ELSE() |
||||
|
SET(PRODUCT_TAG) |
||||
|
ENDIF() |
||||
|
|
||||
|
SET(package_name "mysql${PRODUCT_TAG}-${VERSION}-${SYSTEM_NAME_AND_PROCESSOR}") |
||||
|
|
||||
|
# Sometimes package suffix is added (something like "-icc-glibc23") |
||||
|
IF(PACKAGE_SUFFIX) |
||||
|
SET(package_name "${package_name}${PACKAGE_SUFFIX}") |
||||
|
ENDIF() |
||||
|
STRING(TOLOWER ${package_name} package_name) |
||||
|
SET(${Var} ${package_name}) |
||||
|
ENDMACRO() |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue