|
|
f99f78 |
--- a/src/settings.cmake
|
|
|
f99f78 |
+++ b/src/settings.cmake
|
|
|
f99f78 |
@@ -69,55 +69,10 @@
|
|
|
f99f78 |
endif (CMAKE_SYSTEM_NAME STREQUAL Darwin)
|
|
|
f99f78 |
endif ()
|
|
|
f99f78 |
|
|
|
f99f78 |
-function(strip_symbols targetName outputFilename)
|
|
|
f99f78 |
- if(CLR_CMAKE_PLATFORM_UNIX)
|
|
|
f99f78 |
- if(STRIP_SYMBOLS)
|
|
|
f99f78 |
-
|
|
|
f99f78 |
- # On the older version of cmake (2.8.12) used on Ubuntu 14.04 the TARGET_FILE
|
|
|
f99f78 |
- # generator expression doesn't work correctly returning the wrong path and on
|
|
|
f99f78 |
- # the newer cmake versions the LOCATION property isn't supported anymore.
|
|
|
f99f78 |
- if(CMAKE_VERSION VERSION_EQUAL 3.0 OR CMAKE_VERSION VERSION_GREATER 3.0)
|
|
|
f99f78 |
- set(strip_source_file $<TARGET_FILE:${targetName}>)
|
|
|
f99f78 |
- else()
|
|
|
f99f78 |
- get_property(strip_source_file TARGET ${targetName} PROPERTY LOCATION)
|
|
|
f99f78 |
- endif()
|
|
|
f99f78 |
-
|
|
|
f99f78 |
- if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
|
|
|
f99f78 |
- set(strip_destination_file ${strip_source_file}.dwarf)
|
|
|
f99f78 |
-
|
|
|
f99f78 |
- add_custom_command(
|
|
|
f99f78 |
- TARGET ${targetName}
|
|
|
f99f78 |
- POST_BUILD
|
|
|
f99f78 |
- VERBATIM
|
|
|
f99f78 |
- COMMAND ${DSYMUTIL} --flat --minimize ${strip_source_file}
|
|
|
f99f78 |
- COMMAND ${STRIP} -u -r ${strip_source_file}
|
|
|
f99f78 |
- COMMENT Stripping symbols from ${strip_source_file} into file ${strip_destination_file}
|
|
|
f99f78 |
- )
|
|
|
f99f78 |
- else(CMAKE_SYSTEM_NAME STREQUAL Darwin)
|
|
|
f99f78 |
- set(strip_destination_file ${strip_source_file}.dbg)
|
|
|
f99f78 |
-
|
|
|
f99f78 |
- add_custom_command(
|
|
|
f99f78 |
- TARGET ${targetName}
|
|
|
f99f78 |
- POST_BUILD
|
|
|
f99f78 |
- VERBATIM
|
|
|
f99f78 |
- COMMAND ${OBJCOPY} --only-keep-debug ${strip_source_file} ${strip_destination_file}
|
|
|
f99f78 |
- COMMAND ${OBJCOPY} --strip-unneeded ${strip_source_file}
|
|
|
f99f78 |
- COMMAND ${OBJCOPY} --add-gnu-debuglink=${strip_destination_file} ${strip_source_file}
|
|
|
f99f78 |
- COMMENT Stripping symbols from ${strip_source_file} into file ${strip_destination_file}
|
|
|
f99f78 |
- )
|
|
|
f99f78 |
- endif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
|
|
|
f99f78 |
-
|
|
|
f99f78 |
- set(${outputFilename} ${strip_destination_file} PARENT_SCOPE)
|
|
|
f99f78 |
- endif(STRIP_SYMBOLS)
|
|
|
f99f78 |
- endif(CLR_CMAKE_PLATFORM_UNIX)
|
|
|
f99f78 |
-endfunction()
|
|
|
f99f78 |
-
|
|
|
f99f78 |
function(install_symbols targetName destination_path)
|
|
|
f99f78 |
if(WIN32)
|
|
|
f99f78 |
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${targetName}.pdb DESTINATION ${destination_path})
|
|
|
f99f78 |
else()
|
|
|
f99f78 |
- strip_symbols(${targetName} strip_destination_file)
|
|
|
f99f78 |
- install(FILES ${strip_destination_file} DESTINATION ${destination_path})
|
|
|
f99f78 |
endif()
|
|
|
f99f78 |
endfunction()
|
|
|
f99f78 |
|