Commit 5b85121c authored by Jonathan Perkin's avatar Jonathan Perkin

Changes to build using CMake according to existing release packages:

 - Update/fix file layouts for each package type, add new types for
   native package formats including deb, rpm and svr4.

 - Build all plugins, including debug versions

 - Update compiler flags to match current release

 - Add missing @VAR@ expansions

 - Install correct mysqclient library symlinks

 - Fix icc/ia64 builds

 - Fix install of libmysqld-debug

 - Don't include mysql_embedded

 - Remove unpackaged manual pages to avoid missing files warnings

 - Don't install mtr's test suite
parent cb327fd8
...@@ -189,8 +189,11 @@ ELSE() ...@@ -189,8 +189,11 @@ ELSE()
ENDIF() ENDIF()
SET(DEFAULT_BASEDIR "${DEFAULT_MYSQL_HOME}") SET(DEFAULT_BASEDIR "${DEFAULT_MYSQL_HOME}")
SET(MYSQL_DATADIR "${DEFAULT_MYSQL_HOME}/${INSTALL_MYSQLDATADIR}" CACHE PATH IF(INSTALL_MYSQLDATADIR MATCHES "^/.*")
"default MySQL data directory") SET(MYSQL_DATADIR ${INSTALL_MYSQLDATADIR} CACHE PATH "default MySQL data directory")
ELSE()
SET(MYSQL_DATADIR "${DEFAULT_MYSQL_HOME}/${INSTALL_MYSQLDATADIR}" CACHE PATH "default MySQL data directory")
ENDIF()
SET(DEFAULT_CHARSET_HOME "${DEFAULT_MYSQL_HOME}") SET(DEFAULT_CHARSET_HOME "${DEFAULT_MYSQL_HOME}")
SET(PLUGINDIR "${DEFAULT_MYSQL_HOME}/${INSTALL_PLUGINDIR}") SET(PLUGINDIR "${DEFAULT_MYSQL_HOME}/${INSTALL_PLUGINDIR}")
IF(SYSCONFDIR) IF(SYSCONFDIR)
...@@ -274,20 +277,28 @@ ELSE() ...@@ -274,20 +277,28 @@ ELSE()
SET(CPACK_GENERATOR "TGZ") SET(CPACK_GENERATOR "TGZ")
ENDIF() ENDIF()
INCLUDE(CPack) INCLUDE(CPack)
INSTALL(FILES COPYING EXCEPTIONS-CLIENT LICENSE.mysql DESTINATION ${INSTALL_DOCREADMEDIR} OPTIONAL)
INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR})
IF(UNIX) IF(UNIX)
INSTALL(FILES Docs/INSTALL-BINARY DESTINATION INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL)
${INSTALL_DOCREADMEDIR}) ENDIF()
#
# RPM installs documentation directly from the source tree
#
IF(NOT INSTALL_LAYOUT MATCHES "RPM")
INSTALL(FILES COPYING EXCEPTIONS-CLIENT LICENSE.mysql DESTINATION ${INSTALL_DOCREADMEDIR} OPTIONAL)
INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR})
IF(UNIX)
INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR})
ENDIF()
# MYSQL_DOCS_LOCATON is used in "make dist", points to the documentation directory
SET(MYSQL_DOCS_LOCATION "" CACHE PATH "Location from where documentation is copied")
MARK_AS_ADVANCED(MYSQL_DOCS_LOCATION)
INSTALL(DIRECTORY Docs/ DESTINATION ${INSTALL_DOCDIR}
PATTERN "INSTALL-BINARY" EXCLUDE
PATTERN "Makefile.*" EXCLUDE
PATTERN "glibc*" EXCLUDE
PATTERN "linuxthreads.txt" EXCLUDE
PATTERN "myisam.txt" EXCLUDE
PATTERN "mysql.info" EXCLUDE
PATTERN "sp-imp-spec.txt" EXCLUDE
)
ENDIF() ENDIF()
# MYSQL_DOCS_LOCATON is used in "make dist", points to the documentation directory
SET(MYSQL_DOCS_LOCATION "" CACHE PATH "Location from where documentation is copied")
MARK_AS_ADVANCED(MYSQL_DOCS_LOCATION)
INSTALL(DIRECTORY Docs/ DESTINATION ${INSTALL_DOCDIR}
PATTERN "INSTALL-BINARY" EXCLUDE
PATTERN "Makefile.*" EXCLUDE
PATTERN "myisam.txt" EXCLUDE
PATTERN "glibc*" EXCLUDE
PATTERN "sp-imp-spec.txt" EXCLUDE
PATTERN "linuxthreads.txt" EXCLUDE
)
...@@ -80,9 +80,6 @@ IF(FEATURE_SET) ...@@ -80,9 +80,6 @@ IF(FEATURE_SET)
ENDFOREACH() ENDFOREACH()
ENDIF() ENDIF()
SET(WITHOUT_AUDIT_NULL ON CACHE BOOL "")
SET(WITHOUT_DAEMON_EXAMPLE ON CACHE BOOL "")
OPTION(ENABLE_LOCAL_INFILE "" ON) OPTION(ENABLE_LOCAL_INFILE "" ON)
SET(WITH_SSL bundled CACHE STRING "") SET(WITH_SSL bundled CACHE STRING "")
SET(WITH_ZLIB bundled CACHE STRING "") SET(WITH_ZLIB bundled CACHE STRING "")
...@@ -122,8 +119,12 @@ IF(UNIX) ...@@ -122,8 +119,12 @@ IF(UNIX)
IF(CMAKE_SYSTEM_NAME MATCHES "HP-UX") IF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
IF(CMAKE_C_COMPILER_ID MATCHES "HP") IF(CMAKE_C_COMPILER_ID MATCHES "HP")
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64") IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64")
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g +O2 +DD64 +DSitanium2 -mt -AC99") SET(CMAKE_C_FLAGS
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g +O2 +DD64 +DSitanium2 -mt -Aa") "${CMAKE_C_FLAGS} +DD64 +DSitanium2 -mt -AC99")
SET(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} +DD64 +DSitanium2 -mt -Aa")
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS} +O2")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS} +O2")
ENDIF() ENDIF()
ENDIF() ENDIF()
SET(WITH_SSL) SET(WITH_SSL)
...@@ -132,15 +133,16 @@ IF(UNIX) ...@@ -132,15 +133,16 @@ IF(UNIX)
# Linux flags # Linux flags
IF(CMAKE_SYSTEM_NAME MATCHES "Linux") IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
IF(CMAKE_C_COMPILER_ID MATCHES "Intel") IF(CMAKE_C_COMPILER_ID MATCHES "Intel")
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-static-intel -g -O3 -unroll2 -ip -mp -restrict") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-static-intel -static-libgcc -g -O3 -unroll2 -ip -mp -restrict -no-ftz -no-prefetch")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-static-intel -g -O3 -unroll2 -ip -mp -restrict") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-static-intel -static-libgcc -g -O3 -unroll2 -ip -mp -restrict -no-ftz -no-prefetch")
SET(WITH_SSL no)
ENDIF() ENDIF()
ENDIF() ENDIF()
# OSX flags # OSX flags
IF(APPLE) IF(APPLE)
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os ${CMAKE_C_FLAGS_RELWITHDEBINFO}") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -Os -fno-common")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Os ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -Os -felide-constructors -fno-common")
ENDIF() ENDIF()
# Solaris flags # Solaris flags
......
This diff is collapsed.
...@@ -173,7 +173,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target) ...@@ -173,7 +173,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
"" ""
${ARGN} ${ARGN}
) )
GET_TARGET_PROPERTY(target_type ${target} TYPE) GET_TARGET_PROPERTY(target_type ${target} TYPE)
IF(ARG_RENAME) IF(ARG_RENAME)
SET(RENAME_PARAM RENAME ${ARG_RENAME}${CMAKE_${target_type}_SUFFIX}) SET(RENAME_PARAM RENAME ${ARG_RENAME}${CMAKE_${target_type}_SUFFIX})
ELSE() ELSE()
...@@ -189,9 +189,40 @@ FUNCTION(INSTALL_DEBUG_TARGET target) ...@@ -189,9 +189,40 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
STRING(REPLACE "${CMAKE_CFG_INTDIR}" "Debug" debug_target_location "${target_location}" ) STRING(REPLACE "${CMAKE_CFG_INTDIR}" "Debug" debug_target_location "${target_location}" )
ENDIF() ENDIF()
# Define permissions
# For executable files
SET(PERMISSIONS_EXECUTABLE
PERMISSIONS
OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE)
# Permissions for shared library (honors CMAKE_INSTALL_NO_EXE which is
# typically set on Debian)
IF(CMAKE_INSTALL_SO_NO_EXE)
SET(PERMISSIONS_SHARED_LIBRARY
PERMISSIONS
OWNER_READ OWNER_WRITE
GROUP_READ
WORLD_READ)
ELSE()
SET(PERMISSIONS_SHARED_LIBRARY ${PERMISSIONS_EXECUTABLE})
ENDIF()
# Shared modules get the same permissions as shared libraries
SET(PERMISSIONS_MODULE_LIBRARY ${PERMISSIONS_SHARED_LIBRARY})
# Define permissions for static library
SET(PERMISSIONS_STATIC_LIBRARY
PERMISSIONS
OWNER_READ OWNER_WRITE
GROUP_READ
WORLD_READ)
INSTALL(FILES ${debug_target_location} INSTALL(FILES ${debug_target_location}
DESTINATION ${ARG_DESTINATION} DESTINATION ${ARG_DESTINATION}
${RENAME_PARAM} ${RENAME_PARAM}
${PERMISSIONS_${target_type}}
CONFIGURATIONS Release RelWithDebInfo CONFIGURATIONS Release RelWithDebInfo
OPTIONAL) OPTIONAL)
......
...@@ -55,6 +55,7 @@ MACRO(GET_MYSQL_VERSION) ...@@ -55,6 +55,7 @@ MACRO(GET_MYSQL_VERSION)
ENDIF() ENDIF()
SET(VERSION ${VERSION_STRING}) SET(VERSION ${VERSION_STRING})
STRING(REPLACE "-" "_" MYSQL_U_SCORE_VERSION "${VERSION_STRING}")
# Remove trailing (non-numeric) part of the version string # Remove trailing (non-numeric) part of the version string
STRING(REGEX REPLACE "[^\\.0-9].*" "" VERSION_STRING ${VERSION_STRING}) STRING(REGEX REPLACE "[^\\.0-9].*" "" VERSION_STRING ${VERSION_STRING})
...@@ -106,6 +107,7 @@ ENDIF() ...@@ -106,6 +107,7 @@ ENDIF()
IF(NOT CPACK_SOURCE_PACKAGE_FILE_NAME) IF(NOT CPACK_SOURCE_PACKAGE_FILE_NAME)
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "mysql-${VERSION}") SET(CPACK_SOURCE_PACKAGE_FILE_NAME "mysql-${VERSION}")
ENDIF() ENDIF()
SET(CPACK_PACKAGE_CONTACT "MySQL Build Team <build@mysql.com>")
SET(CPACK_PACKAGE_VENDOR "Sun Microsystems, Inc") SET(CPACK_PACKAGE_VENDOR "Sun Microsystems, Inc")
SET(CPACK_SOURCE_GENERATOR "TGZ") SET(CPACK_SOURCE_GENERATOR "TGZ")
INCLUDE(cpack_source_ignore_files) INCLUDE(cpack_source_ignore_files)
...@@ -114,6 +116,16 @@ INCLUDE(cpack_source_ignore_files) ...@@ -114,6 +116,16 @@ INCLUDE(cpack_source_ignore_files)
SET(PRODUCTNAME "MySQL Server") SET(PRODUCTNAME "MySQL Server")
SET(COMPANYNAME ${CPACK_PACKAGE_VENDOR}) SET(COMPANYNAME ${CPACK_PACKAGE_VENDOR})
# Windows 'date' command has unpredictable output, so cannot rely on it to
# set MYSQL_COPYRIGHT_YEAR - if someone finds a portable way to do so then
# it might be useful
#IF (WIN32)
# EXECUTE_PROCESS(COMMAND "date" "/T" OUTPUT_VARIABLE TMP_DATE)
# STRING(REGEX REPLACE "(..)/(..)/..(..).*" "\\3\\2\\1" MYSQL_COPYRIGHT_YEAR ${TMP_DATE})
IF(UNIX)
EXECUTE_PROCESS(COMMAND "date" "+%Y" OUTPUT_VARIABLE MYSQL_COPYRIGHT_YEAR OUTPUT_STRIP_TRAILING_WHITESPACE)
ENDIF()
# Add version information to the exe and dll files # Add version information to the exe and dll files
# Refer to http://msdn.microsoft.com/en-us/library/aa381058(VS.85).aspx # Refer to http://msdn.microsoft.com/en-us/library/aa381058(VS.85).aspx
# for more info. # for more info.
......
...@@ -174,6 +174,7 @@ MACRO(MYSQL_ADD_PLUGIN) ...@@ -174,6 +174,7 @@ MACRO(MYSQL_ADD_PLUGIN)
OUTPUT_NAME "${ARG_MODULE_OUTPUT_NAME}") OUTPUT_NAME "${ARG_MODULE_OUTPUT_NAME}")
# Install dynamic library # Install dynamic library
MYSQL_INSTALL_TARGETS(${target} DESTINATION ${INSTALL_PLUGINDIR}) MYSQL_INSTALL_TARGETS(${target} DESTINATION ${INSTALL_PLUGINDIR})
INSTALL_DEBUG_TARGET(${target} DESTINATION ${INSTALL_PLUGINDIR}/debug)
ENDIF() ENDIF()
ENDMACRO() ENDMACRO()
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#cmakedefine HAVE_FPU_CONTROL_H 1 #cmakedefine HAVE_FPU_CONTROL_H 1
#cmakedefine HAVE_GRP_H 1 #cmakedefine HAVE_GRP_H 1
#cmakedefine HAVE_EXPLICIT_TEMPLATE_INSTANTIATION 1 #cmakedefine HAVE_EXPLICIT_TEMPLATE_INSTANTIATION 1
#cmakedefine HAVE_IA64INTRIN_H 1
#cmakedefine HAVE_IEEEFP_H 1 #cmakedefine HAVE_IEEEFP_H 1
#cmakedefine HAVE_INTTYPES_H 1 #cmakedefine HAVE_INTTYPES_H 1
#cmakedefine HAVE_LIMITS_H 1 #cmakedefine HAVE_LIMITS_H 1
......
...@@ -171,15 +171,24 @@ IF(UNIX) ...@@ -171,15 +171,24 @@ IF(UNIX)
SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION}) SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
ENDIF() ENDIF()
ENDMACRO() ENDMACRO()
INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR})
ENDIF() ENDIF()
IF(NOT DISABLE_SHARED) IF(NOT DISABLE_SHARED)
MERGE_LIBRARIES(libmysql SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS}) MERGE_LIBRARIES(libmysql SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS})
IF(UNIX) IF(UNIX)
# libtool compatability
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0")
ELSE()
SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0")
ENDIF()
# Name of shared library is mysqlclient on Unix # Name of shared library is mysqlclient on Unix
SET_TARGET_PROPERTIES(libmysql PROPERTIES SET_TARGET_PROPERTIES(libmysql PROPERTIES
OUTPUT_NAME mysqlclient OUTPUT_NAME mysqlclient
VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0" VERSION "${OS_SHARED_LIB_VERSION}"
SOVERSION "${SHARED_LIB_MAJOR_VERSION}") SOVERSION "${SHARED_LIB_MAJOR_VERSION}")
IF(LINK_FLAG_NO_UNDEFINED) IF(LINK_FLAG_NO_UNDEFINED)
GET_TARGET_PROPERTY(libmysql_link_flags libmysql LINK_FLAGS) GET_TARGET_PROPERTY(libmysql_link_flags libmysql LINK_FLAGS)
...@@ -194,14 +203,21 @@ IF(NOT DISABLE_SHARED) ...@@ -194,14 +203,21 @@ IF(NOT DISABLE_SHARED)
SET_TARGET_PROPERTIES(mysqlclient PROPERTIES CLEAN_DIRECT_OUTPUT 1) SET_TARGET_PROPERTIES(mysqlclient PROPERTIES CLEAN_DIRECT_OUTPUT 1)
SET_TARGET_PROPERTIES(libmysql PROPERTIES CLEAN_DIRECT_OUTPUT 1) SET_TARGET_PROPERTIES(libmysql PROPERTIES CLEAN_DIRECT_OUTPUT 1)
# Install 3 links to libmysqlclient.so (client_r) # Install links to libmysqlclient.so (client_r)
FOREACH(ver "" "${SHARED_LIB_MAJOR_VERSION}" GET_VERSIONED_LIBNAME(
"${SHARED_LIB_MAJOR_VERSION}.0.0") "${CMAKE_SHARED_LIBRARY_PREFIX}mysqlclient_r"
GET_VERSIONED_LIBNAME( "${CMAKE_SHARED_LIBRARY_SUFFIX}"
"${CMAKE_SHARED_LIBRARY_PREFIX}mysqlclient_r" ""
"${CMAKE_SHARED_LIBRARY_SUFFIX}" linkname)
"${ver}" INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR})
linkname) SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
GET_VERSIONED_LIBNAME(
"${CMAKE_SHARED_LIBRARY_PREFIX}mysqlclient_r"
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
"${ver}"
linkname)
INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR}) INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR})
ENDFOREACH() ENDFOREACH()
ENDIF() ENDIF()
......
...@@ -133,7 +133,7 @@ ENDIF() ...@@ -133,7 +133,7 @@ ENDIF()
IF(UNIX) IF(UNIX)
INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME
${CMAKE_STATIC_LIBRARY_PREFIX}/mysqld-debug) ${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug)
ENDIF() ENDIF()
IF(MSVC AND NOT DISABLE_SHARED) IF(MSVC AND NOT DISABLE_SHARED)
......
...@@ -23,7 +23,9 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ...@@ -23,7 +23,9 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
ADD_DEFINITIONS(-DEMBEDDED_LIBRARY -UMYSQL_CLIENT) ADD_DEFINITIONS(-DEMBEDDED_LIBRARY -UMYSQL_CLIENT)
MYSQL_ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc # We never use "mysql_embedded", is more of a linktest, so we don't
# use MYSQL_ADD_EXECUTABLE as that would install it and package it
ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc
../../client/mysql.cc ../../client/readline.cc) ../../client/mysql.cc ../../client/readline.cc)
TARGET_LINK_LIBRARIES(mysql_embedded mysqlserver) TARGET_LINK_LIBRARIES(mysql_embedded mysqlserver)
IF(UNIX) IF(UNIX)
......
...@@ -15,8 +15,12 @@ ...@@ -15,8 +15,12 @@
# Copy man pages # Copy man pages
FILE(GLOB MAN1_FILES *.1) FILE(GLOB MAN1_FILES *.1)
FILE(GLOB MAN1_EXCLUDE make_win_bin_dist.1)
FILE(GLOB MAN8_FILES *.8) FILE(GLOB MAN8_FILES *.8)
IF(MAN1_FILES) IF(MAN1_FILES)
IF(MAN1_EXCLUDE)
LIST(REMOVE_ITEM MAN1_FILES ${MAN1_EXCLUDE})
ENDIF()
INSTALL(FILES ${MAN1_FILES} DESTINATION ${INSTALL_MANDIR}/man1) INSTALL(FILES ${MAN1_FILES} DESTINATION ${INSTALL_MANDIR}/man1)
ENDIF() ENDIF()
IF(MAN8_FILES) IF(MAN8_FILES)
......
...@@ -18,6 +18,7 @@ INSTALL( ...@@ -18,6 +18,7 @@ INSTALL(
DESTINATION ${INSTALL_MYSQLTESTDIR} DESTINATION ${INSTALL_MYSQLTESTDIR}
PATTERN "var/" EXCLUDE PATTERN "var/" EXCLUDE
PATTERN "lib/My/SafeProcess" EXCLUDE PATTERN "lib/My/SafeProcess" EXCLUDE
PATTERN "lib/t*" EXCLUDE
PATTERN "CPack" EXCLUDE PATTERN "CPack" EXCLUDE
PATTERN "CMake*" EXCLUDE PATTERN "CMake*" EXCLUDE
PATTERN "mtr.out*" EXCLUDE PATTERN "mtr.out*" EXCLUDE
......
...@@ -13,4 +13,5 @@ ...@@ -13,4 +13,5 @@
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
MYSQL_ADD_PLUGIN(audit_null audit_null.c) MYSQL_ADD_PLUGIN(audit_null audit_null.c
MODULE_ONLY MODULE_OUTPUT_NAME "adt_null")
...@@ -13,4 +13,5 @@ ...@@ -13,4 +13,5 @@
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
MYSQL_ADD_PLUGIN(daemon_example daemon_example.cc MODULE_ONLY) MYSQL_ADD_PLUGIN(daemon_example daemon_example.cc
MODULE_ONLY MODULE_OUTPUT_NAME "libdaemon_example")
...@@ -13,5 +13,5 @@ ...@@ -13,5 +13,5 @@
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
MYSQL_ADD_PLUGIN(ftexample plugin_example.c
MYSQL_ADD_PLUGIN(ftexample plugin_example.c MODULE_ONLY MODULE_OUTPUT_NAME mypluglib) MODULE_ONLY MODULE_OUTPUT_NAME "mypluglib")
...@@ -93,6 +93,10 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles") ...@@ -93,6 +93,10 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles")
# No multiconfig build - use CMAKE_C_FLAGS # No multiconfig build - use CMAKE_C_FLAGS
SET(CFLAGS "@CMAKE_C_FLAGS@") SET(CFLAGS "@CMAKE_C_FLAGS@")
SET(CXXFLAGS "@CMAKE_CXX_FLAGS@") SET(CXXFLAGS "@CMAKE_CXX_FLAGS@")
FOREACH(ARCH ${CMAKE_OSX_ARCHITECTURES})
SET(CFLAGS "${CFLAGS} -arch ${ARCH}")
SET(CXXFLAGS "${CXXFLAGS} -arch ${ARCH}")
ENDFOREACH()
ELSE() ELSE()
# Multiconfig build - use CMAKE_C_FLAGS_RELWITHDEBINFO # Multiconfig build - use CMAKE_C_FLAGS_RELWITHDEBINFO
SET(CFLAGS "@CMAKE_C_FLAGS_RELWITHDEBINFO@") SET(CFLAGS "@CMAKE_C_FLAGS_RELWITHDEBINFO@")
...@@ -134,10 +138,9 @@ ELSE() ...@@ -134,10 +138,9 @@ ELSE()
SET(CHECK_PID "kill -s SIGCONT $PID > /dev/null 2> /dev/null") SET(CHECK_PID "kill -s SIGCONT $PID > /dev/null 2> /dev/null")
ENDIF() ENDIF()
ENDIF(UNIX) SET(HOSTNAME "hostname")
ENDIF(UNIX)
# Really ugly, one script, "mysql_install_db", needs prefix set to ".", # Really ugly, one script, "mysql_install_db", needs prefix set to ".",
# i.e. makes access relative the current directory. This matches # i.e. makes access relative the current directory. This matches
...@@ -298,14 +301,13 @@ ELSE() ...@@ -298,14 +301,13 @@ ELSE()
mysql_secure_installation mysql_secure_installation
mysql_zap mysql_zap
mysqlaccess mysqlaccess
mysqlaccess.conf
mysqlbug mysqlbug
mysql_convert_table_format mysql_convert_table_format
mysql_find_rows mysql_find_rows
mysqlhotcopy mysqlhotcopy
mysqldumpslow mysqldumpslow
mysqld_multi mysqld_multi
mysqlaccess
mysqlaccess.conf
mysqld_safe mysqld_safe
) )
FOREACH(file ${BIN_SCRIPTS}) FOREACH(file ${BIN_SCRIPTS})
......
...@@ -306,7 +306,7 @@ set_malloc_lib() { ...@@ -306,7 +306,7 @@ set_malloc_lib() {
malloc_lib= malloc_lib=
# This list is kept intentionally simple. Simply set --malloc-lib # This list is kept intentionally simple. Simply set --malloc-lib
# to a full path if another location is desired. # to a full path if another location is desired.
for libdir in /usr/lib "$pkglibdir"; do for libdir in /usr/lib "$pkglibdir" "$pkglibdir/mysql"; do
for flavor in _minimal '' _and_profiler _debug; do for flavor in _minimal '' _and_profiler _debug; do
tmp="$libdir/libtcmalloc$flavor.so" tmp="$libdir/libtcmalloc$flavor.so"
#log_notice "DEBUG: Checking for malloc lib '$tmp'" #log_notice "DEBUG: Checking for malloc lib '$tmp'"
......
...@@ -18,23 +18,22 @@ FILE(GLOB all_files ...@@ -18,23 +18,22 @@ FILE(GLOB all_files
${CMAKE_SOURCE_DIR}/sql-bench/* ${CMAKE_SOURCE_DIR}/sql-bench/*
${CMAKE_SOURCE_DIR}/sql-bench/Data/ATIS/* ${CMAKE_SOURCE_DIR}/sql-bench/Data/ATIS/*
${CMAKE_SOURCE_DIR}/sql-bench/Data/Wisconsin/* ${CMAKE_SOURCE_DIR}/sql-bench/Data/Wisconsin/*
${CMAKE_SOURCE_DIR}/sql-bench/Comments/*
${CMAKE_SOURCE_DIR}/sql-bench/limits/* ${CMAKE_SOURCE_DIR}/sql-bench/limits/*
) )
IF(NOT INSTALL_SQLBENCHROOTDIR) IF(NOT INSTALL_SQLBENCHDIR)
RETURN() RETURN()
ENDIF() ENDIF()
IF(INSTALL_SQLBENCHROOTDIR STREQUAL ".") IF(INSTALL_SQLBENCHDIR STREQUAL ".")
SET(prefix) SET(prefix)
ELSE() ELSE()
SET(prefix ${INSTALL_SQLBENCHROOTDIR}/) SET(prefix ${INSTALL_SQLBENCHDIR}/)
ENDIF() ENDIF()
GET_FILENAME_COMPONENT(basedir ${CMAKE_SOURCE_DIR} ABSOLUTE) GET_FILENAME_COMPONENT(basedir ${CMAKE_SOURCE_DIR} ABSOLUTE)
FOREACH(file ${all_files}) FOREACH(file ${all_files})
IF(NOT IS_DIRECTORY ${file} AND NOT ${file} MATCHES "Make" ) IF(NOT IS_DIRECTORY ${file} AND NOT ${file} MATCHES "Make|as3ap|/example$" )
FILE(RELATIVE_PATH relpath ${basedir} ${file}) FILE(RELATIVE_PATH relpath ${basedir} ${file})
SET(target_relpath ${relpath}) SET(target_relpath ${relpath})
GET_FILENAME_COMPONENT(ext ${file} EXT) GET_FILENAME_COMPONENT(ext ${file} EXT)
......
...@@ -280,7 +280,8 @@ IF(WIN32 AND MYSQLD_EXECUTABLE) ...@@ -280,7 +280,8 @@ IF(WIN32 AND MYSQLD_EXECUTABLE)
ALL ALL
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/data/mysql/user.frm DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/data/mysql/user.frm
) )
INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/data/mysql DESTINATION data) INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/data DESTINATION .
PATTERN "bootstrap.sql" EXCLUDE)
ELSE() ELSE()
# Not windows or cross compiling, just install an empty directory # Not windows or cross compiling, just install an empty directory
INSTALL(FILES ${DUMMY_FILE} DESTINATION data/mysql) INSTALL(FILES ${DUMMY_FILE} DESTINATION data/mysql)
......
...@@ -29,16 +29,15 @@ ELSE() ...@@ -29,16 +29,15 @@ ELSE()
SET(CXXFLAGS ${CMAKE_CXX_FLAGS}) SET(CXXFLAGS ${CMAKE_CXX_FLAGS})
SET(MYSQLD_USER "mysql") SET(MYSQLD_USER "mysql")
SET(ini_file_extension "cnf") SET(ini_file_extension "cnf")
SET(HOSTNAME "hostname")
ENDIF() ENDIF()
IF(UNIX) # XXX: shouldn't we just have variables for all this stuff and centralise
IF(INSTALL_LAYOUT MATCHES "STANDALONE") # XXX: their configuration in install_layout.cmake?
SET(inst_location ${INSTALL_SUPPORTFILESDIR}) IF(WIN32)
ELSE()
SET(inst_location ${INSTALL_DOCREADMEDIR})
ENDIF()
ELSE()
SET(inst_location ${INSTALL_DOCREADMEDIR}) SET(inst_location ${INSTALL_DOCREADMEDIR})
ELSE()
SET(inst_location ${INSTALL_SUPPORTFILESDIR})
ENDIF() ENDIF()
FOREACH(inifile my-huge my-innodb-heavy-4G my-large my-medium my-small) FOREACH(inifile my-huge my-innodb-heavy-4G my-large my-medium my-small)
...@@ -48,14 +47,13 @@ FOREACH(inifile my-huge my-innodb-heavy-4G my-large my-medium my-small) ...@@ -48,14 +47,13 @@ FOREACH(inifile my-huge my-innodb-heavy-4G my-large my-medium my-small)
ENDFOREACH() ENDFOREACH()
IF(UNIX) IF(UNIX)
# XXX: again, used elsewhere (scripts/), should be standardised in
# XXX: install_layout.cmake
IF(INSTALL_LAYOUT MATCHES "STANDALONE") IF(INSTALL_LAYOUT MATCHES "STANDALONE")
SET(prefix ".") SET(prefix ".")
SET(inst_location ${INSTALL_SUPPORTFILESDIR})
ELSE() ELSE()
SET(prefix ${CMAKE_INSTALL_PREFIX}) SET(prefix ${CMAKE_INSTALL_PREFIX})
SET(inst_location ${INSTALL_MYSQLSHAREDIR})
ENDIF() ENDIF()
FOREACH(script mysqld_multi.server mysql-log-rotate binary-configure FOREACH(script mysqld_multi.server mysql-log-rotate binary-configure
config.medium.ini config.small.ini config.huge.ini ndb-config-2-node.ini) config.medium.ini config.small.ini config.huge.ini ndb-config-2-node.ini)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment