summaryrefslogtreecommitdiff
path: root/cmake/install_macros.cmake
diff options
context:
space:
mode:
authorSeppo Jaakola <seppo.jaakola@codership.com>2013-08-07 00:17:16 +0300
committerSeppo Jaakola <seppo.jaakola@codership.com>2013-08-07 00:17:16 +0300
commit551ad1cf6f80ad1fab35746eee304d733baa9adf (patch)
tree120046ba39eaa403a7b9c0d3de0a03b5de0c1bbb /cmake/install_macros.cmake
parent7cf10ddf8ca7044278b4aa1cf5a5525675cd101d (diff)
downloadmariadb-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.cmake24
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()