diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-06-18 11:30:06 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-06-18 11:30:06 +0300 |
commit | 3c88ce4cd112f696002d5f7461db68a3dafeb838 (patch) | |
tree | 8860f823877b8d816fbca45d9e6926bcbc8f012d /cmake | |
parent | 44d06cd39df2bdde6f7ac31d5340f1f683683c99 (diff) | |
parent | e85e4814eeca9123b23c23b40dd776416bfba2ca (diff) | |
download | mariadb-git-3c88ce4cd112f696002d5f7461db68a3dafeb838.tar.gz |
Merge 10.4 into 10.5
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/check_compiler_flag.cmake | 3 | ||||
-rw-r--r-- | cmake/install_macros.cmake | 15 | ||||
-rw-r--r-- | cmake/mysql_add_executable.cmake | 12 | ||||
-rw-r--r-- | cmake/ssl.cmake | 3 | ||||
-rw-r--r-- | cmake/symlinks.cmake | 72 |
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) |