Update to VS2019, you now need autobuild-1.1 on windows

This commit is contained in:
Lirusaito
2019-04-18 23:49:47 -04:00
parent d933472a16
commit b28313559d
5 changed files with 225 additions and 231 deletions

View File

@@ -585,6 +585,40 @@
<key>version</key>
<string>1</string>
</map>
<key>discord-rpc</key>
<map>
<key>canonical_repo</key>
<string>https://bitbucket.org/alchemyviewer/3p-discord-rpc</string>
<key>copyright</key>
<string>Copyright 2017 Discord, Inc.</string>
<key>description</key>
<string>Discord Remote Procedure Call library</string>
<key>license</key>
<string>MIT</string>
<key>license_file</key>
<string>LICENSES/discord-rpc.txt</string>
<key>name</key>
<string>discord-rpc</string>
<key>platforms</key>
<map>
<key>windows64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>76bd78e14034e9c518c1a201074d568a</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>http://depot.alchemyviewer.org/pub/packages/windows64/msvc-1916/discord_rpc-3.4.0.190570542-windows64-190570542.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>version</key>
<string>3.4.0.190570542</string>
</map>
<key>dullahan</key>
<map>
<key>copyright</key>
@@ -768,7 +802,7 @@
<key>fmodstudio</key>
<map>
<key>copyright</key>
<string>FMOD Studio, copyright © Firelight Technologies Pty, Ltd., 1994-2015.</string>
<string>FMOD Studio, copyright (c) Firelight Technologies Pty, Ltd., 2012-2017.</string>
<key>description</key>
<string>FMOD Studio audio system library</string>
<key>license</key>
@@ -784,11 +818,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>a2badcf46277f7547bab0963fe262696</string>
<string>a3ccf7916d1e0b6f01370978b661c139</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>https://bitbucket.org/alchemyviewer/publiclibs-darwin/downloads/fmodstudio-1.08.01-darwin-201604080928.tar.bz2</string>
<string>https://depot.alchemyviewer.org/pub/darwin/lib/fmodstudio-1.10.02-darwin-201712262058.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@@ -812,11 +846,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>be09dc1f144c936790236b94190815b4</string>
<string>54dbd41322a08a1fc333ca6d96af5502</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>https://depot.alchemyviewer.org/pub/linux64/lib/fmodstudio-1.08.04-linux64-201605301500.tar.bz2</string>
<string>https://depot.alchemyviewer.org/pub/linux64/lib/fmodstudio-1.10.00-linux64-201709282320.tar.bz2</string>
</map>
<key>name</key>
<string>linux64</string>
@@ -840,18 +874,18 @@
<key>archive</key>
<map>
<key>hash</key>
<string>c2c45c2ebd9fd930098aa2a3b85bbe5f</string>
<string>779ae33c6b84656295bd6cf50a69c830</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>https://depot.alchemyviewer.org/pub/windows64/lib/fmodstudio-1.10.02-windows64-201712251435.tar.bz2</string>
<string>http://depot.alchemyviewer.org/pub/packages/windows64/msvc/fmodstudio-1.10.10.190360453-windows64-190360453.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>version</key>
<string>1.10.02</string>
<string>1.10.10.190360453</string>
</map>
<key>fontconfig</key>
<map>
@@ -1128,13 +1162,13 @@
<key>glod</key>
<map>
<key>copyright</key>
<string>Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University and David Luebke, Brenden Schubert, University of Virginia. All rights reserved.</string>
<string>Copyright 2003 Jonathan Cohen, Nat Duca, David Luebke, Brenden Schubert - Johns Hopkins University and University of Virginia</string>
<key>description</key>
<string>Geometric Level of Detail library</string>
<key>license</key>
<string>GLOD Open-Source License 1.0</string>
<string>GLOD Open-Source License Version 1.0</string>
<key>license_file</key>
<string>LICENSES/glod.txt</string>
<string>LICENSES/GLOD.txt</string>
<key>name</key>
<string>glod</string>
<key>platforms</key>
@@ -1144,23 +1178,37 @@
<key>archive</key>
<map>
<key>hash</key>
<string>6c6b3b06a4305c2da0aad1de132e6a07</string>
<string>71e678d70e276fc42a56926fc28a7abd</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>https://bitbucket.org/alchemyviewer/publiclibs-darwin/downloads/glod-1.0pre4-darwin-201511222034.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/glod_3p-update-glod/rev/296895/arch/Darwin/installer/glod-1.0pre4.296895-darwin-296895.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
</map>
<key>darwin64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>017ef34ddf14293099a90c6eaa3615ca</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1626/3627/glod-1.0pre3.501614-darwin64-501614.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
</map>
<key>linux</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>176736c52b3cde6ca8e7d9e173d91731</string>
<string>58113bcbbacbaeb2d278f745867ae6f0</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-glod/rev/268002/arch/Linux/installer/glod-1.0pre4-linux-20121212.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/p64_3p-glod/rev/314201/arch/Linux/installer/glod-1.0pre4.314201-linux-314201.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
@@ -1170,11 +1218,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>f7172928ba2201d4b9aeb2c70d7a55b9</string>
<key>hash_algorithm</key>
<string>md5</string>
<string>9aef5cd576ace19568da01d9bc3db29c</string>
<key>url</key>
<string>http://depot.alchemyviewer.org/pub/linux64/lib-trusty/glod-1.0pre4-linux64-201603240031.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1625/3628/glod-1.0pre3.501614-linux64-501614.tar.bz2</string>
</map>
<key>name</key>
<string>linux64</string>
@@ -1184,11 +1230,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>37035aad7d066dfe6f26dc009aa9dcea</string>
<string>573e68f46f825a1c040daa4994ee2a61</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>https://depot.alchemyviewer.org/pub/windows/lib-vc141/glod-1.0pre4-windows-201703090622.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1627/3633/glod-1.0pre3.501614-windows-501614.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@@ -1198,18 +1244,18 @@
<key>archive</key>
<map>
<key>hash</key>
<string>c5c04c164ff057a43928de2f2b83470e</string>
<string>c122ba644e8ec146b4742428b799d749</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>https://depot.alchemyviewer.org/pub/windows64/lib-vc142/glod-1.0pre4-windows64-201712251340.tar.bz2</string>
<string>http://depot.alchemyviewer.org/pub/packages/windows64/msvc-1916/glod-1.0pre3.190390340-windows64-190390340.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>version</key>
<string>1.0pre4</string>
<string>1.0pre3.190390340</string>
</map>
<key>google_breakpad</key>
<map>
@@ -1218,7 +1264,7 @@
<key>description</key>
<string>Breakpad is a crossplatform library for capturing crash callstacks and runtime data.</string>
<key>license</key>
<string>BSD</string>
<string>bsd</string>
<key>license_file</key>
<string>LICENSES/google_breakpad.txt</string>
<key>name</key>
@@ -1239,6 +1285,18 @@
<key>name</key>
<string>darwin</string>
</map>
<key>darwin64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>2d43c6a149cd9c89ba19e884579b1e25</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1836/4096/google_breakpad-1413.501824-darwin64-501824.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
</map>
<key>linux</key>
<map>
<key>archive</key>
@@ -2821,7 +2879,7 @@
<key>options</key>
<array>
<string>-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo</string>
<string>-DWORD_SIZE:STRING=32</string>
<string>-DWORD_SIZE:STRING=$AUTOBUILD_ADDRSIZE</string>
<string>-DROOT_PROJECT_NAME:STRING=Singularity</string>
<string>-DINSTALL_PROPRIETARY=FALSE</string>
</array>
@@ -2842,7 +2900,7 @@
<key>options</key>
<array>
<string>-DCMAKE_BUILD_TYPE:STRING=Release</string>
<string>-DWORD_SIZE:STRING=32</string>
<string>-DWORD_SIZE:STRING=$AUTOBUILD_ADDRSIZE</string>
<string>-DROOT_PROJECT_NAME:STRING=Singularity</string>
<string>-DINSTALL_PROPRIETARY=FALSE</string>
</array>
@@ -3031,7 +3089,7 @@
<key>windows</key>
<map>
<key>build_directory</key>
<string>build-vc141</string>
<string>build-vc$AUTOBUILD_WIN_VSVER-$AUTOBUILD_ADDRSIZE</string>
<key>configurations</key>
<map>
<key>RelWithDebInfo</key>
@@ -3063,9 +3121,11 @@
<key>options</key>
<array>
<string>-G</string>
<string>"Visual Studio 15"</string>
<string>-DCMAKE_SYSTEM_VERSION="10.0.16299.0"</string>
<string>-DINSTALL_PROPRIETARY=FALSE</string>
<string>${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}</string>
<string>-A</string>
<string>${AUTOBUILD_WIN_VSPLATFORM|NOTWIN}</string>
<string>-T</string>
<string>host=${AUTOBUILD_WIN_VSHOST|NOTWIN}</string>
</array>
</map>
<key>default</key>
@@ -3086,7 +3146,7 @@
<key>options</key>
<array>
<string>/p:Configuration=Release</string>
<string>/p:Platform=Win32</string>
<string>/p:Platform=${AUTOBUILD_WIN_VSPLATFORM|NOTWIN}</string>
<string>/t:Build</string>
<string>/p:useenv=true</string>
<string>/verbosity:normal</string>
@@ -3102,96 +3162,11 @@
<key>options</key>
<array>
<string>-G</string>
<string>"Visual Studio 15"</string>
<string>-DCMAKE_SYSTEM_VERSION="10.0.16299.0"</string>
<string>-DINSTALL_PROPRIETARY=FALSE</string>
</array>
</map>
<key>name</key>
<string>Release</string>
</map>
</map>
<key>name</key>
<string>windows</string>
</map>
<key>windows64</key>
<map>
<key>build_directory</key>
<string>build-vc141-x86_64</string>
<key>configurations</key>
<map>
<key>RelWithDebInfo</key>
<map>
<key>build</key>
<map>
<key>arguments</key>
<array>
<string>Singularity.sln</string>
</array>
<key>command</key>
<string>msbuild.exe</string>
<key>options</key>
<array>
<string>/p:Configuration=RelWithDebInfo</string>
<string>/p:Platform=x64</string>
<string>/t:Build</string>
<string>/p:useenv=true</string>
<string>/verbosity:normal</string>
<string>/m</string>
</array>
</map>
<key>configure</key>
<map>
<key>arguments</key>
<array>
<string>..\indra</string>
</array>
<key>options</key>
<array>
<string>-G</string>
<string>"Visual Studio 15 Win64"</string>
<string>-DCMAKE_SYSTEM_VERSION="10.0.16299.0"</string>
<string>-DWORD_SIZE:STRING=64</string>
<string>-DINSTALL_PROPRIETARY=FALSE</string>
</array>
</map>
<key>default</key>
<string>True</string>
<key>name</key>
<string>RelWithDebInfo</string>
</map>
<key>Release</key>
<map>
<key>build</key>
<map>
<key>arguments</key>
<array>
<string>Singularity.sln</string>
</array>
<key>command</key>
<string>msbuild.exe</string>
<key>options</key>
<array>
<string>/p:Configuration=Release</string>
<string>/p:Platform=x64</string>
<string>/t:Build</string>
<string>/p:useenv=true</string>
<string>/verbosity:normal</string>
<string>/m</string>
</array>
</map>
<key>configure</key>
<map>
<key>arguments</key>
<array>
<string>..\indra</string>
</array>
<key>options</key>
<array>
<string>-G</string>
<string>"Visual Studio 15 Win64"</string>
<string>-DCMAKE_SYSTEM_VERSION="10.0.16299.0"</string>
<string>-DWORD_SIZE:STRING=64</string>
<string>${AUTOBUILD_WIN_CMAKE_GEN|NOTWIN}</string>
<string>-A</string>
<string>${AUTOBUILD_WIN_VSPLATFORM|NOTWIN}</string>
<string>-T</string>
<string>host=${AUTOBUILD_WIN_VSHOST|NOTWIN}</string>
<string>-DINSTALL_PROPRIETARY=FALSE</string>
</array>
</map>

View File

@@ -3,9 +3,16 @@
include(Python)
include(Variables)
# packages-formatter.py runs autobuild install --versions, which needs to know
# the build_directory, which (on Windows) depends on AUTOBUILD_ADDRSIZE.
# Within an autobuild build, AUTOBUILD_ADDRSIZE is already set. But when
# building in an IDE, it probably isn't. Set it explicitly using
# run_build_test.py.
add_custom_command(OUTPUT packages-info.txt
COMMENT "Generating packages-info.txt for the about box"
COMMENT Generating packages-info.txt for the about box
MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/../autobuild.xml
DEPENDS ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py -p=${AUTOBUILD_PLATFORM_NAME} > packages-info.txt
${CMAKE_SOURCE_DIR}/../autobuild.xml
COMMAND ${PYTHON_EXECUTABLE}
${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py "${VIEWER_CHANNEL}" "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}" > packages-info.txt
)

View File

@@ -24,14 +24,6 @@ set(VIEWER_PREFIX)
set(INTEGRATION_TESTS_PREFIX)
option(LL_TESTS "Build and run unit and integration tests (disable for build timing runs to reduce variation" OFF)
# Compiler and toolchain options
option(USESYSTEMLIBS "Use libraries from your system rather than Linden-supplied prebuilt libraries." OFF)
option(STANDALONE "Use libraries from your system rather than Linden-supplied prebuilt libraries." OFF)
if (USESYSTEMLIBS)
set(STANDALONE ON)
elseif (STANDALONE)
set(USESYSTEMLIBS ON)
endif (USESYSTEMLIBS)
option(INCREMENTAL_LINK "Use incremental linking on win32 builds (enable for faster links on some machines)" OFF)
option(USE_PRECOMPILED_HEADERS "Enable use of precompiled header directives where supported." ON)
option(USE_LTO "Enable Whole Program Optimization and related folding and binary reduction routines" OFF)
@@ -48,7 +40,7 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Dar
set(DISABLE_TCMALLOC OFF CACHE BOOL "Disable linkage of TCMalloc. (64bit builds automatically disable TCMalloc)")
set(DISABLE_FATAL_WARNINGS TRUE CACHE BOOL "Set this to FALSE to enable fatal warnings.")
# Audio Engines
option(FMODSTUDIO "Build with support for the FMOD Studio audio engine" OFF)
option(FMODSTUDIO "Build with support for the FMOD Studio audio engine" ON)
# Window implementation
option(LLWINDOW_SDL2 "Use SDL2 for window and input handling" OFF)
@@ -88,61 +80,56 @@ if (NOT CMAKE_BUILD_TYPE)
"Build type. One of: Debug Release RelWithDebInfo" FORCE)
endif (NOT CMAKE_BUILD_TYPE)
# If someone has specified an address size, use that to determine the
# architecture. Otherwise, let the architecture specify the address size.
set(ADDRESS_SIZE ${WORD_SIZE})
if (ADDRESS_SIZE EQUAL 32)
#message(STATUS "ADDRESS_SIZE is 32")
set(ARCH i686)
elseif (ADDRESS_SIZE EQUAL 64)
#message(STATUS "ADDRESS_SIZE is 64")
set(ARCH x86_64)
else (ADDRESS_SIZE EQUAL 32)
#message(STATUS "ADDRESS_SIZE is UNRECOGNIZED: '${ADDRESS_SIZE}'")
# Use Python's platform.machine() since uname -m isn't available everywhere.
# Even if you can assume cygwin uname -m, the answer depends on whether
# you're running 32-bit cygwin or 64-bit cygwin! But even 32-bit Python will
# report a 64-bit processor.
execute_process(COMMAND
"${Python2_EXECUTABLE}" "-c"
"import platform; print platform.machine()"
OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
# We expect values of the form i386, i686, x86_64, AMD64.
# In CMake, expressing ARCH.endswith('64') is awkward:
string(LENGTH "${ARCH}" ARCH_LENGTH)
math(EXPR ARCH_LEN_2 "${ARCH_LENGTH} - 2")
string(SUBSTRING "${ARCH}" ${ARCH_LEN_2} 2 ARCH_LAST_2)
if (ARCH_LAST_2 STREQUAL 64)
#message(STATUS "ARCH is detected as 64; ARCH is ${ARCH}")
set(ADDRESS_SIZE 64)
else()
#message(STATUS "ARCH is detected as 32; ARCH is ${ARCH}")
set(ADDRESS_SIZE 32)
endif ()
endif (ADDRESS_SIZE EQUAL 32)
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(WINDOWS ON BOOL FORCE)
if (WORD_SIZE EQUAL 64)
set(ARCH x86_64 CACHE STRING "Viewer Architecture")
set(LL_ARCH ${ARCH}_win64)
set(LL_ARCH_DIR ${ARCH}-win64)
set(WORD_SIZE 64)
set(AUTOBUILD_PLATFORM_NAME "windows64")
else (WORD_SIZE EQUAL 64)
set(ARCH i686 CACHE STRING "Viewer Architecture")
set(LL_ARCH ${ARCH}_win32)
set(LL_ARCH_DIR ${ARCH}-win32)
set(WORD_SIZE 32)
set(AUTOBUILD_PLATFORM_NAME "windows")
endif (WORD_SIZE EQUAL 64)
endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(LINUX ON BOOL FORCE)
# If someone has specified a word size, use that to determine the
# architecture. Otherwise, let the architecture specify the word size.
if (WORD_SIZE EQUAL 32)
#message(STATUS "WORD_SIZE is 32")
set(ARCH i686)
set(AUTOBUILD_PLATFORM_NAME "linux")
elseif (WORD_SIZE EQUAL 64)
#message(STATUS "WORD_SIZE is 64")
set(ARCH x86_64)
set(AUTOBUILD_PLATFORM_NAME "linux64")
else (WORD_SIZE EQUAL 32)
#message(STATUS "WORD_SIZE is UNDEFINED")
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
message(STATUS "Size of void pointer is detected as 8; ARCH is 64-bit")
set(WORD_SIZE 64)
set(AUTOBUILD_PLATFORM_NAME "linux64")
elseif (CMAKE_SIZEOF_VOID_P EQUAL 4)
message(STATUS "Size of void pointer is detected as 4; ARCH is 32-bit")
set(WORD_SIZE 32)
set(AUTOBUILD_PLATFORM_NAME "linux")
else()
message(FATAL_ERROR "Unknown Architecture!")
endif (CMAKE_SIZEOF_VOID_P EQUAL 8)
endif (WORD_SIZE EQUAL 32)
if (NOT STANDALONE AND MULTIARCH_HACK)
if (WORD_SIZE EQUAL 32)
if (ADDRESS_SIZE EQUAL 32)
set(DEB_ARCHITECTURE i386)
set(FIND_LIBRARY_USE_LIB64_PATHS OFF)
set(CMAKE_SYSTEM_LIBRARY_PATH /usr/lib32 ${CMAKE_SYSTEM_LIBRARY_PATH})
else (WORD_SIZE EQUAL 32)
else (ADDRESS_SIZE EQUAL 32)
set(DEB_ARCHITECTURE amd64)
set(FIND_LIBRARY_USE_LIB64_PATHS ON)
endif (WORD_SIZE EQUAL 32)
endif (ADDRESS_SIZE EQUAL 32)
execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH
RESULT_VARIABLE DPKG_RESULT
@@ -155,7 +142,6 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
endif (DPKG_RESULT EQUAL 0)
include(ConfigurePkgConfig)
endif (NOT STANDALONE AND MULTIARCH_HACK)
set(LL_ARCH ${ARCH}_linux)
set(LL_ARCH_DIR ${ARCH}-linux)
@@ -164,49 +150,42 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(DARWIN 1)
if (XCODE_VERSION LESS 8.0.0)
message( FATAL_ERROR "Xcode 8.0.0 or greater is required." )
endif (XCODE_VERSION LESS 8.0.0)
message( "Building with " ${CMAKE_OSX_SYSROOT} )
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12)
# Architecture
set(CMAKE_OSX_SYSROOT macosx10.14)
set(CMAKE_OSX_ARCHITECTURES "x86_64")
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS "x86_64")
# Build Options
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL 3)
set(CMAKE_XCODE_ATTRIBUTE_GCC_STRICT_ALIASING NO)
set(CMAKE_XCODE_ATTRIBUTE_GCC_FAST_MATH NO)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++14")
if (USE_AVX2)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS avx2)
elseif (USE_AVX)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS avx)
else ()
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=Debug] "dwarf")
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=Release] "dwarf-with-dsym")
# Deployment
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
# Linking
set(CMAKE_XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING YES)
# Apple Clang - Code Gen
set(CMAKE_XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS[variant=Release] YES)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS sse4.1)
endif ()
set(CMAKE_XCODE_ATTRIBUTE_GCC_STRICT_ALIASING NO)
set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL[variant=Debug] 0)
set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL[variant=Release] 3)
set(CMAKE_XCODE_ATTRIBUTE_GCC_FAST_MATH NO)
if (${CMAKE_BUILD_TYPE} STREQUAL "Release")
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf-with-dsym)
else (${CMAKE_BUILD_TYPE} STREQUAL "Release")
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf)
endif (${CMAKE_BUILD_TYPE} STREQUAL "Release")
# Apple Clang - Custom Compiler Flags
set(CMAKE_XCODE_ATTRIBUTE_WARNING_CFLAGS "-Wall -Wextra -Wno-reorder -Wno-sign-compare -Wno-ignored-qualifiers -Wno-unused-local-typedef -Wno-unused-parameter")
set(ADDRESS_SIZE 64)
if (NOT CMAKE_OSX_ARCHITECTURES)
if (ADDRESS_SIZE EQUAL 64)
set(CMAKE_OSX_ARCHITECTURES x86_64)
else (ADDRESS_SIZE EQUAL 64)
set(CMAKE_OSX_ARCHITECTURES i386)
endif (ADDRESS_SIZE EQUAL 64)
endif (NOT CMAKE_OSX_ARCHITECTURES)
# Apple Clang - Language - C++
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD c++14)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
# Apple Clang - Warning Policies
set(CMAKE_XCODE_ATTRIBUTE_GCC_TREAT_WARNINGS_AS_ERRORS YES)
if (ADDRESS_SIZE EQUAL 64)
set(ARCH x86_64)
else (ADDRESS_SIZE EQUAL 64)
set(ARCH i386)
endif (ADDRESS_SIZE EQUAL 64)
set(LL_ARCH ${ARCH}_darwin)
set(LL_ARCH_DIR universal-darwin)
set(AUTOBUILD_PLATFORM_NAME "darwin" CACHE STRING "Autobuild Platform Name")
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# Default deploy grid
@@ -245,13 +224,21 @@ set(VIEWER_CHANNEL_NOSPACE ${VIEWER_CHANNEL_ONEWORD} CACHE STRING "Prefix used f
set(VIEWER_BRANDING_ID "singularity" CACHE STRING "Viewer branding id")
set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside")
option(ENABLE_SIGNING "Enable signing the viewer" OFF)
set(SIGNING_IDENTITY "" CACHE STRING "Specifies the signing identity to use, if necessary.")
set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside")
# Compiler and toolchain options
option(USESYSTEMLIBS "Use libraries from your system rather than Linden-supplied prebuilt libraries." OFF)
option(STANDALONE "Use libraries from your system rather than Linden-supplied prebuilt libraries." OFF)
if (USESYSTEMLIBS)
set(STANDALONE ON)
elseif (STANDALONE)
set(USESYSTEMLIBS ON)
endif (USESYSTEMLIBS)
source_group("CMake Rules" FILES CMakeLists.txt)
mark_as_advanced(AUTOBUILD_PLATFORM_NAME)
endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)

View File

@@ -258,6 +258,8 @@ class WindowsManifest(ViewerManifest):
# This is used to test a dll manifest.
# It is used as a temporary override during the construct method
from test_win32_manifest import test_assembly_binding
# TODO: This is redundant with LLManifest.copy_action(). Why aren't we
# calling copy_action() in conjunction with test_assembly_binding()?
if src and (os.path.exists(src) or os.path.islink(src)):
# ensure that destination path exists
self.cmakedirs(os.path.dirname(dst))
@@ -278,6 +280,8 @@ class WindowsManifest(ViewerManifest):
# It is used as a temporary override during the construct method
from test_win32_manifest import test_assembly_binding
from test_win32_manifest import NoManifestException, NoMatchingAssemblyException
# TODO: This is redundant with LLManifest.copy_action(). Why aren't we
# calling copy_action() in conjunction with test_assembly_binding()?
if src and (os.path.exists(src) or os.path.islink(src)):
# ensure that destination path exists
self.cmakedirs(os.path.dirname(dst))
@@ -289,9 +293,9 @@ class WindowsManifest(ViewerManifest):
else:
test_assembly_binding(src, "Microsoft.VC80.CRT", "")
raise Exception("Unknown condition")
except NoManifestException, err:
except NoManifestException as err:
pass
except NoMatchingAssemblyException, err:
except NoMatchingAssemblyException as err:
pass
self.ccopy(src,dst)
@@ -327,17 +331,26 @@ class WindowsManifest(ViewerManifest):
self.path('libaprutil-1.dll')
self.path('libapriconv-1.dll')
except RuntimeError, err:
except RuntimeError as err:
print err.message
print "Skipping llcommon.dll (assuming llcommon was linked statically)"
# Mesh 3rd party libs needed for auto LOD and collada reading
try:
self.path("glod.dll")
except RuntimeError, err:
except RuntimeError as err:
print err.message
print "Skipping GLOD library (assumming linked statically)"
# Get fmodstudio dll, continue if missing
try:
if(self.is_win64()):
self.path("fmod64.dll")
else:
self.path("fmod.dll")
except:
print "Skipping fmodstudio audio library(assuming other audio engine)"
# Vivox runtimes
self.path("SLVoice.exe")
self.path("vivoxsdk.dll")
@@ -345,6 +358,23 @@ class WindowsManifest(ViewerManifest):
self.path("libsndfile-1.dll")
self.path("vivoxoal.dll")
self.path("ca-bundle.crt")
# Security
if(self.is_win64()):
self.path("libcrypto-1_1-x64.dll")
self.path("libssl-1_1-x64.dll")
if not self.is_packaging_viewer():
self.path("libcrypto-1_1-x64.pdb")
self.path("libssl-1_1-x64.pdb")
else:
self.path("libcrypto-1_1.dll")
self.path("libssl-1_1.dll")
if not self.is_packaging_viewer():
self.path("libcrypto-1_1.pdb")
self.path("libssl-1_1.pdb")
# HTTP/2
self.path("nghttp2.dll")
# Hunspell
self.path("libhunspell.dll")

View File

@@ -31,13 +31,10 @@ import re
import subprocess
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
'-p', '--platform',
default=None,
dest='platform',
help='Override the automatically determined platform.')
parsedargs = parser.parse_args()
parser = argparse.ArgumentParser(description='Format dependency version and copyright information for the viewer About box content')
parser.add_argument('channel', help='viewer channel name')
parser.add_argument('version', help='viewer version number')
args = parser.parse_args()
_autobuild=os.getenv('AUTOBUILD', 'autobuild')
@@ -49,10 +46,7 @@ def autobuild(*args):
Return its stdout pipe from which the caller can read.
"""
# subprocess wants a list, not a tuple
temp = list(args)
if parsedargs.platform is not None :
temp.append("-p=" + str(parsedargs.platform))
command = [_autobuild] + temp
command = [_autobuild] + list(args)
try:
child = subprocess.Popen(command,
stdin=None, stdout=subprocess.PIPE,
@@ -62,14 +56,15 @@ def autobuild(*args):
# Don't attempt to interpret anything but ENOENT
raise
# Here it's ENOENT: subprocess can't find the autobuild executable.
print >>sys.stderr, "packages-formatter on %s: can't run autobuild:\n%s\n%s" % \
(sys.platform, ' '.join(command), err)
sys.exit(1)
sys.exit("packages-formatter on %s: can't run autobuild:\n%s\n%s" % \
(sys.platform, ' '.join(command), err))
# no exceptions yet, let caller read stdout
return child.stdout
version={}
versions=autobuild('install', '--versions')
for line in versions:
pkg_info = pkg_line.match(line)