用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

161 lines
6.0 KiB

# Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation. The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# 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, version 2.0, 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
#
# Global constants, only to be changed between major releases.
#
SET(SHARED_LIB_MAJOR_VERSION "21")
SET(SHARED_LIB_MINOR_VERSION "1")
SET(PROTOCOL_VERSION "10")
# Generate "something" to trigger cmake rerun when VERSION changes
CONFIGURE_FILE(
${CMAKE_SOURCE_DIR}/VERSION
${CMAKE_BINARY_DIR}/VERSION.dep
)
# Read value for a variable from VERSION.
MACRO(MYSQL_GET_CONFIG_VALUE keyword var)
IF(NOT ${var})
FILE (STRINGS ${CMAKE_SOURCE_DIR}/VERSION str REGEX "^[ ]*${keyword}=")
IF(str)
STRING(REPLACE "${keyword}=" "" str ${str})
STRING(REGEX REPLACE "[ ].*" "" str "${str}")
SET(${var} ${str})
ENDIF()
ENDIF()
ENDMACRO()
# Read mysql version for configure script
MACRO(GET_MYSQL_VERSION)
MYSQL_GET_CONFIG_VALUE("MYSQL_VERSION_MAJOR" MAJOR_VERSION)
MYSQL_GET_CONFIG_VALUE("MYSQL_VERSION_MINOR" MINOR_VERSION)
MYSQL_GET_CONFIG_VALUE("MYSQL_VERSION_PATCH" PATCH_VERSION)
MYSQL_GET_CONFIG_VALUE("MYSQL_VERSION_EXTRA" EXTRA_VERSION)
IF(NOT DEFINED MAJOR_VERSION OR
NOT DEFINED MINOR_VERSION OR
NOT DEFINED PATCH_VERSION)
MESSAGE(FATAL_ERROR "VERSION file cannot be parsed.")
ENDIF()
SET(VERSION
"${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}${EXTRA_VERSION}")
MESSAGE(STATUS "MySQL ${VERSION}")
SET(MYSQL_BASE_VERSION
"${MAJOR_VERSION}.${MINOR_VERSION}" CACHE INTERNAL "MySQL Base version")
SET(MYSQL_NO_DASH_VERSION
"${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")
STRING(REGEX REPLACE "^-" "." MYSQL_VERSION_EXTRA_DOT "${EXTRA_VERSION}")
SET(VERSION_SRC "${VERSION}")
MATH(EXPR MYSQL_VERSION_ID
"10000*${MAJOR_VERSION} + 100*${MINOR_VERSION} + ${PATCH_VERSION}")
MARK_AS_ADVANCED(VERSION MYSQL_VERSION_ID MYSQL_BASE_VERSION)
SET(CPACK_PACKAGE_VERSION_MAJOR ${MAJOR_VERSION})
SET(CPACK_PACKAGE_VERSION_MINOR ${MINOR_VERSION})
SET(CPACK_PACKAGE_VERSION_PATCH ${PATCH_VERSION})
IF(WITH_NDBCLUSTER)
# Read MySQL Cluster version values from VERSION, these are optional
# as by default MySQL Cluster is using the MySQL Server version
MYSQL_GET_CONFIG_VALUE("MYSQL_CLUSTER_VERSION_MAJOR" CLUSTER_MAJOR_VERSION)
MYSQL_GET_CONFIG_VALUE("MYSQL_CLUSTER_VERSION_MINOR" CLUSTER_MINOR_VERSION)
MYSQL_GET_CONFIG_VALUE("MYSQL_CLUSTER_VERSION_PATCH" CLUSTER_PATCH_VERSION)
MYSQL_GET_CONFIG_VALUE("MYSQL_CLUSTER_VERSION_EXTRA" CLUSTER_EXTRA_VERSION)
# Set MySQL Cluster version same as the MySQL Server version
# unless a specific MySQL Cluster version has been specified
# in the VERSION file. This is the version used when creating
# the cluster package names as well as by all the NDB binaries.
IF(DEFINED CLUSTER_MAJOR_VERSION AND
DEFINED CLUSTER_MINOR_VERSION AND
DEFINED CLUSTER_PATCH_VERSION)
# Set MySQL Cluster version to the specific version defined in VERSION
SET(MYSQL_CLUSTER_VERSION "${CLUSTER_MAJOR_VERSION}")
SET(MYSQL_CLUSTER_VERSION
"${MYSQL_CLUSTER_VERSION}.${CLUSTER_MINOR_VERSION}")
SET(MYSQL_CLUSTER_VERSION
"${MYSQL_CLUSTER_VERSION}.${CLUSTER_PATCH_VERSION}")
IF(DEFINED CLUSTER_EXTRA_VERSION)
SET(MYSQL_CLUSTER_VERSION
"${MYSQL_CLUSTER_VERSION}${CLUSTER_EXTRA_VERSION}")
ENDIF()
ELSE()
# Set MySQL Cluster version to the same as MySQL Server, possibly
# overriding the extra version with value specified in VERSION
# This might be used when MySQL Cluster is still released as DMR
# while MySQL Server is already GA.
SET(MYSQL_CLUSTER_VERSION
"${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")
IF(DEFINED CLUSTER_EXTRA_VERSION)
# Using specific MySQL Cluster extra version
SET(MYSQL_CLUSTER_VERSION
"${MYSQL_CLUSTER_VERSION}${CLUSTER_EXTRA_VERSION}")
# Override the extra version for rpm packages
STRING(REGEX REPLACE "^-" "." MYSQL_VERSION_EXTRA_DOT
"${CLUSTER_EXTRA_VERSION}")
ELSE()
SET(MYSQL_CLUSTER_VERSION
"${MYSQL_CLUSTER_VERSION}${EXTRA_VERSION}")
ENDIF()
ENDIF()
MESSAGE(STATUS "MySQL Cluster version: ${MYSQL_CLUSTER_VERSION}")
SET(VERSION_SRC "${MYSQL_CLUSTER_VERSION}")
# Set suffix to indicate that this is MySQL Server built for MySQL Cluster
SET(MYSQL_SERVER_SUFFIX "-cluster")
ENDIF()
ENDMACRO()
# Get mysql version and other interesting variables
GET_MYSQL_VERSION()
SET(SHARED_LIB_PATCH_VERSION ${PATCH_VERSION})
SET(MYSQL_TCP_PORT_DEFAULT "3306")
IF(NOT MYSQL_TCP_PORT)
SET(MYSQL_TCP_PORT ${MYSQL_TCP_PORT_DEFAULT})
SET(MYSQL_TCP_PORT_DEFAULT "0")
ELSEIF(MYSQL_TCP_PORT EQUAL MYSQL_TCP_PORT_DEFAULT)
SET(MYSQL_TCP_PORT_DEFAULT "0")
ENDIF()
IF(NOT MYSQL_ADMIN_TCP_PORT)
SET(MYSQL_ADMIN_TCP_PORT 33062)
ENDIF(NOT MYSQL_ADMIN_TCP_PORT)
IF(NOT MYSQL_UNIX_ADDR)
SET(MYSQL_UNIX_ADDR "/tmp/mysql.sock")
ENDIF()
IF(NOT COMPILATION_COMMENT)
SET(COMPILATION_COMMENT "Source distribution")
ENDIF()
IF(NOT COMPILATION_COMMENT_SERVER)
SET(COMPILATION_COMMENT_SERVER ${COMPILATION_COMMENT})
ENDIF()