# Copyright (c) 2006, 2011, 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-1335 USA SET(HEADERS_GEN_CONFIGURE mysql_version.h my_config.h mysqld_ername.h mysqld_error.h sql_state.h ) SET(HEADERS mysql.h mysql_com.h mysql_com_server.h pack.h my_byteorder.h byte_order_generic.h byte_order_generic_x86.h byte_order_generic_x86_64.h little_endian.h big_endian.h mysql_time.h ma_dyncol.h my_list.h my_alloc.h typelib.h my_dbug.h m_string.h my_sys.h my_xml.h mysql_embed.h my_decimal_limits.h my_pthread.h decimal.h errmsg.h my_global.h my_net.h my_getopt.h sslopt-longopts.h my_dir.h sslopt-vars.h sslopt-case.h my_valgrind.h sql_common.h keycache.h m_ctype.h my_attribute.h my_compiler.h handler_state.h handler_ername.h json_lib.h ) # don't use C/C's (possibly outdated) copy of mysqld_error.h INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mysqld_error.h DESTINATION ${INSTALL_INCLUDEDIR} COMPONENT Development) INSTALL(FILES ${HEADERS} DESTINATION ${INSTALL_INCLUDEDIR}/server COMPONENT Development) FOREACH(f ${HEADERS_GEN_CONFIGURE}) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${f} DESTINATION ${INSTALL_INCLUDEDIR}/server COMPONENT Development) ENDFOREACH(f) IF(NOT WITH_WSREP) SET(EXCL_SERVICE_WSREP "service_wsrep.h") SET(EXCL_WSREP "wsrep.h") ENDIF() INSTALL(DIRECTORY mysql/ DESTINATION ${INSTALL_INCLUDEDIR}/server/mysql COMPONENT Development FILES_MATCHING PATTERN "*.h" PATTERN "${EXCL_SERVICE_WSREP}" EXCLUDE ) STRING(REPLACE "." "\\." EXCL_RE "${HEADERS};${HEADERS_GEN_CONFIGURE}") STRING(REPLACE ";" "|" EXCL_RE "${EXCL_RE}") MACRO(INSTALL_PRIVATE DIR) INSTALL(DIRECTORY ${DIR}/. DESTINATION ${INSTALL_INCLUDEDIR}/server/private COMPONENT Development FILES_MATCHING PATTERN "*.h" PATTERN CMakeFiles EXCLUDE PATTERN mysql EXCLUDE PATTERN "${EXCL_WSREP}" EXCLUDE REGEX "\\./(${EXCL_RE}$)" EXCLUDE) ENDMACRO() INSTALL_PRIVATE(${CMAKE_CURRENT_BINARY_DIR}) IF(NOT ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) INSTALL_PRIVATE(${CMAKE_CURRENT_SOURCE_DIR}) ENDIF() MACRO(INSTALL_COMPAT_HEADER file footer) INSTALL(CODE "FILE(WRITE \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${INSTALL_INCLUDEDIR}/${file} \"/* Do not edit this file directly, it was auto-generated by cmake */ #warning This file should not be included by clients, include only ${footer} \")" COMPONENT Development) ENDMACRO() INSTALL_COMPAT_HEADER(my_global.h "") INSTALL_COMPAT_HEADER(my_config.h "") INSTALL_COMPAT_HEADER(my_sys.h "") INSTALL_COMPAT_HEADER(mysql_version.h " #include #define LIBMYSQL_VERSION MARIADB_CLIENT_VERSION_STR ") INSTALL_COMPAT_HEADER(mysql_com.h " #include ")