From 984351f86f825b2679af5dc70a2c5d0e07ff3059 Mon Sep 17 00:00:00 2001 From: Antonin Descampe Date: Wed, 15 Oct 2014 10:24:49 +0000 Subject: [PATCH] [trunk] Add option to call dsymutil on built binaries (fixes issue 409) --- CMakeLists.txt | 1 + src/bin/jp2/CMakeLists.txt | 7 +++++++ src/lib/openjp2/CMakeLists.txt | 10 ++++++++++ 3 files changed, 18 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f83362b..7859b6dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -148,6 +148,7 @@ endif() if (APPLE) list(APPEND OPENJPEG_LIBRARY_PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_LIB_DIR}") + option(OPJ_USE_DSYMUTIL "Call dsymutil on binaries after build." OFF) endif() #----------------------------------------------------------------------------- diff --git a/src/bin/jp2/CMakeLists.txt b/src/bin/jp2/CMakeLists.txt index 1c2ef39c..a353a8f8 100644 --- a/src/bin/jp2/CMakeLists.txt +++ b/src/bin/jp2/CMakeLists.txt @@ -50,6 +50,13 @@ foreach(exe opj_decompress opj_compress opj_dump) EXPORT OpenJPEGTargets DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications ) + if(OPJ_USE_DSYMUTIL) + GET_TARGET_PROPERTY(EXE_LOCATION ${exe} LOCATION) + add_custom_command(TARGET ${exe} POST_BUILD + COMMAND "dsymutil" "${EXE_LOCATION}" + COMMENT "dsymutil ${EXE_LOCATION}" + DEPENDS ${exe}) + endif() endforeach() if(BUILD_DOC) diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt index fcf60ecf..ca59c113 100644 --- a/src/lib/openjp2/CMakeLists.txt +++ b/src/lib/openjp2/CMakeLists.txt @@ -98,3 +98,13 @@ if(OPENJPEG_CPPCHECK) COMMAND ${CPPCHECK_EXECUTABLE} -DWIN32 ${f}) endforeach() endif() + +if(OPJ_USE_DSYMUTIL) + if(BUILD_SHARED_LIBS) + GET_TARGET_PROPERTY(OPENJPEG_LIBRARY_LOCATION ${OPENJPEG_LIBRARY_NAME} LOCATION) + add_custom_command(TARGET ${OPENJPEG_LIBRARY_NAME} POST_BUILD + COMMAND "dsymutil" "${OPENJPEG_LIBRARY_LOCATION}" + COMMENT "dsymutil ${OPENJPEG_LIBRARY_LOCATION}" + DEPENDS ${OPENJPEG_LIBRARY_NAME}) + endif() +endif()