2007-10-04 20:33:42 +03:00
# Copyright (C) 2007 MySQL AB
2020-06-18 11:17:43 +02:00
# Copyright (C) 2009,2020 MariaDB Corporation Ab
2007-10-04 20:33:42 +03:00
#
# 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
2019-05-11 21:29:06 +03:00
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
2007-10-04 20:33:42 +03:00
2019-04-15 18:16:02 +03:00
INCLUDE_DIRECTORIES(${SSL_INCLUDE_DIRS})
2014-12-22 16:53:17 +02:00
IF(SSL_DEFINES)
2019-04-15 18:16:02 +03:00
SET_SOURCE_FILES_PROPERTIES(ma_crypt.c PROPERTIES COMPILE_FLAGS ${SSL_DEFINES})
2014-12-22 16:53:17 +02:00
ENDIF()
2010-09-12 18:40:01 +02:00
SET(ARIA_SOURCES ma_init.c ma_open.c ma_extra.c ma_info.c ma_rkey.c
2008-01-10 13:21:53 +01:00
ma_rnext.c ma_rnext_same.c
ma_search.c ma_page.c ma_key_recover.c ma_key.c
2008-06-09 11:06:06 +02:00
ma_locking.c ma_state.c
2008-01-10 13:21:53 +01:00
ma_rrnd.c ma_scan.c ma_cache.c
ma_statrec.c ma_packrec.c ma_dynrec.c
ma_blockrec.c ma_bitmap.c
2019-04-15 18:16:02 +03:00
ma_update.c ma_write.c ma_unique.c
2008-01-10 13:21:53 +01:00
ma_delete.c
ma_rprev.c ma_rfirst.c ma_rlast.c ma_rsame.c
ma_rsamepos.c ma_panic.c ma_close.c ma_create.c
ma_range.c ma_dbug.c ma_checksum.c
ma_changed.c ma_static.c ma_delete_all.c
ma_delete_table.c ma_rename.c ma_check.c
2019-04-15 18:16:02 +03:00
ma_keycache.c ma_preload.c ma_ft_parser.c
2008-01-10 13:21:53 +01:00
ma_ft_update.c ma_ft_boolean_search.c
ma_ft_nlq_search.c ft_maria.c ma_sort.c
2011-07-13 21:10:18 +02:00
ha_maria.cc trnman.c lockman.c
2008-01-10 13:21:53 +01:00
ma_rt_index.c ma_rt_key.c ma_rt_mbr.c ma_rt_split.c
ma_sp_key.c ma_control_file.c ma_loghandler.c
2011-06-11 11:41:46 +03:00
ma_pagecache.c ma_pagecaches.c
2008-01-10 13:21:53 +01:00
ma_checkpoint.c ma_recovery.c ma_commit.c ma_pagecrc.c
2009-01-12 21:27:02 +02:00
ha_maria.h maria_def.h ma_recovery_util.c ma_servicethread.c
2011-02-12 15:43:24 +01:00
ma_norec.c
2018-11-18 21:34:58 +02:00
ma_crypt.c ma_backup.c
2008-01-10 13:21:53 +01:00
)
2007-10-04 20:33:42 +03:00
2012-04-12 01:33:43 +02:00
IF(APPLE)
# Workaround linker bug on OSX 10.7
ADD_DEFINITIONS(-fno-common)
ENDIF()
2020-01-31 14:37:44 +01:00
IF(CMAKE_SYSTEM_NAME MATCHES AIX)
# Workaround linker bug on AIX
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-berok")
ENDIF()
2019-04-15 18:16:02 +03:00
MYSQL_ADD_PLUGIN(aria ${ARIA_SOURCES} STORAGE_ENGINE MANDATORY
LINK_LIBRARIES myisam mysys mysys_ssl
RECOMPILE_FOR_EMBEDDED)
2007-10-04 20:33:42 +03:00
2020-05-27 14:10:53 +03:00
MYSQL_ADD_EXECUTABLE(aria_ftdump aria_ftdump.c COMPONENT Server)
2010-11-25 18:17:28 +01:00
TARGET_LINK_LIBRARIES(aria_ftdump aria)
2007-10-04 20:33:42 +03:00
2020-05-27 14:10:53 +03:00
MYSQL_ADD_EXECUTABLE(aria_chk aria_chk.c COMPONENT Server)
2010-11-25 18:17:28 +01:00
TARGET_LINK_LIBRARIES(aria_chk aria)
2007-10-04 20:33:42 +03:00
2020-05-27 14:10:53 +03:00
MYSQL_ADD_EXECUTABLE(aria_read_log aria_read_log.c COMPONENT Server)
2010-11-25 18:17:28 +01:00
TARGET_LINK_LIBRARIES(aria_read_log aria)
2007-10-04 20:33:42 +03:00
2020-05-27 14:10:53 +03:00
MYSQL_ADD_EXECUTABLE(aria_dump_log aria_dump_log.c unittest/ma_loghandler_examples.c COMPONENT Server)
2010-11-25 18:17:28 +01:00
TARGET_LINK_LIBRARIES(aria_dump_log aria)
2010-09-12 18:40:01 +02:00
SET_TARGET_PROPERTIES(aria_dump_log PROPERTIES COMPILE_FLAGS "-DMARIA_DUMP_LOG")
2008-02-25 17:31:55 +01:00
2020-05-27 14:10:53 +03:00
MYSQL_ADD_EXECUTABLE(aria_pack aria_pack.c COMPONENT Server)
2010-11-25 18:17:28 +01:00
TARGET_LINK_LIBRARIES(aria_pack aria)
2008-01-10 13:21:53 +01:00
2012-09-25 13:45:11 +03:00
IF(WITH_UNIT_TESTS)
2010-11-25 18:17:28 +01:00
ADD_EXECUTABLE(ma_test1 ma_test1.c)
TARGET_LINK_LIBRARIES(ma_test1 aria)
2008-01-10 13:21:53 +01:00
2010-11-25 18:17:28 +01:00
ADD_EXECUTABLE(ma_test2 ma_test2.c)
TARGET_LINK_LIBRARIES(ma_test2 aria)
2008-01-10 13:21:53 +01:00
2010-11-25 18:17:28 +01:00
ADD_EXECUTABLE(ma_test3 ma_test3.c)
TARGET_LINK_LIBRARIES(ma_test3 aria)
2007-10-04 20:33:42 +03:00
2010-11-25 18:17:28 +01:00
ADD_EXECUTABLE(ma_rt_test ma_rt_test.c)
TARGET_LINK_LIBRARIES(ma_rt_test aria)
2007-10-04 20:33:42 +03:00
2010-11-25 18:17:28 +01:00
ADD_EXECUTABLE(ma_sp_test ma_sp_test.c)
TARGET_LINK_LIBRARIES(ma_sp_test aria)
2018-11-18 21:34:58 +02:00
ADD_EXECUTABLE(test_ma_backup test_ma_backup.c)
TARGET_LINK_LIBRARIES(test_ma_backup aria)
2012-10-30 23:05:55 +01:00
ADD_SUBDIRECTORY(unittest)
2018-11-18 21:34:58 +02:00
2010-11-25 18:17:28 +01:00
ENDIF()
IF (MSVC)
SET_TARGET_PROPERTIES(aria_chk aria_pack PROPERTIES LINK_FLAGS "setargv.obj")
ENDIF()
2010-06-25 15:09:45 +02:00
2019-05-05 19:50:12 +02:00
OPTION(USE_ARIA_FOR_TMP_TABLES "Use Aria for temporary tables" ON)
2011-04-25 17:22:25 +02:00
2019-04-15 18:16:02 +03:00
#
# S3
#
INCLUDE (CheckIncludeFiles)
2020-06-18 11:17:43 +02:00
SET(S3_SOURCES s3_func.c
2019-04-15 18:16:02 +03:00
libmarias3/src/debug.c libmarias3/src/error.c libmarias3/src/marias3.c
2019-05-31 15:33:04 +03:00
libmarias3/src/request.c libmarias3/src/response.c libmarias3/src/sha256.c
2020-10-19 22:04:45 +03:00
libmarias3/src/sha256-internal.c libmarias3/src/xml.c
libmarias3/src/assume_role.c)
2019-04-15 18:16:02 +03:00
2022-03-23 12:40:43 +01:00
IF(NOT PLUGIN_S3 STREQUAL NO AND NOT WIN32)
2019-04-15 18:16:02 +03:00
FIND_PACKAGE(CURL)
ENDIF()
2020-04-23 16:25:10 +03:00
IF (CURL_FOUND)
2020-07-16 13:01:15 +10:00
LINK_DIRECTORIES(${PC_CURL_LIBDIR})
2020-06-18 11:17:43 +02:00
MYSQL_ADD_PLUGIN(s3 ha_s3.cc ${S3_SOURCES} COMPONENT s3-engine
2020-08-04 12:19:40 +10:00
LINK_LIBRARIES curl z STORAGE_ENGINE NOT_EMBEDDED CONFIG s3.cnf)
2019-04-15 18:16:02 +03:00
ENDIF()
2021-12-07 17:29:05 +01:00
SET(CPACK_RPM_s3-engine_PACKAGE_SUMMARY "Amazon S3 archival storage engine for MariaDB" PARENT_SCOPE)
SET(CPACK_RPM_s3-engine_PACKAGE_DESCRIPTION "The S3 storage engine allows one to archive MariaDB tables in Amazon S3 (or any third-party public or private cloud that implements S3 API), but still have them accessible in MariaDB in read-only mode." PARENT_SCOPE)
2019-04-15 18:16:02 +03:00
IF(TARGET s3)
2020-06-18 11:17:43 +02:00
MYSQL_ADD_EXECUTABLE(aria_s3_copy aria_s3_copy.cc ${S3_SOURCES} COMPONENT s3-engine)
2020-08-04 12:19:40 +10:00
TARGET_LINK_LIBRARIES(aria_s3_copy aria myisam mysys mysys_ssl curl z)
2020-04-23 16:25:10 +03:00
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/libmarias3)
2019-04-15 18:16:02 +03:00
ADD_DEFINITIONS(-DWITH_S3_STORAGE_ENGINE)
ENDIF()