mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
64e308e28d
- build executables we have in 5.3 (mysql_install_db.exe, mysq_upgrade_service.exe, upgrade wizard), and MSI - add some missing headers to windows specific source files. This needs to be done since 5.5 is using WIN32_LEAN_AND_MEAN preprocessor constant thus windows.h no more includes whiole Windows - do not deliver perl scripts (mysql_install_db.pl & friends) -they do not work, are not documented, and we have native executables for this functionality. do not pack echo.exe, replace.exe into MSI, they are not needed. Do not build resolveip on Windows, it is not used. - precache results of of system checks in cmake/os/WindowsCache.cmake (like it is alreay done for majority of tests to speed up cmake run with VS) - make feedback plugin DEFAULT on Windows (so MSI works if user enables plugin), fix null pointer access in PSI_register
85 lines
3.5 KiB
CMake
85 lines
3.5 KiB
CMake
# Copyright (c) 2006, 2010, 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 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
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
${CMAKE_SOURCE_DIR}/include
|
|
${ZLIB_INCLUDE_DIR}
|
|
# Following is for perror, in case NDB is compiled in.
|
|
${CMAKE_SOURCE_DIR}/storage/ndb/include
|
|
${CMAKE_SOURCE_DIR}/storage/ndb/include/util
|
|
${CMAKE_SOURCE_DIR}/storage/ndb/include/ndbapi
|
|
${CMAKE_SOURCE_DIR}/storage/ndb/include/portlib
|
|
${CMAKE_SOURCE_DIR}/storage/ndb/include/mgmapi)
|
|
|
|
# Default install component for the files is Server here
|
|
SET(MYSQL_INSTALL_COMPONENT Server)
|
|
|
|
IF(NOT CMAKE_CROSSCOMPILING)
|
|
ADD_EXECUTABLE(comp_err comp_err.c)
|
|
TARGET_LINK_LIBRARIES(comp_err mysys)
|
|
ENDIF()
|
|
|
|
# Generate mysqld_error.h
|
|
# Try not to change its timestamp if not necessary(as touching
|
|
# mysqld_error.h results in rebuild of the almost whole server)
|
|
# To preserve timestamp, first generate a temp header file, then copy it
|
|
# to mysqld_error.h using cmake -E copy_if_different
|
|
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/include/mysqld_error.h.tmp
|
|
COMMAND comp_err
|
|
--charset=${PROJECT_SOURCE_DIR}/sql/share/charsets
|
|
--out-dir=${CMAKE_BINARY_DIR}/sql/share/
|
|
--header_file=${CMAKE_BINARY_DIR}/include/mysqld_error.h.tmp
|
|
--name_file=${CMAKE_BINARY_DIR}/include/mysqld_ername.h.tmp
|
|
--state_file=${CMAKE_BINARY_DIR}/include/sql_state.h.tmp
|
|
--in_file=${PROJECT_SOURCE_DIR}/sql/share/errmsg-utf8.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/include/mysqld_error.h.tmp ${CMAKE_BINARY_DIR}/include/mysqld_error.h
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/include/mysqld_ername.h.tmp ${CMAKE_BINARY_DIR}/include/mysqld_ername.h
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/include/sql_state.h.tmp ${CMAKE_BINARY_DIR}/include/sql_state.h
|
|
DEPENDS comp_err ${PROJECT_SOURCE_DIR}/sql/share/errmsg-utf8.txt)
|
|
|
|
ADD_CUSTOM_TARGET(GenError
|
|
ALL
|
|
DEPENDS
|
|
${CMAKE_BINARY_DIR}/include/mysqld_error.h.tmp)
|
|
|
|
MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c)
|
|
TARGET_LINK_LIBRARIES(my_print_defaults mysys)
|
|
|
|
MYSQL_ADD_EXECUTABLE(perror perror.c)
|
|
ADD_DEPENDENCIES(perror GenError)
|
|
TARGET_LINK_LIBRARIES(perror mysys)
|
|
|
|
IF(UNIX)
|
|
MYSQL_ADD_EXECUTABLE(resolveip resolveip.c)
|
|
TARGET_LINK_LIBRARIES(resolveip mysys)
|
|
IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
|
INCLUDE(CheckFunctionExists)
|
|
INCLUDE(CheckLibraryExists)
|
|
MY_SEARCH_LIBS(inet_aton "nsl;socket;resolv" SOLARIS_NSL)
|
|
TARGET_LINK_LIBRARIES(resolveip ${SOLARIS_NSL})
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
MYSQL_ADD_EXECUTABLE(replace replace.c COMPONENT Junk)
|
|
TARGET_LINK_LIBRARIES(replace mysys)
|
|
IF(UNIX)
|
|
MYSQL_ADD_EXECUTABLE(innochecksum innochecksum.c)
|
|
|
|
MYSQL_ADD_EXECUTABLE(resolve_stack_dump resolve_stack_dump.c)
|
|
TARGET_LINK_LIBRARIES(resolve_stack_dump mysys)
|
|
|
|
MYSQL_ADD_EXECUTABLE(mysql_waitpid mysql_waitpid.c)
|
|
TARGET_LINK_LIBRARIES(mysql_waitpid mysys)
|
|
ENDIF()
|