diff options
Diffstat (limited to 'indra/cmake/Copy3rdPartyLibs.cmake')
-rwxr-xr-x[-rw-r--r--] | indra/cmake/Copy3rdPartyLibs.cmake | 283 |
1 files changed, 105 insertions, 178 deletions
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index c32e357da3..a6fd756c88 100644..100755 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -20,6 +20,7 @@ if(WINDOWS) set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") set(vivox_files SLVoice.exe + ca-bundle.crt libsndfile-1.dll vivoxplatform.dll vivoxsdk.dll @@ -39,7 +40,6 @@ if(WINDOWS) libapriconv-1.dll ssleay32.dll libeay32.dll - libcollada14dom22-d.dll glod.dll libhunspell.dll ) @@ -52,7 +52,6 @@ if(WINDOWS) libapriconv-1.dll ssleay32.dll libeay32.dll - libcollada14dom22.dll glod.dll libhunspell.dll ) @@ -62,131 +61,96 @@ if(WINDOWS) set(release_files ${release_files} libtcmalloc_minimal.dll) endif(USE_TCMALLOC) - if (FMOD) - set(debug_files ${debug_files} fmod.dll) - set(release_files ${release_files} fmod.dll) - endif (FMOD) - -#******************************* -# Copy MS C runtime dlls, required for packaging. -# *TODO - Adapt this to support VC9 -if (MSVC80) - FIND_PATH(debug_msvc8_redist_path msvcr80d.dll - PATHS - ${MSVC_DEBUG_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT - NO_DEFAULT_PATH - NO_DEFAULT_PATH - ) - - if(EXISTS ${debug_msvc8_redist_path}) - set(debug_msvc8_files - msvcr80d.dll - msvcp80d.dll - Microsoft.VC80.DebugCRT.manifest - ) - - copy_if_different( - ${debug_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${debug_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif (EXISTS ${debug_msvc8_redist_path}) - - FIND_PATH(release_msvc8_redist_path msvcr80.dll - PATHS - ${MSVC_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC80.CRT - NO_DEFAULT_PATH - NO_DEFAULT_PATH - ) - - if(EXISTS ${release_msvc8_redist_path}) - set(release_msvc8_files - msvcr80.dll - msvcp80.dll - Microsoft.VC80.CRT.manifest - ) - - copy_if_different( - ${release_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${release_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - copy_if_different( - ${release_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${release_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif (EXISTS ${release_msvc8_redist_path}) -elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 - FIND_PATH(debug_msvc10_redist_path msvcr100d.dll - PATHS - ${MSVC_DEBUG_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC100.DebugCRT - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 - NO_DEFAULT_PATH - ) - - if(EXISTS ${debug_msvc10_redist_path}) - set(debug_msvc10_files - msvcr100d.dll - msvcp100d.dll - ) + if (FMODEX) + set(debug_files ${debug_files} fmodexL.dll) + set(release_files ${release_files} fmodex.dll) + endif (FMODEX) - copy_if_different( - ${debug_msvc10_redist_path} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${debug_msvc10_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif () - - FIND_PATH(release_msvc10_redist_path msvcr100.dll - PATHS - ${MSVC_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC100.CRT - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 - NO_DEFAULT_PATH - ) - - if(EXISTS ${release_msvc10_redist_path}) - set(release_msvc10_files - msvcr100.dll - msvcp100.dll + #******************************* + # Copy MS C runtime dlls, required for packaging. + # *TODO - Adapt this to support VC9 + if (MSVC80) + list(APPEND LMSVC_VER 80) + list(APPEND LMSVC_VERDOT 8.0) + elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 + MESSAGE(STATUS "MSVC_VERSION ${MSVC_VERSION}") + elseif (MSVC_VERSION EQUAL 1800) # VisualStudio 2013, which is (sigh) VS 12 + list(APPEND LMSVC_VER 120) + list(APPEND LMSVC_VERDOT 12.0) + else (MSVC80) + MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake") + endif (MSVC80) + + # try to copy VS2010 redist independently of system version + list(APPEND LMSVC_VER 100) + list(APPEND LMSVC_VERDOT 10.0) + + list(LENGTH LMSVC_VER count) + math(EXPR count "${count}-1") + foreach(i RANGE ${count}) + list(GET LMSVC_VER ${i} MSVC_VER) + list(GET LMSVC_VERDOT ${i} MSVC_VERDOT) + MESSAGE(STATUS "Copying redist libs for VC ${MSVC_VERDOT}") + FIND_PATH(debug_msvc_redist_path NAME msvcr${MSVC_VER}d.dll + PATHS + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${MSVC_VERDOT}\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC${MSVC_VER}.DebugCRT + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 + ${MSVC_DEBUG_REDIST_PATH} + NO_DEFAULT_PATH ) - copy_if_different( - ${release_msvc10_redist_path} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${release_msvc10_files} + if(EXISTS ${debug_msvc_redist_path}) + set(debug_msvc_files + msvcr${MSVC_VER}d.dll + msvcp${MSVC_VER}d.dll + ) + + copy_if_different( + ${debug_msvc_redist_path} + "${SHARED_LIB_STAGING_DIR_DEBUG}" + out_targets + ${debug_msvc_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + unset(debug_msvc_redist_path CACHE) + endif() + + FIND_PATH(release_msvc_redist_path NAME msvcr${MSVC_VER}.dll + PATHS + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${MSVC_VERDOT}\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC${MSVC_VER}.CRT + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 + ${MSVC_REDIST_PATH} + NO_DEFAULT_PATH ) - set(third_party_targets ${third_party_targets} ${out_targets}) - copy_if_different( - ${release_msvc10_redist_path} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${release_msvc10_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif () -endif (MSVC80) + if(EXISTS ${release_msvc_redist_path}) + set(release_msvc_files + msvcr${MSVC_VER}.dll + msvcp${MSVC_VER}.dll + ) + + copy_if_different( + ${release_msvc_redist_path} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${release_msvc_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + copy_if_different( + ${release_msvc_redist_path} + "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" + out_targets + ${release_msvc_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + unset(release_msvc_redist_path CACHE) + endif() + endforeach() elseif(DARWIN) set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug/Resources") @@ -196,6 +160,7 @@ elseif(DARWIN) set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") set(vivox_files SLVoice + ca-bundle.crt libsndfile.dylib libvivoxoal.dylib libortp.dylib @@ -211,19 +176,18 @@ elseif(DARWIN) libapr-1.dylib libaprutil-1.0.dylib libaprutil-1.dylib + libexception_handler.dylib libexpat.1.5.2.dylib libexpat.dylib libGLOD.dylib - libllqtwebkit.dylib - libminizip.a - libndofdev.dylib libhunspell-1.3.0.dylib - libexception_handler.dylib - libcollada14dom.dylib + libndofdev.dylib ) - # fmod is statically linked on darwin - set(fmod_files "") + if (FMODEX) + set(debug_files ${debug_files} libfmodexL.dylib) + set(release_files ${release_files} libfmodex.dylib) + endif (FMODEX) elseif(LINUX) # linux is weird, multiple side by side configurations aren't supported @@ -240,6 +204,7 @@ elseif(LINUX) libvivoxplatform.so libvivoxsdk.so SLVoice + # ca-bundle.crt #No cert for linux. It is actually still 3.2SDK. ) # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables # or ARCH_PREBUILT_DIRS @@ -254,43 +219,31 @@ elseif(LINUX) libapr-1.so.0 libaprutil-1.so.0 libatk-1.0.so - libboost_program_options-mt.so.${BOOST_VERSION}.0 - libboost_regex-mt.so.${BOOST_VERSION}.0 - libboost_thread-mt.so.${BOOST_VERSION}.0 - libboost_filesystem-mt.so.${BOOST_VERSION}.0 - libboost_signals-mt.so.${BOOST_VERSION}.0 - libboost_system-mt.so.${BOOST_VERSION}.0 - libbreakpad_client.so.0 - libcollada14dom.so - libcrypto.so.1.0.0 libdb-5.1.so libexpat.so libexpat.so.1 - libglod.so - libgmock_main.so - libgmock.so.0 + libfreetype.so.6.6.2 + libfreetype.so.6 + libGLOD.so libgmodule-2.0.so libgobject-2.0.so - libgtest_main.so - libgtest.so.0 libhunspell-1.3.so.0.0.0 - libminizip.so libopenal.so libopenjpeg.so - libssl.so libuuid.so.16 libuuid.so.16.0.22 - libssl.so.1.0.0 - libfontconfig.so.1.4.4 + libfontconfig.so.1.8.0 + libfontconfig.so.1 ) if (USE_TCMALLOC) set(release_files ${release_files} "libtcmalloc_minimal.so") endif (USE_TCMALLOC) - if (FMOD) - set(release_files ${release_files} "libfmod-3.75.so") - endif (FMOD) + if (FMODEX) + set(debug_files ${debug_files} "libfmodexL.so") + set(release_files ${release_files} "libfmodex.so") + endif (FMODEX) else(WINDOWS) message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") @@ -305,8 +258,6 @@ else(WINDOWS) set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") set(release_files "") - set(fmod_files "") - set(debug_llkdu_src "") set(debug_llkdu_dst "") set(release_llkdu_src "") @@ -369,33 +320,9 @@ copy_if_different( ) set(third_party_targets ${third_party_targets} ${out_targets}) -if (FMOD_SDK_DIR) - copy_if_different( - ${FMOD_SDK_DIR} - "${CMAKE_CURRENT_BINARY_DIR}/Debug" - out_targets - ${fmod_files} - ) - set(all_targets ${all_targets} ${out_targets}) - copy_if_different( - ${FMOD_SDK_DIR} - "${CMAKE_CURRENT_BINARY_DIR}/Release" - out_targets - ${fmod_files} - ) - set(all_targets ${all_targets} ${out_targets}) - copy_if_different( - ${FMOD_SDK_DIR} - "${CMAKE_CURRENT_BINARY_DIR}/RelWithDbgInfo" - out_targets - ${fmod_files} - ) - set(all_targets ${all_targets} ${out_targets}) -endif (FMOD_SDK_DIR) - -if(NOT STANDALONE) +if(NOT USESYSTEMLIBS) add_custom_target( stage_third_party_libs ALL DEPENDS ${third_party_targets} ) -endif(NOT STANDALONE) +endif(NOT USESYSTEMLIBS) |