diff options
| author | Mark Palange (Mani) <palange@lindenlab.com> | 2009-11-06 12:54:57 -0800 | 
|---|---|---|
| committer | Mark Palange (Mani) <palange@lindenlab.com> | 2009-11-06 12:54:57 -0800 | 
| commit | 913c29f70990493b1c66e429140eb3535f00558c (patch) | |
| tree | 6156e5f1d24f619d9e4461e4f1cd055da3d1de12 /indra/newview | |
| parent | 3f8172707833f30d3c39d165c975bd3d97511080 (diff) | |
| parent | 9317e46a878b36d8f44bbeb4a06ad22d66772e66 (diff) | |
Automated merge with http://hg.lindenlab.com/viewer/viewer-2-0
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/CMakeLists.txt | 153 | ||||
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 94 | 
2 files changed, 125 insertions, 122 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index f10db9330c..b63183026a 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 @@ -679,7 +679,7 @@ set(viewer_HEADER_FILES      llfloatermediasettings.h      llfloatermemleak.h      llfloaternamedesc.h -	llfloaternearbymedia.h +        llfloaternearbymedia.h      llfloaternotificationsconsole.h      llfloateropenobject.h      llfloaterparcel.h @@ -1165,7 +1165,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}) @@ -1347,7 +1347,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) @@ -1376,7 +1376,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) @@ -1393,85 +1393,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) @@ -1534,15 +1536,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        ) @@ -1577,13 +1580,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):  | 
