diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2018-05-24 16:01:50 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2018-05-24 16:01:50 -0400 |
commit | ec8ee339396aedb4032ae123843ae630546cd588 (patch) | |
tree | b7b7a3166bad6e400b295a75b3cabae37a74fd5c | |
parent | c730ae22f8dc4d31db00244da2fdc44e2e943bd7 (diff) |
MAINT-8675: In Darwin-specific CMake, use cp, not cmake -E copy.
cmake -E copy does only one file at a time, and older CMake versions don't
handle wildcards. But cmake -E copy is specifically for portability. When the
copy operation itself is Darwin-only, we can count on having 'cp' available.
-rw-r--r-- | indra/llcorehttp/CMakeLists.txt | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/indra/llcorehttp/CMakeLists.txt b/indra/llcorehttp/CMakeLists.txt index bff329f4a5..9dbc6f447e 100644 --- a/indra/llcorehttp/CMakeLists.txt +++ b/indra/llcorehttp/CMakeLists.txt @@ -167,29 +167,26 @@ if (DARWIN) COMMENT "Creating Resources directory in app bundle." ) - # Copy the required libraries to the package app - add_custom_command(TARGET INTEGRATION_TEST_llcorehttp PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${AUTOBUILD_INSTALL_DIR}/lib/release/libapr-1.0.dylib ${LL_TEST_DESTINATION_DIR} - DEPENDS ${AUTOBUILD_INSTALL_DIR}/lib/release/libapr-1.0.dylib - ) - add_custom_command(TARGET INTEGRATION_TEST_llcorehttp PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${AUTOBUILD_INSTALL_DIR}/lib/release/libaprutil-1.0.dylib ${LL_TEST_DESTINATION_DIR} - DEPENDS ${AUTOBUILD_INSTALL_DIR}/lib/release/libaprutil-1.0.dylib - ) - add_custom_command(TARGET INTEGRATION_TEST_llcorehttp PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${AUTOBUILD_INSTALL_DIR}/lib/release/libexception_handler.dylib ${LL_TEST_DESTINATION_DIR} - DEPENDS ${AUTOBUILD_INSTALL_DIR}/lib/release/libexception_handler.dylib - ) + # Copy the required libraries to the package app. We used to use a sequence + # of '${CMAKE_COMMAND} -E copy' commands, but 'cmake -E copy' does only a + # single file at a time: it doesn't understand wildcards. 'cmake -E copy' is + # for portability. This operation is Darwin-specific. We can count on the + # 'cp' command. + set(copy_dylibs + libapr-1.0.dylib + libaprutil-1.0.dylib + libexception_handler.dylib + libnghttp2*.dylib + ${EXPAT_COPY} + ) + add_custom_command(TARGET INTEGRATION_TEST_llcorehttp PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${AUTOBUILD_INSTALL_DIR}/lib/release/libnghttp2*.dylib ${LL_TEST_DESTINATION_DIR} - DEPENDS ${AUTOBUILD_INSTALL_DIR}/lib/release/libnghttp2.dylib + WORKING_DIRECTORY "${AUTOBUILD_INSTALL_DIR}/lib/release" + COMMAND cp -v + ${copy_dylibs} + ${LL_TEST_DESTINATION_DIR} + DEPENDS ${copy_dylibs} ) - foreach(expat ${EXPAT_COPY}) - add_custom_command(TARGET INTEGRATION_TEST_llcorehttp PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${AUTOBUILD_INSTALL_DIR}/lib/release/${expat} ${LL_TEST_DESTINATION_DIR} - DEPENDS ${AUTOBUILD_INSTALL_DIR}/lib/release/${expat} - ) - endforeach(expat) endif (DARWIN) |