diff options
author | Signal Linden <signal@lindenlab.com> | 2023-04-10 17:39:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-10 17:39:34 -0700 |
commit | e9d2f57866e7e4dcb46b21bef525eb9955691578 (patch) | |
tree | 9043f2004ed8e39642aa625c17bc8e9b23e9cbd0 /indra | |
parent | 53d4e69c514374622afb93f81067aaeec64a443b (diff) | |
parent | a0cdaa75a920861875b45207366d164cc8732842 (diff) |
Merge pull request #160 from secondlife/signal/contribuild
Cherry-pick basic build into contribute
Diffstat (limited to 'indra')
-rw-r--r-- | indra/cmake/00-Common.cmake | 2 | ||||
-rw-r--r-- | indra/cmake/Python.cmake | 8 | ||||
-rw-r--r-- | indra/newview/installers/windows/installer_template.nsi | 2 | ||||
-rwxr-xr-x | indra/newview/viewer_manifest.py | 30 |
4 files changed, 18 insertions, 24 deletions
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index c848d00710..a44fe5a8d5 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -61,7 +61,7 @@ if (WINDOWS) # CP changed to only append the flag for 32bit builds - on 64bit builds, # locally at least, the build output is spammed with 1000s of 'D9002' # warnings about this switch being ignored. - if( ADDRESS_SIZE EQUAL 32 ) + if(ADDRESS_SIZE EQUAL 32 AND DEFINED ENV{"TEAMCITY_PROJECT_NAME"}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /p:PreferredToolArchitecture=x64") endif() # zlib has assembly-language object files incompatible with SAFESEH diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index dbf5033ce5..f9259f6c2b 100644 --- a/indra/cmake/Python.cmake +++ b/indra/cmake/Python.cmake @@ -2,7 +2,11 @@ set(PYTHONINTERP_FOUND) -if (WINDOWS) +if (DEFINED ENV{PYTHON}) + # Allow python executable to be explicitly set + set(python "$ENV{PYTHON}") + set(PYTHONINTERP_FOUND ON) +elseif (WINDOWS) # On Windows, explicitly avoid Cygwin Python. # if the user has their own version of Python installed, prefer that @@ -43,7 +47,7 @@ else() if (python) set(PYTHONINTERP_FOUND ON) endif (python) -endif (WINDOWS) +endif (DEFINED ENV{PYTHON}) if (NOT python) message(FATAL_ERROR "No Python interpreter found") diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index 60e26274cb..778d32e66c 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -524,6 +524,7 @@ FunctionEnd ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Make sure the user can uninstall
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+/* Unused
Function un.CheckIfAdministrator
DetailPrint $(CheckAdministratorUnInstDP)
UserInfo::GetAccountType
@@ -535,6 +536,7 @@ lbl_is_admin: Return
FunctionEnd
+*/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Function CheckWillUninstallV2
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 89481add29..c312c1d248 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -790,27 +790,15 @@ class WindowsManifest(ViewerManifest): # Check two paths, one for Program Files, and one for Program Files (x86). # Yay 64bit windows. - for ProgramFiles in 'ProgramFiles', 'ProgramFiles(x86)': - NSIS_path = os.path.expandvars(r'${%s}\NSIS\makensis.exe' % ProgramFiles) - if os.path.exists(NSIS_path): - break - installer_created=False - nsis_attempts=3 - nsis_retry_wait=15 - for attempt in range(nsis_attempts): - try: - self.run_command([NSIS_path, '/V2', self.dst_path_of(tempfile)]) - except ManifestError as err: - if attempt+1 < nsis_attempts: - print("nsis failed, waiting %d seconds before retrying" % nsis_retry_wait, file=sys.stderr) - time.sleep(nsis_retry_wait) - nsis_retry_wait*=2 - else: - # NSIS worked! Done! - break - else: - print("Maximum nsis attempts exceeded; giving up", file=sys.stderr) - raise + nsis_path = "makensis.exe" + for program_files in '${programfiles}', '${programfiles(x86)}': + for nesis_path in 'NSIS', 'NSIS\\Unicode': + possible_path = os.path.expandvars(f"{program_files}\\{nesis_path}\\makensis.exe") + if os.path.exists(possible_path): + nsis_path = possible_path + break + + self.run_command([possible_path, '/V2', self.dst_path_of(tempfile)]) self.sign(installer_file) self.created_path(self.dst_path_of(installer_file)) |