summaryrefslogtreecommitdiff
path: root/indra/cmake
diff options
context:
space:
mode:
authorKitty Barnett <develop@catznip.com>2023-01-02 23:04:02 +0100
committerKitty Barnett <develop@catznip.com>2023-01-02 23:04:42 +0100
commit6850b915fe42f5a75fc9d8bb9ca05f961de3244a (patch)
tree0921b5e0c74a64ad65d1b5702b00142badb6140c /indra/cmake
parent89456ec88df01565e2c9a424a0097a5a02e1838c (diff)
parentf3f3c493ec2a658cf5c1aac6670c54c550e944fd (diff)
Merge branch 'master' into texture-preview
Diffstat (limited to 'indra/cmake')
-rw-r--r--indra/cmake/00-Common.cmake16
-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.txt9
-rw-r--r--indra/cmake/Copy3rdPartyLibs.cmake6
-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.cmake11
-rw-r--r--indra/cmake/LLAppearanceUtility.cmake2
-rw-r--r--indra/cmake/LLCommon.cmake7
-rw-r--r--indra/cmake/LLMeshOptimizer.cmake7
-rw-r--r--indra/cmake/LLPrimitive.cmake5
-rw-r--r--indra/cmake/MESHOPTIMIZER.cmake16
-rw-r--r--indra/cmake/Tracy.cmake29
-rw-r--r--indra/cmake/ZLIBNG.cmake (renamed from indra/cmake/ZLIB.cmake)20
17 files changed, 168 insertions, 215 deletions
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index f4071793d5..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)
@@ -66,16 +66,21 @@ 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.
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
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")
@@ -218,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 d7725670a2..4d70089737 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
FindJsonCpp.cmake
@@ -35,12 +33,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
@@ -59,6 +56,7 @@ set(cmake_SOURCE_FILES
LLKDU.cmake
LLLogin.cmake
LLMath.cmake
+ LLMeshOptimizer.cmake
LLMessage.cmake
LLPhysicsExtensions.cmake
LLPlugin.cmake
@@ -72,6 +70,7 @@ set(cmake_SOURCE_FILES
LLXML.cmake
Linking.cmake
MediaPluginBase.cmake
+ MESHOPTIMIZER.cmake
NDOF.cmake
OPENAL.cmake
OpenGL.cmake
@@ -92,7 +91,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/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 6f42b44ab8..0000000000
--- a/indra/cmake/GLOD.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- cmake -*-
-include(Prebuilt)
-
-if (NOT USESYSTEMLIBS)
- use_prebuilt_binary(glod)
-endif (NOT USESYSTEMLIBS)
-
-set(GLODLIB ON CACHE BOOL "Using GLOD library")
-
-set(GLOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)
-set(GLOD_LIBRARIES GLOD)
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/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/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/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/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)