diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/cmake/DeploySharedLibs.cmake | 42 | ||||
| -rw-r--r-- | indra/cmake/LLSharedLibs.cmake | 24 | ||||
| -rw-r--r-- | indra/lib/python/indra/util/llmanifest.py | 5 | ||||
| -rw-r--r-- | indra/mac_crash_logger/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | indra/newview/CMakeLists.txt | 153 | ||||
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 94 | ||||
| -rw-r--r-- | indra/test_apps/llplugintest/CMakeLists.txt | 47 | ||||
| -rw-r--r-- | indra/win_crash_logger/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | indra/win_updater/CMakeLists.txt | 6 | 
9 files changed, 197 insertions, 181 deletions
| diff --git a/indra/cmake/DeploySharedLibs.cmake b/indra/cmake/DeploySharedLibs.cmake index a7e772bd75..663c272e50 100644 --- a/indra/cmake/DeploySharedLibs.cmake +++ b/indra/cmake/DeploySharedLibs.cmake @@ -6,8 +6,14 @@  # BIN_NAME= The full path the the binary to search for dependecies.  # SEARCH_DIRS= The full paths to dirs to search for dependencies.  # DST_PATH= The full path where the dependecies will be copied.  -include(GetPrerequisites) + +# *FIX:Mani - I pulled in the CMake 2.8 GetPrerequisites.cmake script here, because it works on windows where 2.6 did not. +# Once we have officially upgraded to 2.8 we can just use that version of GetPrerequisites.cmake. +get_filename_component(current_dir ${CMAKE_CURRENT_LIST_FILE} PATH) +include(${current_dir}/GetPrerequisites_2_8.cmake) +  message("Getting recursive dependencies for file: ${BIN_NAME}") +  set(EXCLUDE_SYSTEM 1)  set(RECURSE 1)  get_filename_component(EXE_PATH ${BIN_NAME} PATH) @@ -26,42 +32,42 @@ endif(DEP_FILES)  foreach(DEP_FILE ${DEP_FILES})    if(FOUND_FILES) -	list(FIND FOUND_FILES ${DEP_FILE} FOUND) +    list(FIND FOUND_FILES ${DEP_FILE} FOUND)    else(FOUND_FILES) -	set(FOUND -1) +    set(FOUND -1)    endif(FOUND_FILES)    if(FOUND EQUAL -1) -	find_path(DEP_PATH ${DEP_FILE} PATHS ${SEARCH_DIRS} NO_DEFAULT_PATH) -	if(DEP_PATH) -	  set(FOUND_FILES ${FOUND_FILES} "${DEP_PATH}/${DEP_FILE}") -	  set(DEP_PATH NOTFOUND) #reset DEP_PATH for the next find_path call. -	else(DEP_PATH) -	  set(MISSING_FILES ${MISSING_FILES} ${DEP_FILE}) -	endif(DEP_PATH) +    find_path(DEP_PATH ${DEP_FILE} PATHS ${SEARCH_DIRS} NO_DEFAULT_PATH) +    if(DEP_PATH) +      set(FOUND_FILES ${FOUND_FILES} "${DEP_PATH}/${DEP_FILE}") +      set(DEP_PATH NOTFOUND) #reset DEP_PATH for the next find_path call. +    else(DEP_PATH) +      set(MISSING_FILES ${MISSING_FILES} ${DEP_FILE}) +    endif(DEP_PATH)    endif(FOUND EQUAL -1)  endforeach(DEP_FILE)  if(MISSING_FILES)    message("Missing:")    foreach(FILE ${MISSING_FILES}) -	message("  ${FILE}") +    message("  ${FILE}")    endforeach(FILE)    message("Searched in:")    foreach(SEARCH_DIR ${SEARCH_DIRS}) -	message("  ${SEARCH_DIR}") +    message("  ${SEARCH_DIR}")    endforeach(SEARCH_DIR)    message(FATAL_ERROR "Failed")  endif(MISSING_FILES)  if(FOUND_FILES)    foreach(FILE ${FOUND_FILES}) -	get_filename_component(DST_FILE ${FILE} NAME) -	set(DST_FILE "${DST_PATH}/${DST_FILE}") -	message("Copying ${FILE} to ${DST_FILE}") -	execute_process( -	  COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE} ${DST_FILE} -	  ) +    get_filename_component(DST_FILE ${FILE} NAME) +    set(DST_FILE "${DST_PATH}/${DST_FILE}") +    message("Copying ${FILE} to ${DST_FILE}") +    execute_process( +      COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE} ${DST_FILE} +      )    endforeach(FILE ${FOUND_FILES})  endif(FOUND_FILES)  message("Success!") diff --git a/indra/cmake/LLSharedLibs.cmake b/indra/cmake/LLSharedLibs.cmake index a8c81609bb..28f0e7ad12 100644 --- a/indra/cmake/LLSharedLibs.cmake +++ b/indra/cmake/LLSharedLibs.cmake @@ -1,9 +1,21 @@ + +if(DARWIN) +  set(TMP_PATH "../Resource") +elseif(LINUX) +  set(TMP_PATH "../lib") +else(DARWIN) +  set(TMP_PATH ".") +endif(DARWIN) + + set(SHARED_LIB_REL_PATH ${TMP_PATH} CACHE STRING "Relative path from executable to shared libs") +  # ll_deploy_sharedlibs_command  # target_exe: the cmake target of the executable for which the shared libs will be deployed.  # search_dirs: a list of dirs to search for the dependencies  # dst_path: path to copy deps to, relative to the output location of the target_exe  macro(ll_deploy_sharedlibs_command target_exe search_dirs dst_path)     get_target_property(OUTPUT_LOCATION ${target_exe} LOCATION) +  get_filename_component(OUTPUT_PATH ${OUTPUT_LOCATION} PATH)    if(DARWIN)      get_target_property(IS_BUNDLE ${target_exe} MACOSX_BUNDLE) @@ -12,16 +24,22 @@ macro(ll_deploy_sharedlibs_command target_exe search_dirs dst_path)        set(OUTPUT_PATH ${OUTPUT_LOCATION}.app/Contents/MacOS)        set(OUTPUT_LOCATION ${OUTPUT_PATH}/${TARGET_FILE})      endif(IS_BUNDLE) -  else(DARWIN) -    message(FATAL_ERROR "Only darwin currently supported!")    endif(DARWIN) + +  if(WINDOWS) +    set(REAL_SEARCH_DIRS ${search_dirs} "$ENV{SystemRoot}/system32") +  endif(WINDOWS) + +  if(LINUX) +    message(FATAL_ERROR "LINUX Unsupported!?!") +  endif(LINUX)    add_custom_command(      TARGET ${target_exe} POST_BUILD      COMMAND ${CMAKE_COMMAND}       ARGS      "-DBIN_NAME=\"${OUTPUT_LOCATION}\"" -    "-DSEARCH_DIRS=\"${search_dirs}\"" +    "-DSEARCH_DIRS=\"${REAL_SEARCH_DIRS}\""      "-DDST_PATH=\"${OUTPUT_PATH}/${dst_path}\""      "-P"      "${CMAKE_SOURCE_DIR}/cmake/DeploySharedLibs.cmake" diff --git a/indra/lib/python/indra/util/llmanifest.py b/indra/lib/python/indra/util/llmanifest.py index 59c84e571b..8c05210618 100644 --- a/indra/lib/python/indra/util/llmanifest.py +++ b/indra/lib/python/indra/util/llmanifest.py @@ -120,9 +120,8 @@ ARGUMENTS=[           default=""),      dict(name='build', description='Build directory.', default=DEFAULT_SRCTREE),      dict(name='configuration', -         description="""The build configuration used. Only used on OS X for -        now, but it could be used for other platforms as well.""", -         default="Universal"), +         description="""The build configuration used.""", +         default="Release"),      dict(name='dest', description='Destination directory.', default=DEFAULT_SRCTREE),      dict(name='grid',           description="""Which grid the client will try to connect to. Even diff --git a/indra/mac_crash_logger/CMakeLists.txt b/indra/mac_crash_logger/CMakeLists.txt index 1d6494fecf..1c5a37c4c5 100644 --- a/indra/mac_crash_logger/CMakeLists.txt +++ b/indra/mac_crash_logger/CMakeLists.txt @@ -79,3 +79,4 @@ ll_deploy_sharedlibs_command(    mac-crash-logger    "${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR};${ARCH_PREBUILT_DIRS}"     "../Resources")  + diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 2978ef210f..ee76b1b6ce 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -185,7 +185,7 @@ set(viewer_SOURCE_FILES      llfloatermediasettings.cpp      llfloatermemleak.cpp      llfloaternamedesc.cpp -	llfloaternearbymedia.cpp +        llfloaternearbymedia.cpp      llfloaternotificationsconsole.cpp      llfloateropenobject.cpp      llfloaterparcel.cpp @@ -674,7 +674,7 @@ set(viewer_HEADER_FILES      llfloatermediasettings.h      llfloatermemleak.h      llfloaternamedesc.h -	llfloaternearbymedia.h +        llfloaternearbymedia.h      llfloaternotificationsconsole.h      llfloateropenobject.h      llfloaterparcel.h @@ -1156,7 +1156,7 @@ if (WINDOWS)      if (NOT STANDALONE)          list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES}) -    endif (NOT STANDALONE)	 +    endif (NOT STANDALONE)            find_library(DINPUT_LIBRARY dinput8 ${DIRECTX_LIBRARY_DIR})      find_library(DXGUID_LIBRARY dxguid ${DIRECTX_LIBRARY_DIR}) @@ -1338,7 +1338,7 @@ file(GLOB EVENT_HOST_SCRIPT_GLOB_LIST       ${CMAKE_CURRENT_SOURCE_DIR}/../viewer_components/*.py)  list(APPEND EVENT_HOST_SCRIPTS ${EVENT_HOST_SCRIPT_GLOB_LIST}) -set(PACKAGE OFF CACHE BOOL +set(PACKAGE ON CACHE BOOL      "Add a package target that builds an installer package.")  if (WINDOWS) @@ -1367,7 +1367,7 @@ if (WINDOWS)                ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.sln                --workingdir                ${VIEWER_BINARY_NAME} -              ${CMAKE_CURRENT_SOURCE_DIR} +              "./${CMAKE_CFG_INTDIR}"              COMMENT "Setting the ${VIEWER_BINARY_NAME} working directory for debugging."              )      endif (NOT UNATTENDED) @@ -1384,85 +1384,87 @@ if (WINDOWS)          )      add_custom_command( -        TARGET ${VIEWER_BINARY_NAME} PRE_BUILD -        COMMAND ${CMAKE_COMMAND} -        ARGS -          -E -          copy_if_different -          ${CMAKE_CURRENT_SOURCE_DIR}/../../etc/message.xml -          ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings/message.xml -        COMMENT "Copying message.xml to the runtime folder." -        ) +      TARGET ${VIEWER_BINARY_NAME} PRE_BUILD +      COMMAND ${CMAKE_COMMAND} +      ARGS +        -E +        copy_if_different +        ${CMAKE_CURRENT_SOURCE_DIR}/../../etc/message.xml +        ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings/message.xml +      COMMENT "Copying message.xml to the runtime folder." +      ) -    if(WINDOWS) -      # Copy Win Libs... -      # This happens at build time, not config time. We can't glob files in this cmake. -      # *FIX:Mani Write a sub script to glob the files... -      # *FIX:Mani Use actually dependencies rather than bulk copy. -      add_custom_command( -        TARGET ${VIEWER_BINARY_NAME} PRE_BUILD -        COMMAND ${CMAKE_COMMAND} -        ARGS -          -E -          copy_directory -          ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR} -          ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} -        COMMENT "Copying staged dlls." -        ) +    add_custom_command( +      TARGET ${VIEWER_BINARY_NAME} POST_BUILD +      COMMAND ${PYTHON_EXECUTABLE} +      ARGS +        ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py +        --actions=copy +        --artwork=${ARTWORK_DIR} +        --build=${CMAKE_CURRENT_BINARY_DIR} +        --configuration=${CMAKE_CFG_INTDIR} +        --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} +        --grid=${GRID} +        --source=${CMAKE_CURRENT_SOURCE_DIR} +      DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py +      COMMENT "Performing viewer_manifest copy" +      ) -      add_dependencies(${VIEWER_BINARY_NAME} stage_third_party_libs llcommon) -      if(LLKDU_LIBRARY) -	# kdu may not exist! -	add_dependencies(${VIEWER_BINARY_NAME} llkdu) -      endif(LLKDU_LIBRARY) -    endif(WINDOWS)     +    add_dependencies(${VIEWER_BINARY_NAME} stage_third_party_libs llcommon) +     +    if(LLKDU_LIBRARY) +      # kdu may not exist! +      add_dependencies(${VIEWER_BINARY_NAME} llkdu) +    endif(LLKDU_LIBRARY)      if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)        add_dependencies(${VIEWER_BINARY_NAME} copy_win_scripts)      endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts) -    add_custom_command( +    add_dependencies(${VIEWER_BINARY_NAME}  +      SLPlugin  +      media_plugin_quicktime  +      media_plugin_webkit +      windows-updater  +      windows-crash-logger +      ) + +    if (PACKAGE) +      add_custom_command( +        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2 +        COMMAND ${PYTHON_EXECUTABLE} +        ARGS +          ${CMAKE_CURRENT_SOURCE_DIR}/event_host_manifest.py +          ${CMAKE_CURRENT_SOURCE_DIR}/.. +          ${CMAKE_CURRENT_BINARY_DIR} +          ${CMAKE_CFG_INTDIR} +        DEPENDS  +          lleventhost  +          ${EVENT_HOST_SCRIPTS} +          ${CMAKE_CURRENT_SOURCE_DIR}/event_host_manifest.py +        ) + +      add_custom_command(          OUTPUT ${CMAKE_CFG_INTDIR}/touched.bat          COMMAND ${PYTHON_EXECUTABLE}          ARGS            ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py -          --configuration=${CMAKE_CFG_INTDIR} +          --artwork=${ARTWORK_DIR} +          --build=${CMAKE_CURRENT_BINARY_DIR}            --channel=${VIEWER_CHANNEL} -          --login_channel=${VIEWER_LOGIN_CHANNEL} +          --configuration=${CMAKE_CFG_INTDIR} +          --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}            --grid=${GRID} +          --login_channel=${VIEWER_LOGIN_CHANNEL}            --source=${CMAKE_CURRENT_SOURCE_DIR} -              --artwork=${ARTWORK_DIR} -              --build=${CMAKE_CURRENT_BINARY_DIR} -              --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} -              --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat +          --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat          DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py          ) -    add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit) - -    if (PACKAGE) -      add_custom_command( -          OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2 -          COMMAND ${PYTHON_EXECUTABLE} -          ARGS -            ${CMAKE_CURRENT_SOURCE_DIR}/event_host_manifest.py -            ${CMAKE_CURRENT_SOURCE_DIR}/.. -            ${CMAKE_CURRENT_BINARY_DIR} -            ${CMAKE_CFG_INTDIR} - -          DEPENDS  -            lleventhost  -            ${EVENT_HOST_SCRIPTS} -            ${CMAKE_CURRENT_SOURCE_DIR}/event_host_manifest.py) - -      add_custom_target(package ALL  -          DEPENDS  -            ${CMAKE_CFG_INTDIR}/touched.bat) -            # temporarily disable packaging of event_host until hg subrepos get -            # sorted out on the parabuild cluster... -            #${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2) -      add_dependencies(package windows-updater windows-crash-logger) - +      add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat) +        # temporarily disable packaging of event_host until hg subrepos get +        # sorted out on the parabuild cluster... +        #${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2)      endif (PACKAGE)  endif (WINDOWS) @@ -1525,15 +1527,16 @@ if (LINUX)        COMMAND ${PYTHON_EXECUTABLE}        ARGS          ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py -        --grid=${GRID} -        --channel=${VIEWER_CHANNEL} -        --login_channel=${VIEWER_LOGIN_CHANNEL} -        --installer_name=${product}          --arch=${ARCH} -        --source=${CMAKE_CURRENT_SOURCE_DIR}          --artwork=${ARTWORK_DIR}          --build=${CMAKE_CURRENT_BINARY_DIR} +        --channel=${VIEWER_CHANNEL} +        --configuration=${CMAKE_CFG_INTDIR}          --dest=${CMAKE_CURRENT_BINARY_DIR}/packaged +        --grid=${GRID} +        --installer_name=${product} +        --login_channel=${VIEWER_LOGIN_CHANNEL} +        --source=${CMAKE_CURRENT_SOURCE_DIR}          --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched        DEPENDS secondlife-stripped ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py        ) @@ -1568,13 +1571,13 @@ if (DARWIN)      COMMAND ${PYTHON_EXECUTABLE}      ARGS        ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py -      --grid=${GRID}        --actions=copy -      --configuration=${CMAKE_CFG_INTDIR} -      --source=${CMAKE_CURRENT_SOURCE_DIR}        --artwork=${ARTWORK_DIR}        --build=${CMAKE_CURRENT_BINARY_DIR} +      --configuration=${CMAKE_CFG_INTDIR}        --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app +      --grid=${GRID} +      --source=${CMAKE_CURRENT_SOURCE_DIR}      DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py      ) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index b85d31d1ac..7e5c30a978 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -231,8 +231,21 @@ class WindowsManifest(ViewerManifest):                                 'llplugin', 'slplugin', self.args['configuration'], "slplugin.exe"),                    "slplugin.exe") -        # need to get the llcommon.dll from the build directory as well -        if self.prefix(src=self.args['configuration'], dst=""): +        self.disable_manifest_check() + +        # Get shared libs from the shared libs staging directory +        if self.prefix(src=os.path.join(os.pardir, 'sharedlibs', self.args['configuration']), +                       dst=""): + +            self.enable_crt_manifest_check() +             +            # Get kdu dll, continue if missing. +            try: +                self.path('%s/llkdu.dll' % self.args['configuration'], dst='llkdu.dll') +            except RuntimeError: +                print "Skipping llkdu.dll" + +            # Get llcommon and deps. If missing assume static linkage and continue.              try:                  self.path('llcommon.dll')                  self.path('libapr-1.dll') @@ -242,22 +255,41 @@ class WindowsManifest(ViewerManifest):                  print err.message                  print "Skipping llcommon.dll (assuming llcommon was linked statically)" -            self.end_prefix() +            self.disable_manifest_check() -        # need to get the kdu dll from the build directory as well -        try: -            self.path('%s/llkdu.dll' % self.args['configuration'], dst='llkdu.dll') -        except RuntimeError: -            print "Skipping llkdu.dll" - -        self.disable_manifest_check() - -        # For textures -        if self.prefix(src=self.args['configuration'], dst=""): -            if(self.args['configuration'].lower() == 'debug'): +            # For textures +            if self.args['configuration'].lower() == 'debug':                  self.path("openjpegd.dll")              else:                  self.path("openjpeg.dll") + +            # These need to be installed as a SxS assembly, currently a 'private' assembly. +            # See http://msdn.microsoft.com/en-us/library/ms235291(VS.80).aspx +            if self.args['configuration'].lower() == 'debug': +                self.path("msvcr80d.dll") +                self.path("msvcp80d.dll") +                self.path("Microsoft.VC80.DebugCRT.manifest") +            else: +                self.path("msvcr80.dll") +                self.path("msvcp80.dll") +                self.path("Microsoft.VC80.CRT.manifest") + +            # Vivox runtimes +            self.path("SLVoice.exe") +            self.path("alut.dll") +            self.path("vivoxsdk.dll") +            self.path("ortp.dll") +            self.path("wrap_oal.dll") + +            # For google-perftools tcmalloc allocator. +            try: +                if self.args['configuration'].lower() == 'debug': +                    self.path('libtcmalloc_minimal-debug.dll') +                else: +                    self.path('libtcmalloc_minimal.dll') +            except: +                print "Skipping libtcmalloc_minimal.dll" +              self.end_prefix()          self.path(src="licenses-win32.txt", dst="licenses.txt") @@ -270,6 +302,7 @@ class WindowsManifest(ViewerManifest):          self.path("fmod.dll")          self.enable_no_crt_manifest_check() +                  # Media plugins - QuickTime          if self.prefix(src='../media_plugins/quicktime/%s' % self.args['configuration'], dst="llplugin"):              self.path("media_plugin_quicktime.dll") @@ -302,28 +335,6 @@ class WindowsManifest(ViewerManifest):          self.disable_manifest_check() -        # These need to be installed as a SxS assembly, currently a 'private' assembly. -        # See http://msdn.microsoft.com/en-us/library/ms235291(VS.80).aspx -        if self.prefix(src=self.args['configuration'], dst=""): -            if self.args['configuration'] == 'Debug': -                self.path("msvcr80d.dll") -                self.path("msvcp80d.dll") -                self.path("Microsoft.VC80.DebugCRT.manifest") -            else: -                self.path("msvcr80.dll") -                self.path("msvcp80.dll") -                self.path("Microsoft.VC80.CRT.manifest") -            self.end_prefix() - -        # Vivox runtimes -        if self.prefix(src=self.args['configuration'], dst=""): -            self.path("SLVoice.exe") -            self.path("alut.dll") -            self.path("vivoxsdk.dll") -            self.path("ortp.dll") -            self.path("wrap_oal.dll") -            self.end_prefix() -          # pull in the crash logger and updater from other projects          # tag:"crash-logger" here as a cue to the exporter          self.path(src='../win_crash_logger/%s/windows-crash-logger.exe' % self.args['configuration'], @@ -331,17 +342,6 @@ class WindowsManifest(ViewerManifest):          self.path(src='../win_updater/%s/windows-updater.exe' % self.args['configuration'],                    dst="updater.exe") -        # For google-perftools tcmalloc allocator. -        if self.prefix(src=self.args['configuration'], dst=""): -            try: -                if self.args['configuration'] == 'Debug': -                    self.path('libtcmalloc_minimal-debug.dll') -                else: -                    self.path('libtcmalloc_minimal.dll') -            except: -                print "Skipping libtcmalloc_minimal.dll" -            self.end_prefix() -      def nsi_file_commands(self, install=True):          def wpath(path):              if path.endswith('/') or path.endswith(os.path.sep): diff --git a/indra/test_apps/llplugintest/CMakeLists.txt b/indra/test_apps/llplugintest/CMakeLists.txt index 53b981cccd..400f63cef0 100644 --- a/indra/test_apps/llplugintest/CMakeLists.txt +++ b/indra/test_apps/llplugintest/CMakeLists.txt @@ -7,6 +7,7 @@ include(FindOpenGL)  include(LLCommon)  include(LLPlugin)  include(Linking) +include(LLSharedLibs)  include(PluginAPI)  include(LLImage)  include(LLMath) @@ -324,27 +325,7 @@ if (DARWIN)        make_directory        ${PLUGINS_DESTINATION_DIR}      COMMENT "Creating Resources directory in app bundle." -  ) - -  # copy the llcommon dylib and its dependencies to Contents/Resources. -  get_target_property(BUILT_LLCOMMON llcommon LOCATION) -  add_custom_command(TARGET llmediaplugintest POST_BUILD -    COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_LLCOMMON}  ${PLUGINS_DESTINATION_DIR} -    DEPENDS ${BUILT_LLCOMMON} -  ) -  # FIXME: these paths should come from somewhere reliable.  The canonical list seems to be in indra/newview/viewer_manifest.py -  add_custom_command(TARGET llmediaplugintest POST_BUILD -    COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libapr-1.0.3.7.dylib  ${PLUGINS_DESTINATION_DIR} -    DEPENDS ${ARCH_PREBUILT_DIRS_RELEASE}/libapr-1.0.3.7.dylib -  ) -  add_custom_command(TARGET llmediaplugintest POST_BUILD -    COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libaprutil-1.0.3.8.dylib  ${PLUGINS_DESTINATION_DIR} -    DEPENDS ${ARCH_PREBUILT_DIRS_RELEASE}/libaprutil-1.0.3.8.dylib -  ) -  add_custom_command(TARGET llmediaplugintest POST_BUILD -    COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libexpat.0.5.0.dylib  ${PLUGINS_DESTINATION_DIR} -    DEPENDS ${ARCH_PREBUILT_DIRS_RELEASE}/libexpat.0.5.0.dylib -  ) +  )   else (DARWIN)    set(PLUGINS_DESTINATION_DIR      ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ @@ -497,22 +478,18 @@ if(WINDOWS)      ${plugintest_release_files}      )    set(plugin_test_targets ${plugin_test_targets} ${out_targets}) - -  copy_if_different( -    "${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}" -    "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}" -    out_targets -    llcommon.dll libapr-1.dll libaprutil-1.dll libapriconv-1.dll -    ) -  set(plugin_test_targets ${plugin_test_targets} ${out_targets}) - -  add_custom_target(copy_plugintest_libs ALL -    DEPENDS  -      ${plugin_test_targets} -      llcommon -    ) +  +   add_custom_target(copy_plugintest_libs ALL +     DEPENDS  +     ${plugin_test_targets} +     )    add_dependencies(llmediaplugintest copy_plugintest_libs)  endif(WINDOWS) +ll_deploy_sharedlibs_command( +  llmediaplugintest +  "${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR};${ARCH_PREBUILT_DIRS}"  +  ${SHARED_LIB_REL_PATH} +  )  diff --git a/indra/win_crash_logger/CMakeLists.txt b/indra/win_crash_logger/CMakeLists.txt index 0bd59f0990..e141d7aa52 100644 --- a/indra/win_crash_logger/CMakeLists.txt +++ b/indra/win_crash_logger/CMakeLists.txt @@ -11,6 +11,7 @@ include(LLVFS)  include(LLWindow)  include(LLXML)  include(Linking) +include(LLSharedLibs)  include_directories(      ${LLCOMMON_INCLUDE_DIRS} @@ -87,3 +88,8 @@ if (WINDOWS)          LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\""          )  endif (WINDOWS) + +ll_deploy_sharedlibs_command( +  windows-crash-logger +  "${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}"  +  ".")  diff --git a/indra/win_updater/CMakeLists.txt b/indra/win_updater/CMakeLists.txt index dedb7cfcc7..9e18555ea9 100644 --- a/indra/win_updater/CMakeLists.txt +++ b/indra/win_updater/CMakeLists.txt @@ -33,3 +33,9 @@ set_target_properties(windows-updater      LINK_FLAGS "/NODEFAULTLIB:LIBCMT"      LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\""      ) + +# The windows-updater +#ll_deploy_sharedlibs_command( +#  windows-updater +#  "${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}"  +#  ".")  | 
