summaryrefslogtreecommitdiff
path: root/indra/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'indra/cmake')
-rw-r--r--indra/cmake/00-Common.cmake13
-rw-r--r--indra/cmake/APR.cmake5
-rw-r--r--indra/cmake/BerkeleyDB.cmake17
-rw-r--r--indra/cmake/Boost.cmake91
-rw-r--r--indra/cmake/CMakeLists.txt11
-rw-r--r--indra/cmake/Copy3rdPartyLibs.cmake6
-rw-r--r--indra/cmake/CubemapToEquirectangularJS.cmake5
-rw-r--r--indra/cmake/FindBerkeleyDB.cmake50
-rw-r--r--indra/cmake/FindZLIB.cmake46
-rw-r--r--indra/cmake/FindZLIBNG.cmake46
-rw-r--r--indra/cmake/GLOD.cmake9
-rw-r--r--indra/cmake/JPEGEncoderBasic.cmake5
-rw-r--r--indra/cmake/LLAppearanceUtility.cmake2
-rw-r--r--indra/cmake/LLCommon.cmake7
-rw-r--r--indra/cmake/LLFileSystem.cmake7
-rw-r--r--indra/cmake/LLMeshOptimizer.cmake7
-rw-r--r--indra/cmake/LLPrimitive.cmake5
-rw-r--r--indra/cmake/LLVFS.cmake7
-rw-r--r--indra/cmake/MESHOPTIMIZER.cmake16
-rw-r--r--indra/cmake/Python.cmake48
-rw-r--r--indra/cmake/ThreeJS.cmake8
-rw-r--r--indra/cmake/Tracy.cmake29
-rw-r--r--indra/cmake/Variables.cmake2
-rw-r--r--indra/cmake/ZLIBNG.cmake (renamed from indra/cmake/ZLIB.cmake)20
-rwxr-xr-xindra/cmake/run_build_test.py18
25 files changed, 215 insertions, 265 deletions
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index 8aea50e02b..572422d080 100644
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -42,8 +42,8 @@ if(NON_RELEASE_CRASH_REPORTING)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DLL_SEND_CRASH_REPORTS=1")
endif()
-# Don't bother with a MinSizeRel build.
-set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING
+# Don't bother with MinSizeRel or Debug builds.
+set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release" CACHE STRING
"Supported build types." FORCE)
@@ -70,13 +70,17 @@ if (WINDOWS)
if( ADDRESS_SIZE EQUAL 32 )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /p:PreferredToolArchitecture=x64")
endif()
+ # Preserve first-pass-through versions (ie no FORCE overwrite). Prevents recursive addition of /Zo (04/2021)
+ set(OG_CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} CACHE STRING "OG_CXX_FLAGS_RELEASE")
+ set(OG_CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} CACHE STRING "OG_CXX_FLAGS_RELWITHDEBINFO")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
- "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Zo"
+ "${OG_CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Zo"
CACHE STRING "C++ compiler release-with-debug options" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE
- "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /Zo"
+ "${OG_CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /Zo"
CACHE STRING "C++ compiler release options" FORCE)
+
# zlib has assembly-language object files incompatible with SAFESEH
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE /SAFESEH:NO /NODEFAULTLIB:LIBCMT /IGNORE:4099")
@@ -219,7 +223,6 @@ if (USESYSTEMLIBS)
else (USESYSTEMLIBS)
set(${ARCH}_linux_INCLUDES
- ELFIO
atk-1.0
glib-2.0
gstreamer-0.10
diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake
index 1a01671002..9b64bc6160 100644
--- a/indra/cmake/APR.cmake
+++ b/indra/cmake/APR.cmake
@@ -1,4 +1,3 @@
-include(BerkeleyDB)
include(Linking)
include(Prebuilt)
@@ -49,7 +48,7 @@ else (USESYSTEMLIBS)
set(APR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/apr-1)
if (LINUX)
- list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} uuid)
- list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} rt)
+ list(APPEND APRUTIL_LIBRARIES uuid)
+ list(APPEND APRUTIL_LIBRARIES rt)
endif (LINUX)
endif (USESYSTEMLIBS)
diff --git a/indra/cmake/BerkeleyDB.cmake b/indra/cmake/BerkeleyDB.cmake
deleted file mode 100644
index ee670ac650..0000000000
--- a/indra/cmake/BerkeleyDB.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-# -*- cmake -*-
-include(Prebuilt)
-set(DB_FIND_QUIETLY ON)
-set(DB_FIND_REQUIRED ON)
-
-if (USESYSTEMLIBS)
- include(FindBerkeleyDB)
-else (USESYSTEMLIBS)
- if (LINUX)
- # Need to add dependency pthread explicitely to support ld.gold.
- use_prebuilt_binary(db)
- set(DB_LIBRARIES db-5.1 pthread)
- else (LINUX)
- set(DB_LIBRARIES db-4.2)
- endif (LINUX)
- set(DB_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
-endif (USESYSTEMLIBS)
diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake
index 06a7ab6d75..e79dc33245 100644
--- a/indra/cmake/Boost.cmake
+++ b/indra/cmake/Boost.cmake
@@ -24,57 +24,30 @@ else (USESYSTEMLIBS)
set(addrsfx "-x${ADDRESS_SIZE}")
if (WINDOWS)
- if(MSVC80)
- # This should be obsolete at this point
- set(BOOST_VERSION "1.55")
- set(BOOST_CONTEXT_LIBRARY
- optimized libboost_context-vc80-mt-${BOOST_VERSION}
- debug libboost_context-vc80-mt-gd-${BOOST_VERSION})
- set(BOOST_FILESYSTEM_LIBRARY
- optimized libboost_filesystem-vc80-mt-${BOOST_VERSION}
- debug libboost_filesystem-vc80-mt-gd-${BOOST_VERSION})
- set(BOOST_PROGRAM_OPTIONS_LIBRARY
- optimized libboost_program_options-vc80-mt-${BOOST_VERSION}
- debug libboost_program_options-vc80-mt-gd-${BOOST_VERSION})
- set(BOOST_REGEX_LIBRARY
- optimized libboost_regex-vc80-mt-${BOOST_VERSION}
- debug libboost_regex-vc80-mt-gd-${BOOST_VERSION})
- set(BOOST_SIGNALS_LIBRARY
- optimized libboost_signals-vc80-mt-${BOOST_VERSION}
- debug libboost_signals-vc80-mt-gd-${BOOST_VERSION})
- set(BOOST_SYSTEM_LIBRARY
- optimized libboost_system-vc80-mt-${BOOST_VERSION}
- debug libboost_system-vc80-mt-gd-${BOOST_VERSION})
- set(BOOST_THREAD_LIBRARY
- optimized libboost_thread-vc80-mt-${BOOST_VERSION}
- debug libboost_thread-vc80-mt-gd-${BOOST_VERSION})
- else(MSVC80)
- # MSVC 10.0 config
- set(BOOST_CONTEXT_LIBRARY
- optimized libboost_context-mt${addrsfx}
- debug libboost_context-mt${addrsfx}-gd)
- set(BOOST_FIBER_LIBRARY
- optimized libboost_fiber-mt${addrsfx}
- debug libboost_fiber-mt${addrsfx}-gd)
- set(BOOST_FILESYSTEM_LIBRARY
- optimized libboost_filesystem-mt${addrsfx}
- debug libboost_filesystem-mt${addrsfx}-gd)
- set(BOOST_PROGRAM_OPTIONS_LIBRARY
- optimized libboost_program_options-mt${addrsfx}
- debug libboost_program_options-mt${addrsfx}-gd)
- set(BOOST_REGEX_LIBRARY
- optimized libboost_regex-mt${addrsfx}
- debug libboost_regex-mt${addrsfx}-gd)
- set(BOOST_SIGNALS_LIBRARY
- optimized libboost_signals-mt${addrsfx}
- debug libboost_signals-mt${addrsfx}-gd)
- set(BOOST_SYSTEM_LIBRARY
- optimized libboost_system-mt${addrsfx}
- debug libboost_system-mt${addrsfx}-gd)
- set(BOOST_THREAD_LIBRARY
- optimized libboost_thread-mt${addrsfx}
- debug libboost_thread-mt${addrsfx}-gd)
- endif (MSVC80)
+ set(BOOST_CONTEXT_LIBRARY
+ optimized libboost_context-mt${addrsfx}
+ debug libboost_context-mt${addrsfx}-gd)
+ set(BOOST_FIBER_LIBRARY
+ optimized libboost_fiber-mt${addrsfx}
+ debug libboost_fiber-mt${addrsfx}-gd)
+ set(BOOST_FILESYSTEM_LIBRARY
+ optimized libboost_filesystem-mt${addrsfx}
+ debug libboost_filesystem-mt${addrsfx}-gd)
+ set(BOOST_PROGRAM_OPTIONS_LIBRARY
+ optimized libboost_program_options-mt${addrsfx}
+ debug libboost_program_options-mt${addrsfx}-gd)
+ set(BOOST_REGEX_LIBRARY
+ optimized libboost_regex-mt${addrsfx}
+ debug libboost_regex-mt${addrsfx}-gd)
+ set(BOOST_SIGNALS_LIBRARY
+ optimized libboost_signals-mt${addrsfx}
+ debug libboost_signals-mt${addrsfx}-gd)
+ set(BOOST_SYSTEM_LIBRARY
+ optimized libboost_system-mt${addrsfx}
+ debug libboost_system-mt${addrsfx}-gd)
+ set(BOOST_THREAD_LIBRARY
+ optimized libboost_thread-mt${addrsfx}
+ debug libboost_thread-mt${addrsfx}-gd)
elseif (LINUX)
set(BOOST_CONTEXT_LIBRARY
optimized boost_context-mt${addrsfx}
@@ -103,28 +76,28 @@ else (USESYSTEMLIBS)
elseif (DARWIN)
set(BOOST_CONTEXT_LIBRARY
optimized boost_context-mt${addrsfx}
- debug boost_context-mt${addrsfx}-d)
+ debug boost_context-mt${addrsfx})
set(BOOST_FIBER_LIBRARY
optimized boost_fiber-mt${addrsfx}
- debug boost_fiber-mt${addrsfx}-d)
+ debug boost_fiber-mt${addrsfx})
set(BOOST_FILESYSTEM_LIBRARY
optimized boost_filesystem-mt${addrsfx}
- debug boost_filesystem-mt${addrsfx}-d)
+ debug boost_filesystem-mt${addrsfx})
set(BOOST_PROGRAM_OPTIONS_LIBRARY
optimized boost_program_options-mt${addrsfx}
- debug boost_program_options-mt${addrsfx}-d)
+ debug boost_program_options-mt${addrsfx})
set(BOOST_REGEX_LIBRARY
optimized boost_regex-mt${addrsfx}
- debug boost_regex-mt${addrsfx}-d)
+ debug boost_regex-mt${addrsfx})
set(BOOST_SIGNALS_LIBRARY
optimized boost_signals-mt${addrsfx}
- debug boost_signals-mt${addrsfx}-d)
+ debug boost_signals-mt${addrsfx})
set(BOOST_SYSTEM_LIBRARY
optimized boost_system-mt${addrsfx}
- debug boost_system-mt${addrsfx}-d)
+ debug boost_system-mt${addrsfx})
set(BOOST_THREAD_LIBRARY
optimized boost_thread-mt${addrsfx}
- debug boost_thread-mt${addrsfx}-d)
+ debug boost_thread-mt${addrsfx})
endif (WINDOWS)
endif (USESYSTEMLIBS)
diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt
index c65906b853..31cd5d770d 100644
--- a/indra/cmake/CMakeLists.txt
+++ b/indra/cmake/CMakeLists.txt
@@ -10,7 +10,6 @@ set(cmake_SOURCE_FILES
00-Common.cmake
APR.cmake
Audio.cmake
- BerkeleyDB.cmake
Boost.cmake
bugsplat.cmake
BuildVersion.cmake
@@ -26,7 +25,6 @@ set(cmake_SOURCE_FILES
EXPAT.cmake
FindAPR.cmake
FindAutobuild.cmake
- FindBerkeleyDB.cmake
FindGLH.cmake
FindHUNSPELL.cmake
FindICU4C.cmake
@@ -36,12 +34,11 @@ set(cmake_SOURCE_FILES
FindSCP.cmake
FindURIPARSER.cmake
FindXmlRpcEpi.cmake
- FindZLIB.cmake
+ FindZLIBNG.cmake
FMODSTUDIO.cmake
FreeType.cmake
GLEXT.cmake
GLH.cmake
- GLOD.cmake
## GStreamer010Plugin.cmake
GoogleMock.cmake
Havok.cmake
@@ -61,6 +58,7 @@ set(cmake_SOURCE_FILES
LLKDU.cmake
LLLogin.cmake
LLMath.cmake
+ LLMeshOptimizer.cmake
LLMessage.cmake
LLPhysicsExtensions.cmake
LLPlugin.cmake
@@ -69,11 +67,12 @@ set(cmake_SOURCE_FILES
LLSharedLibs.cmake
LLTestCommand.cmake
LLUI.cmake
- LLVFS.cmake
+ LLFileSystem.cmake
LLWindow.cmake
LLXML.cmake
Linking.cmake
MediaPluginBase.cmake
+ MESHOPTIMIZER.cmake
NDOF.cmake
OPENAL.cmake
OpenGL.cmake
@@ -94,7 +93,7 @@ set(cmake_SOURCE_FILES
VisualLeakDetector.cmake
LibVLCPlugin.cmake
XmlRpcEpi.cmake
- ZLIB.cmake
+ ZLIBNG.cmake
)
source_group("Shared Rules" FILES ${cmake_SOURCE_FILES})
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index b20d23cead..ff705101de 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -57,7 +57,6 @@ if(WINDOWS)
libaprutil-1.dll
libapriconv-1.dll
nghttp2.dll
- glod.dll
libhunspell.dll
uriparser.dll
)
@@ -104,6 +103,8 @@ if(WINDOWS)
set(MSVC_VER 120)
elseif (MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920) # Visual Studio 2017
set(MSVC_VER 140)
+ elseif (MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930) # Visual Studio 2019
+ set(MSVC_VER 140)
else (MSVC80)
MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake")
endif (MSVC80)
@@ -128,6 +129,7 @@ if(WINDOWS)
msvcp${MSVC_VER}.dll
msvcr${MSVC_VER}.dll
vcruntime${MSVC_VER}.dll
+ vcruntime${MSVC_VER}_1.dll
)
if(EXISTS "${registry_path}/${release_msvc_file}")
to_staging_dirs(
@@ -166,7 +168,6 @@ elseif(DARWIN)
libaprutil-1.0.dylib
libaprutil-1.dylib
${EXPAT_COPY}
- libGLOD.dylib
libhunspell-1.3.0.dylib
libndofdev.dylib
libnghttp2.dylib
@@ -215,7 +216,6 @@ elseif(LINUX)
${EXPAT_COPY}
libfreetype.so.6.6.2
libfreetype.so.6
- libGLOD.so
libgmodule-2.0.so
libgobject-2.0.so
libhunspell-1.3.so.0.0.0
diff --git a/indra/cmake/CubemapToEquirectangularJS.cmake b/indra/cmake/CubemapToEquirectangularJS.cmake
new file mode 100644
index 0000000000..bfe2926005
--- /dev/null
+++ b/indra/cmake/CubemapToEquirectangularJS.cmake
@@ -0,0 +1,5 @@
+# -*- cmake -*-
+use_prebuilt_binary(cubemaptoequirectangular)
+
+# Main JS file
+configure_file("${AUTOBUILD_INSTALL_DIR}/js/CubemapToEquirectangular.js" "${CMAKE_SOURCE_DIR}/newview/skins/default/html/common/equirectangular/js/CubemapToEquirectangular.js" COPYONLY)
diff --git a/indra/cmake/FindBerkeleyDB.cmake b/indra/cmake/FindBerkeleyDB.cmake
deleted file mode 100644
index 2d633c74ec..0000000000
--- a/indra/cmake/FindBerkeleyDB.cmake
+++ /dev/null
@@ -1,50 +0,0 @@
-# -*- cmake -*-
-
-# - Find BerkeleyDB
-# Find the BerkeleyDB includes and library
-# This module defines
-# DB_INCLUDE_DIR, where to find db.h, etc.
-# DB_LIBRARIES, the libraries needed to use BerkeleyDB.
-# DB_FOUND, If false, do not try to use BerkeleyDB.
-# also defined, but not for general use are
-# DB_LIBRARY, where to find the BerkeleyDB library.
-
-FIND_PATH(DB_INCLUDE_DIR db.h
-/usr/local/include/db4
-/usr/local/include
-/usr/include/db4
-/usr/include
-)
-
-SET(DB_NAMES ${DB_NAMES} db)
-FIND_LIBRARY(DB_LIBRARY
- NAMES ${DB_NAMES}
- PATHS /usr/lib /usr/local/lib
- )
-
-IF (DB_LIBRARY AND DB_INCLUDE_DIR)
- SET(DB_LIBRARIES ${DB_LIBRARY})
- SET(DB_FOUND "YES")
-ELSE (DB_LIBRARY AND DB_INCLUDE_DIR)
- SET(DB_FOUND "NO")
-ENDIF (DB_LIBRARY AND DB_INCLUDE_DIR)
-
-
-IF (DB_FOUND)
- IF (NOT DB_FIND_QUIETLY)
- MESSAGE(STATUS "Found BerkeleyDB: ${DB_LIBRARIES}")
- ENDIF (NOT DB_FIND_QUIETLY)
-ELSE (DB_FOUND)
- IF (DB_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "Could not find BerkeleyDB library")
- ENDIF (DB_FIND_REQUIRED)
-ENDIF (DB_FOUND)
-
-# Deprecated declarations.
-SET (NATIVE_DB_INCLUDE_PATH ${DB_INCLUDE_DIR} )
-GET_FILENAME_COMPONENT (NATIVE_DB_LIB_PATH ${DB_LIBRARY} PATH)
-
-MARK_AS_ADVANCED(
- DB_LIBRARY
- DB_INCLUDE_DIR
- )
diff --git a/indra/cmake/FindZLIB.cmake b/indra/cmake/FindZLIB.cmake
deleted file mode 100644
index 03a7db9d6f..0000000000
--- a/indra/cmake/FindZLIB.cmake
+++ /dev/null
@@ -1,46 +0,0 @@
-# -*- cmake -*-
-
-# - Find zlib
-# Find the ZLIB includes and library
-# This module defines
-# ZLIB_INCLUDE_DIRS, where to find zlib.h, etc.
-# ZLIB_LIBRARIES, the libraries needed to use zlib.
-# ZLIB_FOUND, If false, do not try to use zlib.
-#
-# This FindZLIB is about 43 times as fast the one provided with cmake (2.8.x),
-# because it doesn't look up the version of zlib, resulting in a dramatic
-# speed up for configure (from 4 minutes 22 seconds to 6 seconds).
-#
-# Note: Since this file is only used for standalone, the windows
-# specific parts were left out.
-
-FIND_PATH(ZLIB_INCLUDE_DIR zlib.h
- NO_SYSTEM_ENVIRONMENT_PATH
- )
-
-FIND_LIBRARY(ZLIB_LIBRARY z)
-
-if (ZLIB_LIBRARY AND ZLIB_INCLUDE_DIR)
- SET(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
- SET(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
- SET(ZLIB_FOUND "YES")
-else (ZLIB_LIBRARY AND ZLIB_INCLUDE_DIR)
- SET(ZLIB_FOUND "NO")
-endif (ZLIB_LIBRARY AND ZLIB_INCLUDE_DIR)
-
-if (ZLIB_FOUND)
- if (NOT ZLIB_FIND_QUIETLY)
- message(STATUS "Found ZLIB: ${ZLIB_LIBRARIES}")
- SET(ZLIB_FIND_QUIETLY TRUE)
- endif (NOT ZLIB_FIND_QUIETLY)
-else (ZLIB_FOUND)
- if (ZLIB_FIND_REQUIRED)
- message(FATAL_ERROR "Could not find ZLIB library")
- endif (ZLIB_FIND_REQUIRED)
-endif (ZLIB_FOUND)
-
-mark_as_advanced(
- ZLIB_LIBRARY
- ZLIB_INCLUDE_DIR
- )
-
diff --git a/indra/cmake/FindZLIBNG.cmake b/indra/cmake/FindZLIBNG.cmake
new file mode 100644
index 0000000000..6e3c8cdddb
--- /dev/null
+++ b/indra/cmake/FindZLIBNG.cmake
@@ -0,0 +1,46 @@
+# -*- cmake -*-
+
+# - Find zlib-ng
+# Find the ZLIB includes and library
+# This module defines
+# ZLIBNG_INCLUDE_DIRS, where to find zlib.h, etc.
+# ZLIBNG_LIBRARIES, the libraries needed to use zlib.
+# ZLIBNG_FOUND, If false, do not try to use zlib.
+#
+# This FindZLIBNG is about 43 times as fast the one provided with cmake (2.8.x),
+# because it doesn't look up the version of zlib, resulting in a dramatic
+# speed up for configure (from 4 minutes 22 seconds to 6 seconds).
+#
+# Note: Since this file is only used for standalone, the windows
+# specific parts were left out.
+
+FIND_PATH(ZLIBNG_INCLUDE_DIR zlib.h
+ NO_SYSTEM_ENVIRONMENT_PATH
+ )
+
+FIND_LIBRARY(ZLIBNG_LIBRARY z)
+
+if (ZLIBNG_LIBRARY AND ZLIBNG_INCLUDE_DIR)
+ SET(ZLIBNG_INCLUDE_DIRS ${ZLIBNG_INCLUDE_DIR})
+ SET(ZLIBNG_LIBRARIES ${ZLIBNG_LIBRARY})
+ SET(ZLIBNG_FOUND "YES")
+else (ZLIBNG_LIBRARY AND ZLIBNG_INCLUDE_DIR)
+ SET(ZLIBNG_FOUND "NO")
+endif (ZLINGB_LIBRARY AND ZLIBNG_INCLUDE_DIR)
+
+if (ZLIBNG_FOUND)
+ if (NOT ZLIBNG_FIND_QUIETLY)
+ message(STATUS "Found ZLIBNG: ${ZLIBNG_LIBRARIES}")
+ SET(ZLIBNG_FIND_QUIETLY TRUE)
+ endif (NOT ZLIBNG_FIND_QUIETLY)
+else (ZLIBNG_FOUND)
+ if (ZLIBNG_FIND_REQUIRED)
+ message(FATAL_ERROR "Could not find ZLIBNG library")
+ endif (ZLIBNG_FIND_REQUIRED)
+endif (ZLIBNG_FOUND)
+
+mark_as_advanced(
+ ZLIBNG_LIBRARY
+ ZLIBNG_INCLUDE_DIR
+ )
+
diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake
deleted file mode 100644
index a347eb6fee..0000000000
--- a/indra/cmake/GLOD.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- cmake -*-
-include(Prebuilt)
-
-if (NOT USESYSTEMLIBS)
- use_prebuilt_binary(glod)
-endif (NOT USESYSTEMLIBS)
-
-set(GLOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)
-set(GLOD_LIBRARIES GLOD)
diff --git a/indra/cmake/JPEGEncoderBasic.cmake b/indra/cmake/JPEGEncoderBasic.cmake
new file mode 100644
index 0000000000..0d2a3231bb
--- /dev/null
+++ b/indra/cmake/JPEGEncoderBasic.cmake
@@ -0,0 +1,5 @@
+# -*- cmake -*-
+use_prebuilt_binary(jpegencoderbasic)
+
+# Main JS file
+configure_file("${AUTOBUILD_INSTALL_DIR}/js/jpeg_encoder_basic.js" "${CMAKE_SOURCE_DIR}/newview/skins/default/html/common/equirectangular/js/jpeg_encoder_basic.js" COPYONLY)
diff --git a/indra/cmake/LLAppearanceUtility.cmake b/indra/cmake/LLAppearanceUtility.cmake
index 28b49bf75f..0eb3c723d5 100644
--- a/indra/cmake/LLAppearanceUtility.cmake
+++ b/indra/cmake/LLAppearanceUtility.cmake
@@ -10,5 +10,3 @@ if (INSTALL_PROPRIETARY)
set(LLAPPEARANCEUTILITY_BIN_DIR ${CMAKE_BINARY_DIR}/llappearanceutility)
endif (LINUX)
endif (INSTALL_PROPRIETARY)
-
-
diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake
index 8900419f9b..53871791fd 100644
--- a/indra/cmake/LLCommon.cmake
+++ b/indra/cmake/LLCommon.cmake
@@ -3,12 +3,14 @@
include(APR)
include(Boost)
include(EXPAT)
-include(ZLIB)
+include(Tracy)
+include(ZLIBNG)
set(LLCOMMON_INCLUDE_DIRS
${LIBS_OPEN_DIR}/llcommon
${APRUTIL_INCLUDE_DIR}
${APR_INCLUDE_DIR}
+ ${TRACY_INCLUDE_DIR}
)
set(LLCOMMON_SYSTEM_INCLUDE_DIRS
${Boost_INCLUDE_DIRS}
@@ -30,7 +32,8 @@ else (LINUX)
${BOOST_FIBER_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
${BOOST_THREAD_LIBRARY}
- ${BOOST_SYSTEM_LIBRARY} )
+ ${BOOST_SYSTEM_LIBRARY}
+ )
endif (LINUX)
set(LLCOMMON_LINK_SHARED OFF CACHE BOOL "Build the llcommon target as a static library.")
diff --git a/indra/cmake/LLFileSystem.cmake b/indra/cmake/LLFileSystem.cmake
new file mode 100644
index 0000000000..2e6c42c30c
--- /dev/null
+++ b/indra/cmake/LLFileSystem.cmake
@@ -0,0 +1,7 @@
+# -*- cmake -*-
+
+set(LLFILESYSTEM_INCLUDE_DIRS
+ ${LIBS_OPEN_DIR}/llfilesystem
+ )
+
+set(LLFILESYSTEM_LIBRARIES llfilesystem)
diff --git a/indra/cmake/LLMeshOptimizer.cmake b/indra/cmake/LLMeshOptimizer.cmake
new file mode 100644
index 0000000000..b79944f618
--- /dev/null
+++ b/indra/cmake/LLMeshOptimizer.cmake
@@ -0,0 +1,7 @@
+# -*- cmake -*-
+
+set(LLMESHOPTIMIZER_INCLUDE_DIRS
+ ${LIBS_OPEN_DIR}/llmeshoptimizer
+ )
+
+set(LLMESHOPTIMIZER_LIBRARIES llmeshoptimizer)
diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index 93626f689f..4e34951215 100644
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -5,6 +5,7 @@ include(Prebuilt)
include(Boost)
use_prebuilt_binary(colladadom)
+use_prebuilt_binary(minizip-ng) # needed for colladadom
use_prebuilt_binary(pcre)
use_prebuilt_binary(libxml2)
@@ -22,6 +23,8 @@ if (WINDOWS)
optimized pcrecpp
debug pcred
optimized pcre
+ debug libminizip
+ optimized libminizip
${BOOST_SYSTEM_LIBRARIES}
)
elseif (DARWIN)
@@ -29,7 +32,7 @@ elseif (DARWIN)
llprimitive
debug collada14dom-d
optimized collada14dom
- minizip
+ minizip # for collada libminizip.a
xml2
pcrecpp
pcre
diff --git a/indra/cmake/LLVFS.cmake b/indra/cmake/LLVFS.cmake
deleted file mode 100644
index 0fe87cdea6..0000000000
--- a/indra/cmake/LLVFS.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- cmake -*-
-
-set(LLVFS_INCLUDE_DIRS
- ${LIBS_OPEN_DIR}/llvfs
- )
-
-set(LLVFS_LIBRARIES llvfs)
diff --git a/indra/cmake/MESHOPTIMIZER.cmake b/indra/cmake/MESHOPTIMIZER.cmake
new file mode 100644
index 0000000000..1c5b47b9bd
--- /dev/null
+++ b/indra/cmake/MESHOPTIMIZER.cmake
@@ -0,0 +1,16 @@
+# -*- cmake -*-
+
+include(Linking)
+include(Prebuilt)
+
+use_prebuilt_binary(meshoptimizer)
+
+if (WINDOWS)
+ set(MESHOPTIMIZER_LIBRARIES meshoptimizer.lib)
+elseif (LINUX)
+ set(MESHOPTIMIZER_LIBRARIES meshoptimizer.o)
+elseif (DARWIN)
+ set(MESHOPTIMIZER_LIBRARIES libmeshoptimizer.a)
+endif (WINDOWS)
+
+set(MESHOPTIMIZER_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/meshoptimizer)
diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake
index a81c9307fc..ed595f6966 100644
--- a/indra/cmake/Python.cmake
+++ b/indra/cmake/Python.cmake
@@ -6,47 +6,27 @@ if (WINDOWS)
# On Windows, explicitly avoid Cygwin Python.
find_program(PYTHON_EXECUTABLE
- NAMES python25.exe python23.exe python.exe
+ NAMES python.exe
NO_DEFAULT_PATH # added so that cmake does not find cygwin python
PATHS
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.7\\InstallPath]
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.6\\InstallPath]
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.5\\InstallPath]
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.4\\InstallPath]
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.3\\InstallPath]
- [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\2.7\\InstallPath]
- [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\2.6\\InstallPath]
- [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\2.5\\InstallPath]
- [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\2.4\\InstallPath]
- [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\2.3\\InstallPath]
- )
-elseif (EXISTS /etc/debian_version)
- # On Debian and Ubuntu, avoid Python 2.4 if possible.
-
- find_program(PYTHON_EXECUTABLE python PATHS /usr/bin)
-
- if (PYTHON_EXECUTABLE)
- set(PYTHONINTERP_FOUND ON)
- endif (PYTHON_EXECUTABLE)
-elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- # On MAC OS X be sure to search standard locations first
-
- string(REPLACE ":" ";" PATH_LIST "$ENV{PATH}")
- find_program(PYTHON_EXECUTABLE
- NAMES python python25 python24 python23
- NO_DEFAULT_PATH # Avoid searching non-standard locations first
- PATHS
- /bin
- /usr/bin
- /usr/local/bin
- ${PATH_LIST}
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.7\\InstallPath]
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.8\\InstallPath]
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.9\\InstallPath]
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.10\\InstallPath]
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.11\\InstallPath]
+ [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\3.7\\InstallPath]
+ [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\3.8\\InstallPath]
+ [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\3.9\\InstallPath]
+ [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\3.10\\InstallPath]
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.11\\InstallPath]
)
+ include(FindPythonInterp)
+else()
+ find_program(PYTHON_EXECUTABLE python3)
if (PYTHON_EXECUTABLE)
set(PYTHONINTERP_FOUND ON)
endif (PYTHON_EXECUTABLE)
-else (WINDOWS)
- include(FindPythonInterp)
endif (WINDOWS)
if (NOT PYTHON_EXECUTABLE)
diff --git a/indra/cmake/ThreeJS.cmake b/indra/cmake/ThreeJS.cmake
new file mode 100644
index 0000000000..528adcbb25
--- /dev/null
+++ b/indra/cmake/ThreeJS.cmake
@@ -0,0 +1,8 @@
+# -*- cmake -*-
+use_prebuilt_binary(threejs)
+
+# Main three.js file
+configure_file("${AUTOBUILD_INSTALL_DIR}/js/three.min.js" "${CMAKE_SOURCE_DIR}/newview/skins/default/html/common/equirectangular/js/three.min.js" COPYONLY)
+
+# Controls to move around the scene using mouse or keyboard
+configure_file("${AUTOBUILD_INSTALL_DIR}/js/OrbitControls.js" "${CMAKE_SOURCE_DIR}/newview/skins/default/html/common/equirectangular/js/OrbitControls.js" COPYONLY)
diff --git a/indra/cmake/Tracy.cmake b/indra/cmake/Tracy.cmake
new file mode 100644
index 0000000000..cfff956bcf
--- /dev/null
+++ b/indra/cmake/Tracy.cmake
@@ -0,0 +1,29 @@
+# -*- cmake -*-
+include(Prebuilt)
+
+set(USE_TRACY OFF CACHE BOOL "Use Tracy profiler.")
+
+if (USE_TRACY)
+ set(TRACY_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tracy)
+
+# See: indra/llcommon/llprofiler.h
+ add_definitions(-DLL_PROFILER_CONFIGURATION=3)
+ use_prebuilt_binary(tracy)
+
+ if (WINDOWS)
+ MESSAGE(STATUS "Including Tracy for Windows: '${TRACY_INCLUDE_DIR}'")
+ endif (WINDOWS)
+
+ if (DARWIN)
+ MESSAGE(STATUS "Including Tracy for Darwin: '${TRACY_INCLUDE_DIR}'")
+ endif (DARWIN)
+
+ if (LINUX)
+ MESSAGE(STATUS "Including Tracy for Linux: '${TRACY_INCLUDE_DIR}'")
+ endif (LINUX)
+else (USE_TRACY)
+ # Tracy.cmake should not set LLCOMMON_INCLUDE_DIRS, let LLCommon.cmake do that
+ set(TRACY_INCLUDE_DIR "")
+ set(TRACY_LIBRARY "")
+endif (USE_TRACY)
+
diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake
index c81b22e572..e72475cbc4 100644
--- a/indra/cmake/Variables.cmake
+++ b/indra/cmake/Variables.cmake
@@ -60,7 +60,7 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake)
set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries")
endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake)
set(TEMPLATE_VERIFIER_OPTIONS "" CACHE STRING "Options for scripts/template_verifier.py")
-set(TEMPLATE_VERIFIER_MASTER_URL "http://bitbucket.org/lindenlab/master-message-template/raw/tip/message_template.msg" CACHE STRING "Location of the master message template")
+set(TEMPLATE_VERIFIER_MASTER_URL "https://bitbucket.org/lindenlab/master-message-template-git/raw/master/message_template.msg" CACHE STRING "Location of the master message template")
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
diff --git a/indra/cmake/ZLIB.cmake b/indra/cmake/ZLIBNG.cmake
index 6cff0753b2..1f46a23d92 100644
--- a/indra/cmake/ZLIB.cmake
+++ b/indra/cmake/ZLIBNG.cmake
@@ -1,17 +1,17 @@
# -*- cmake -*-
-set(ZLIB_FIND_QUIETLY ON)
-set(ZLIB_FIND_REQUIRED ON)
+set(ZLIBNG_FIND_QUIETLY ON)
+set(ZLIBNG_FIND_REQUIRED ON)
include(Prebuilt)
if (USESYSTEMLIBS)
- include(FindZLIB)
+ include(FindZLIBNG)
else (USESYSTEMLIBS)
- use_prebuilt_binary(zlib)
+ use_prebuilt_binary(zlib-ng)
if (WINDOWS)
- set(ZLIB_LIBRARIES
- debug zlibd
+ set(ZLIBNG_LIBRARIES
+ debug zlib
optimized zlib)
elseif (LINUX)
#
@@ -26,10 +26,10 @@ else (USESYSTEMLIBS)
# second whole-archive load of the archive. See viewer's
# CMakeLists.txt for more information.
#
- set(ZLIB_PRELOAD_ARCHIVES -Wl,--whole-archive z -Wl,--no-whole-archive)
- set(ZLIB_LIBRARIES z)
+ set(ZLIBNG_PRELOAD_ARCHIVES -Wl,--whole-archive z -Wl,--no-whole-archive)
+ set(ZLIBNG_LIBRARIES z)
elseif (DARWIN)
- set(ZLIB_LIBRARIES z)
+ set(ZLIBNG_LIBRARIES z)
endif (WINDOWS)
- set(ZLIB_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib)
+ set(ZLIBNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib-ng)
endif (USESYSTEMLIBS)
diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py
index ec5d33f902..1e92868ae7 100755
--- a/indra/cmake/run_build_test.py
+++ b/indra/cmake/run_build_test.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""\
@file run_build_test.py
@author Nat Goodspeed
@@ -17,7 +17,7 @@ line.
Example:
-python run_build_test.py -DFOO=bar myprog somearg otherarg
+python3 run_build_test.py -DFOO=bar myprog somearg otherarg
sets environment variable FOO=bar, then runs:
myprog somearg otherarg
@@ -47,7 +47,7 @@ $/LicenseInfo$
import os
import sys
import errno
-import HTMLParser
+import html.parser
import re
import signal
import subprocess
@@ -111,10 +111,10 @@ def main(command, arguments=[], libpath=[], vars={}):
# Now handle arbitrary environment variables. The tricky part is ensuring
# that all the keys and values we try to pass are actually strings.
if vars:
- for key, value in vars.items():
+ for key, value in list(vars.items()):
# As noted a few lines above, facilitate copy-paste rerunning.
log.info("%s='%s' \\" % (key, value))
- os.environ.update(dict([(str(key), str(value)) for key, value in vars.iteritems()]))
+ os.environ.update(dict([(str(key), str(value)) for key, value in vars.items()]))
# Run the child process.
command_list = [command]
command_list.extend(arguments)
@@ -177,7 +177,7 @@ def translate_rc(rc):
try:
table = get_windows_table()
symbol, desc = table[hexrc]
- except Exception, err:
+ except Exception as err:
log.error("(%s -- carrying on)" % err)
log.error("terminated with rc %s (%s)" % (rc, hexrc))
else:
@@ -194,7 +194,7 @@ def translate_rc(rc):
strc = str(rc)
return "terminated by signal %s" % strc
-class TableParser(HTMLParser.HTMLParser):
+class TableParser(html.parser.HTMLParser):
"""
This HTMLParser subclass is designed to parse the table we know exists
in windows-rcs.html, hopefully without building in too much knowledge of
@@ -204,9 +204,7 @@ class TableParser(HTMLParser.HTMLParser):
whitespace = re.compile(r'\s*$')
def __init__(self):
- # Because Python 2.x's HTMLParser is an old-style class, we must use
- # old-style syntax to forward the __init__() call -- not super().
- HTMLParser.HTMLParser.__init__(self)
+ super().__init__()
# this will collect all the data, eventually
self.table = []
# Stack whose top (last item) indicates where to append current