diff options
author | Jan Vorlicek <janvorli@microsoft.com> | 2016-11-29 19:09:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-29 19:09:35 +0100 |
commit | 74816870ce9ff5ec41d30455a7dcc3b5d327bf45 (patch) | |
tree | fc148a063f34c8bfc70e15d24a5e4abba272f78d /functions.cmake | |
parent | e67851210d1c03d730a3bc97a87e8a6713bbf772 (diff) | |
download | coreclr-74816870ce9ff5ec41d30455a7dcc3b5d327bf45.tar.gz coreclr-74816870ce9ff5ec41d30455a7dcc3b5d327bf45.tar.bz2 coreclr-74816870ce9ff5ec41d30455a7dcc3b5d327bf45.zip |
Fix shared library dependencies verification on some platforms (#8349)
The existing way of verifying shared library dependencies, used for
System.Globalization.Native.so, doesn't work on platforms that don't
have ldd or where ldd doesn't support the `-r` option.
This change makes the check happen on non-Alpine Linux only for now.
It also refactors the way the check is performed. Instead of doing it
post build in the build.sh, it is now performed as a postbuild phase
of the System.Globalization.Native target and it is also generalized
so that we can easily add such verification to other build targets.
The new verify-so.sh script is also used in corefx.
Diffstat (limited to 'functions.cmake')
-rw-r--r-- | functions.cmake | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/functions.cmake b/functions.cmake index f8a2eeae04..bac20e8bc6 100644 --- a/functions.cmake +++ b/functions.cmake @@ -216,3 +216,19 @@ function(_install) install(${ARGV}) endif() endfunction() + +function(verify_dependencies targetName errorMessage) + # We don't need to verify dependencies on OSX, since missing dependencies + # result in link error over there. + if (NOT CLR_CMAKE_PLATFORM_DARWIN) + add_custom_command( + TARGET ${targetName} + POST_BUILD + VERBATIM + COMMAND ${CMAKE_SOURCE_DIR}/verify-so.sh + $<TARGET_FILE:${targetName}> + ${errorMessage} + COMMENT "Verifying ${targetName} dependencies" + ) + endif() +endfunction() |