diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/install_macros.cmake | 28 | ||||
-rw-r--r-- | cmake/os/Linux.cmake | 7 | ||||
-rw-r--r-- | cmake/plugin.cmake | 22 |
3 files changed, 36 insertions, 21 deletions
diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake index b7e27ba5667..df0d1142727 100644 --- a/cmake/install_macros.cmake +++ b/cmake/install_macros.cmake @@ -47,10 +47,10 @@ FUNCTION (INSTALL_DEBUG_SYMBOLS) ) IF(NOT ARG_COMPONENT) - MESSAGE(FATAL_ERROR "No COMPONENT passed to INSTALL_DEBUG_SYMBOLS") + SET(ARG_COMPONENT DebugBinaries) ENDIF() IF(NOT ARG_INSTALL_LOCATION) - MESSAGE(FATAL_ERROR "No INSTALL_LOCATION passed to INSTALL_DEBUG_SYMBOLS") + SET(ARG_INSTALL_LOCATION lib) ENDIF() SET(targets ${ARG_DEFAULT_ARGS}) @@ -400,3 +400,27 @@ FUNCTION(INSTALL_DEBUG_TARGET target) ENDIF() ENDFUNCTION() + +FUNCTION(INSTALL_MYSQL_TEST from to) + IF(INSTALL_MYSQLTESTDIR) + INSTALL( + DIRECTORY ${from} + DESTINATION "${INSTALL_MYSQLTESTDIR}/${to}" + USE_SOURCE_PERMISSIONS + COMPONENT Test + PATTERN "var/" EXCLUDE + PATTERN "lib/My/SafeProcess" EXCLUDE + PATTERN "lib/t*" EXCLUDE + PATTERN "CPack" EXCLUDE + PATTERN "CMake*" EXCLUDE + PATTERN "mtr.out*" EXCLUDE + PATTERN ".cvsignore" EXCLUDE + PATTERN "*.am" EXCLUDE + PATTERN "*.in" EXCLUDE + PATTERN "*.vcxproj" EXCLUDE + PATTERN "*.vcxproj.filters" EXCLUDE + PATTERN "*.vcxproj.user" EXCLUDE + PATTERN "CTest" EXCLUDE + ) + ENDIF() +ENDFUNCTION() diff --git a/cmake/os/Linux.cmake b/cmake/os/Linux.cmake index 36d7ade66a7..b0680d92a1b 100644 --- a/cmake/os/Linux.cmake +++ b/cmake/os/Linux.cmake @@ -1,5 +1,5 @@ -# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2013, 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 @@ -34,7 +34,10 @@ ENDFOREACH() # Ensure we have clean build for shared libraries # without unresolved symbols -SET(LINK_FLAG_NO_UNDEFINED "-Wl,--no-undefined") +# Not supported with AddressSanitizer +IF(NOT WITH_ASAN) + SET(LINK_FLAG_NO_UNDEFINED "-Wl,--no-undefined") +ENDIF() # 64 bit file offset support flag SET(_FILE_OFFSET_BITS 64) diff --git a/cmake/plugin.cmake b/cmake/plugin.cmake index b06d6ac9ca3..7b0d7af7b3f 100644 --- a/cmake/plugin.cmake +++ b/cmake/plugin.cmake @@ -27,23 +27,6 @@ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_parse_arguments.cmake) # [LINK_LIBRARIES lib1...libN] # [DEPENDENCIES target1...targetN] -# Append collections files for the plugin to the common files -# Make sure we don't copy twice if running cmake again - -MACRO(PLUGIN_APPEND_COLLECTIONS plugin) - SET(fcopied "${CMAKE_CURRENT_SOURCE_DIR}/tests/collections/FilesCopied") - IF(NOT EXISTS ${fcopied}) - FILE(GLOB collections ${CMAKE_CURRENT_SOURCE_DIR}/tests/collections/*) - FOREACH(cfile ${collections}) - FILE(READ ${cfile} contents) - GET_FILENAME_COMPONENT(fname ${cfile} NAME) - FILE(APPEND ${CMAKE_SOURCE_DIR}/mysql-test/collections/${fname} "${contents}") - FILE(APPEND ${fcopied} "${fname}\n") - MESSAGE(STATUS "Appended ${cfile}") - ENDFOREACH() - ENDIF() -ENDMACRO() - MACRO(MYSQL_ADD_PLUGIN) MYSQL_PARSE_ARGUMENTS(ARG "LINK_LIBRARIES;DEPENDENCIES;MODULE_OUTPUT_NAME;STATIC_OUTPUT_NAME;COMPONENT" @@ -226,6 +209,11 @@ MACRO(MYSQL_ADD_PLUGIN) TARGET_LINK_LIBRARIES (${target} ${ARG_LINK_LIBRARIES}) ENDIF() + GET_FILENAME_COMPONENT(subpath ${CMAKE_CURRENT_SOURCE_DIR} NAME) + IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mysql-test") + INSTALL_MYSQL_TEST("${CMAKE_CURRENT_SOURCE_DIR}/mysql-test/" "plugin/${subpath}") + ENDIF() + ENDMACRO() |