summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-06-18 11:30:06 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2019-06-18 11:30:06 +0300
commit3c88ce4cd112f696002d5f7461db68a3dafeb838 (patch)
tree8860f823877b8d816fbca45d9e6926bcbc8f012d /cmake
parent44d06cd39df2bdde6f7ac31d5340f1f683683c99 (diff)
parente85e4814eeca9123b23c23b40dd776416bfba2ca (diff)
downloadmariadb-git-3c88ce4cd112f696002d5f7461db68a3dafeb838.tar.gz
Merge 10.4 into 10.5
Diffstat (limited to 'cmake')
-rw-r--r--cmake/check_compiler_flag.cmake3
-rw-r--r--cmake/install_macros.cmake15
-rw-r--r--cmake/mysql_add_executable.cmake12
-rw-r--r--cmake/ssl.cmake3
-rw-r--r--cmake/symlinks.cmake72
5 files changed, 91 insertions, 14 deletions
diff --git a/cmake/check_compiler_flag.cmake b/cmake/check_compiler_flag.cmake
index ab5a15f8457..3c05c6bafd3 100644
--- a/cmake/check_compiler_flag.cmake
+++ b/cmake/check_compiler_flag.cmake
@@ -13,7 +13,8 @@ SET(fail_patterns
FAIL_REGEX "warning:.*redefined"
FAIL_REGEX "[Ww]arning: [Oo]ption"
)
-
+#The regex patterns above are not localized, thus LANG=C
+SET(ENV{LANG} C)
MACRO (MY_CHECK_C_COMPILER_FLAG flag)
STRING(REGEX REPLACE "[-,= +]" "_" result "have_C_${flag}")
SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
index f28720e97bc..f04ab691af1 100644
--- a/cmake/install_macros.cmake
+++ b/cmake/install_macros.cmake
@@ -71,9 +71,10 @@ FUNCTION(INSTALL_MANPAGE file)
${MYSQL_DOC_DIR}/man/*${file}.8*
${GLOB_EXPR}
)
- ENDIF()
+ ENDIF()
FILE(GLOB_RECURSE MANPAGES ${GLOB_EXPR})
+
IF(MANPAGES)
LIST(GET MANPAGES 0 MANPAGE)
STRING(REPLACE "${file}man.1" "${file}.1" MANPAGE "${MANPAGE}")
@@ -100,19 +101,17 @@ FUNCTION(INSTALL_SCRIPT)
IF(NOT ARG_DESTINATION)
SET(ARG_DESTINATION ${INSTALL_BINDIR})
ENDIF()
- IF(ARG_COMPONENT)
- SET(COMP COMPONENT ${ARG_COMPONENT})
- ELSE()
- SET(COMP)
- ENDIF()
+ SET(COMP ${ARG_COMPONENT})
IF (COMP MATCHES ${SKIP_COMPONENTS})
RETURN()
ENDIF()
- INSTALL(PROGRAMS ${script} DESTINATION ${ARG_DESTINATION} ${COMP})
+ INSTALL(PROGRAMS ${script} DESTINATION ${ARG_DESTINATION} COMPONENT ${COMP})
+ get_filename_component(dest "${script}" NAME)
+ CREATE_MARIADB_SYMLINK(${dest} ${ARG_DESTINATION} ${COMP})
- INSTALL_MANPAGE(${script})
+ INSTALL_MANPAGE(${dest})
ENDFUNCTION()
diff --git a/cmake/mysql_add_executable.cmake b/cmake/mysql_add_executable.cmake
index d3a888f9a75..54fdab7b17c 100644
--- a/cmake/mysql_add_executable.cmake
+++ b/cmake/mysql_add_executable.cmake
@@ -63,21 +63,25 @@ FUNCTION (MYSQL_ADD_EXECUTABLE)
UNSET(EXCLUDE_FROM_ALL)
ENDIF()
ADD_EXECUTABLE(${target} ${WIN32} ${MACOSX_BUNDLE} ${EXCLUDE_FROM_ALL} ${sources})
+
# tell CPack where to install
IF(NOT ARG_EXCLUDE_FROM_ALL)
IF(NOT ARG_DESTINATION)
SET(ARG_DESTINATION ${INSTALL_BINDIR})
ENDIF()
IF(ARG_COMPONENT)
- SET(COMP COMPONENT ${ARG_COMPONENT})
+ SET(COMP ${ARG_COMPONENT})
ELSEIF(MYSQL_INSTALL_COMPONENT)
- SET(COMP COMPONENT ${MYSQL_INSTALL_COMPONENT})
+ SET(COMP ${MYSQL_INSTALL_COMPONENT})
ELSE()
- SET(COMP COMPONENT Client)
+ SET(COMP Client)
ENDIF()
IF (COMP MATCHES ${SKIP_COMPONENTS})
RETURN()
ENDIF()
- MYSQL_INSTALL_TARGETS(${target} DESTINATION ${ARG_DESTINATION} ${COMP})
+ MYSQL_INSTALL_TARGETS(${target} DESTINATION ${ARG_DESTINATION} COMPONENT ${COMP})
ENDIF()
+
+ # create mariadb named symlink
+ CREATE_MARIADB_SYMLINK(${target} ${ARG_DESTINATION} ${COMP})
ENDFUNCTION()
diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
index 7a571171eaf..bcb4a512126 100644
--- a/cmake/ssl.cmake
+++ b/cmake/ssl.cmake
@@ -49,12 +49,13 @@ ENDMACRO()
MACRO (MYSQL_USE_BUNDLED_SSL)
SET(INC_DIRS
+ ${CMAKE_BINARY_DIR}/extra/wolfssl
${CMAKE_SOURCE_DIR}/extra/wolfssl/wolfssl
${CMAKE_SOURCE_DIR}/extra/wolfssl/wolfssl/wolfssl
)
SET(SSL_LIBRARIES wolfssl wolfcrypt)
SET(SSL_INCLUDE_DIRS ${INC_DIRS})
- SET(SSL_DEFINES "-DHAVE_OPENSSL -DHAVE_WOLFSSL -DOPENSSL_ALL -DWOLFSSL_MYSQL_COMPATIBLE -DWC_NO_HARDEN")
+ SET(SSL_DEFINES "-DHAVE_OPENSSL -DHAVE_WOLFSSL -DWOLFSSL_USER_SETTINGS")
SET(HAVE_ERR_remove_thread_state ON CACHE INTERNAL "wolfssl doesn't have ERR_remove_thread_state")
SET(HAVE_EncryptAes128Ctr OFF CACHE INTERNAL "wolfssl does support AES-CTR, but differently from openssl")
SET(HAVE_EncryptAes128Gcm OFF CACHE INTERNAL "wolfssl does not support AES-GCM")
diff --git a/cmake/symlinks.cmake b/cmake/symlinks.cmake
new file mode 100644
index 00000000000..251532892c2
--- /dev/null
+++ b/cmake/symlinks.cmake
@@ -0,0 +1,72 @@
+# Create lists
+macro(REGISTER_SYMLINK from to)
+ list(APPEND MARIADB_SYMLINK_FROMS ${from})
+ list(APPEND MARIADB_SYMLINK_TOS ${to})
+endmacro()
+
+# MariaDB names for executables
+REGISTER_SYMLINK("mysql" "mariadb")
+REGISTER_SYMLINK("mysqlaccess" "mariadb-access")
+REGISTER_SYMLINK("mysqladmin" "mariadb-admin")
+REGISTER_SYMLINK("mariabackup" "mariadb-backup")
+REGISTER_SYMLINK("mysqlbinlog" "mariadb-binlog")
+REGISTER_SYMLINK("mysqlcheck" "mariadb-check")
+REGISTER_SYMLINK("mysql_client_test_embedded" "mariadb-client-test-embedded")
+REGISTER_SYMLINK("mysql_client_test" "mariadb-client-test")
+REGISTER_SYMLINK("mariadb_config" "mariadb-config")
+REGISTER_SYMLINK("mysql_convert_table_format" "mariadb-convert-table-format")
+REGISTER_SYMLINK("mysqldump" "mariadb-dump")
+REGISTER_SYMLINK("mysqldumpslow" "mariadb-dumpslow")
+REGISTER_SYMLINK("mysql_embedded" "mariadb-embedded")
+REGISTER_SYMLINK("mysql_find_rows" "mariadb-find-rows")
+REGISTER_SYMLINK("mysql_fix_extensions" "mariadb-fix-extensions")
+REGISTER_SYMLINK("mysqlhotcopy" "mariadb-hotcopy")
+REGISTER_SYMLINK("mysqlimport" "mariadb-import")
+REGISTER_SYMLINK("mysql_install_db" "mariadb-install-db")
+REGISTER_SYMLINK("mysql_ldb" "mariadb-ldb")
+REGISTER_SYMLINK("mysql_plugin" "mariadb-plugin")
+REGISTER_SYMLINK("mysql_secure_installation" "mariadb-secure-installation")
+REGISTER_SYMLINK("mysql_setpermission" "mariadb-setpermission")
+REGISTER_SYMLINK("mysqlshow" "mariadb-show")
+REGISTER_SYMLINK("mysqlslap" "mariadb-slap")
+REGISTER_SYMLINK("mysqltest" "mariadb-test")
+REGISTER_SYMLINK("mysqltest_embedded" "mariadb-test-embedded")
+REGISTER_SYMLINK("mysql_tzinfo_to_sql" "mariadb-tzinfo-to-sql")
+REGISTER_SYMLINK("mysql_upgrade" "mariadb-upgrade")
+REGISTER_SYMLINK("mysql_upgrade_service" "mariadb-upgrade-service")
+REGISTER_SYMLINK("mysql_upgrade_wizard" "mariadb-upgrade-wizard")
+REGISTER_SYMLINK("mysql_waitpid" "mariadb-waitpid")
+REGISTER_SYMLINK("mysqld" "mariadbd")
+REGISTER_SYMLINK("mysqld_multi" "mariadbd-multi")
+REGISTER_SYMLINK("mysqld_safe" "mariadbd-safe")
+REGISTER_SYMLINK("mysqld_safe_helper" "mariadbd-safe-helper")
+
+# Add MariaDB symlinks
+macro(CREATE_MARIADB_SYMLINK src dir comp)
+ # Find the MariaDB name for executable
+ list(FIND MARIADB_SYMLINK_FROMS ${src} _index)
+
+ if (${_index} GREATER -1)
+ list(GET MARIADB_SYMLINK_TOS ${_index} mariadbname)
+ endif()
+
+ if (mariadbname)
+ CREATE_MARIADB_SYMLINK_IN_DIR(${src} ${mariadbname} ${dir} ${comp})
+ endif()
+endmacro(CREATE_MARIADB_SYMLINK)
+
+# Add MariaDB symlinks in directory
+macro(CREATE_MARIADB_SYMLINK_IN_DIR src dest dir comp)
+ if(UNIX)
+ add_custom_target(
+ SYM_${dest} ALL
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${dest}
+ )
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${dest} POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${src} ${dest}
+ COMMENT "mklink ${src} -> ${dest}")
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${dest} DESTINATION ${dir} COMPONENT ${comp})
+ endif()
+endmacro(CREATE_MARIADB_SYMLINK_IN_DIR)