Only modify lto.exports.def when contents have changed.

Patch by Greg Bedwell.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192182 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2013-10-08 15:07:00 +00:00
parent 320296a4cf
commit 5a0169f0a1

View File

@ -15,10 +15,16 @@ if( NOT CYGWIN AND LLVM_ENABLE_PIC )
# 'EXPORTS'. The file "lto.exports" already contains the list, so we
# massage it into the correct format here to create "lto.exports.def".
set(LTO_EXPORTS_DEF ${CMAKE_CURRENT_BINARY_DIR}/lto.exports.def)
set(LTO_EXPORTS_DEF_TEMP ${LTO_EXPORTS_DEF}.txt)
file(READ "lto.exports" exports_list)
file(WRITE ${LTO_EXPORTS_DEF} "LIBRARY LTO\n")
file(APPEND ${LTO_EXPORTS_DEF} "EXPORTS\n")
file(APPEND ${LTO_EXPORTS_DEF} ${exports_list})
file(WRITE ${LTO_EXPORTS_DEF_TEMP} "LIBRARY LTO\n")
file(APPEND ${LTO_EXPORTS_DEF_TEMP} "EXPORTS\n")
file(APPEND ${LTO_EXPORTS_DEF_TEMP} ${exports_list})
# Copy the file only if it has changed.
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
${LTO_EXPORTS_DEF_TEMP} ${LTO_EXPORTS_DEF})
set(SHARED_LIB_SOURCES ${SOURCES} ${LTO_EXPORTS_DEF})
else()
set(SHARED_LIB_SOURCES ${SOURCES})