diff options
author | Seppo Jaakola <seppo.jaakola@codership.com> | 2013-08-07 00:17:16 +0300 |
---|---|---|
committer | Seppo Jaakola <seppo.jaakola@codership.com> | 2013-08-07 00:17:16 +0300 |
commit | 551ad1cf6f80ad1fab35746eee304d733baa9adf (patch) | |
tree | 120046ba39eaa403a7b9c0d3de0a03b5de0c1bbb /cmake/install_macros.cmake | |
parent | 7cf10ddf8ca7044278b4aa1cf5a5525675cd101d (diff) | |
download | mariadb-git-551ad1cf6f80ad1fab35746eee304d733baa9adf.tar.gz |
Merged FreeBSD compatibility changes (up to revision 3893 in lp:~codership/codership-mysql/5.5-23)
Diffstat (limited to 'cmake/install_macros.cmake')
-rw-r--r-- | cmake/install_macros.cmake | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake index 14e43ee5e95..f9ff1f5cf31 100644 --- a/cmake/install_macros.cmake +++ b/cmake/install_macros.cmake @@ -13,8 +13,30 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +if(APPLE) + LIST(APPEND CMAKE_CXX_LINK_EXECUTABLE "dsymutil <TARGET>") + LIST(APPEND CMAKE_C_LINK_EXECUTABLE "dsymutil <TARGET>") + LIST(APPEND CMAKE_CXX_CREATE_SHARED_LIBRARY "dsymutil <TARGET>") + LIST(APPEND CMAKE_C_CREATE_SHARED_LIBRARY "dsymutil <TARGET>") + LIST(APPEND CMAKE_CXX_CREATE_SHARED_MODULE "dsymutil <TARGET>") + LIST(APPEND CMAKE_C_CREATE_SHARED_MODULE "dsymutil <TARGET>") +ENDIF() + GET_FILENAME_COMPONENT(MYSQL_CMAKE_SCRIPT_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_parse_arguments.cmake) +MACRO (INSTALL_DSYM_DIRECTORIES targets) + IF(APPLE) + FOREACH(target ${targets}) + GET_TARGET_PROPERTY(location ${target} LOCATION) + GET_TARGET_PROPERTY(type ${target} TYPE) + # It's a dirty hack, but cmake too stupid and mysql cmake files too buggy */ + STRING(REPLACE "liblibmysql.dylib" "libmysqlclient.${SHARED_LIB_MAJOR_VERSION}.dylib" location ${location}) + IF(type MATCHES "EXECUTABLE" OR type MATCHES "MODULE" OR type MATCHES "SHARED_LIBRARY") + INSTALL(DIRECTORY "${location}.dSYM" DESTINATION ${INSTALL_LOCATION} COMPONENT Debuginfo) + ENDIF() + ENDFOREACH() + ENDIF() +ENDMACRO() FUNCTION (INSTALL_DEBUG_SYMBOLS) IF(MSVC) @@ -31,6 +53,7 @@ FUNCTION (INSTALL_DEBUG_SYMBOLS) MESSAGE(FATAL_ERROR "No INSTALL_LOCATION passed to INSTALL_DEBUG_SYMBOLS") ENDIF() SET(targets ${ARG_DEFAULT_ARGS}) + FOREACH(target ${targets}) GET_TARGET_PROPERTY(type ${target} TYPE) GET_TARGET_PROPERTY(location ${target} LOCATION) @@ -252,6 +275,7 @@ FUNCTION(MYSQL_INSTALL_TARGETS) INSTALL(TARGETS ${TARGETS} DESTINATION ${ARG_DESTINATION} ${COMP}) INSTALL_DEBUG_SYMBOLS(${TARGETS} ${COMP} INSTALL_LOCATION ${ARG_DESTINATION}) + INSTALL_DSYM_DIRECTORIES("${TARGETS}") ENDFUNCTION() |