summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/cmake/LLPrimitive.cmake74
-rw-r--r--indra/llprimitive/lldaeloader.cpp8
-rw-r--r--indra/newview/FixBundle.cmake.in6
-rw-r--r--indra/newview/FixPackage.cmake.in6
4 files changed, 70 insertions, 24 deletions
diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index 539f5c0d55..8174e8a851 100644
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -11,16 +11,6 @@ add_library( ll::minizip-ng INTERFACE IMPORTED )
add_library( ll::libxml INTERFACE IMPORTED )
add_library( ll::colladadom INTERFACE IMPORTED )
-if ( NOT (USE_AUTOBUILD_3P OR USE_CONAN) )
- include(FindPkgConfig)
- pkg_check_modules(Colladadom REQUIRED collada-dom)
- target_compile_definitions( ll::colladadom INTERFACE COLLADA_DOM_SUPPORT141 )
- target_include_directories( ll::colladadom SYSTEM INTERFACE ${Colladadom_INCLUDE_DIRS} ${Colladadom_INCLUDE_DIRS}/1.4 )
- target_link_directories( ll::colladadom INTERFACE ${Colladadom_LIBRARY_DIRS} )
- target_link_libraries( ll::colladadom INTERFACE ${Colladadom_LIBRARIES} )
- return ()
-endif ()
-
# ND, needs fixup in collada conan pkg
if( USE_CONAN )
target_include_directories( ll::colladadom SYSTEM INTERFACE
@@ -28,12 +18,76 @@ if( USE_CONAN )
"${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/1.4/" )
endif()
+if( (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0) AND USESYSTEMLIBS )
+ if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4.tar.gz)
+ file(DOWNLOAD
+ https://github.com/secondlife/3p-colladadom/archive/refs/tags/v2.3-r4.tar.gz
+ ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4.tar.gz
+ )
+ endif (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4.tar.gz)
+ file(ARCHIVE_EXTRACT
+ INPUT ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4.tar.gz
+ DESTINATION ${CMAKE_BINARY_DIR}
+ )
+ if (DARWIN)
+ try_compile(COLLADADOM_RESULT
+ PROJECT colladadom
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+ BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+ TARGET collada14dom
+ CMAKE_FLAGS
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DOPT_COLLADA14:BOOL=ON
+ -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/colladadom
+ -DCOLLADA_DOM_SOVERSION:STRING=0
+ -DCOLLADA_DOM_VERSION:STRING=2.3-r4
+ -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
+ -DZLIB_LIBRARIES:STRING=xml2
+ -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem-mt
+ -DBoost_SYSTEM_LIBRARY:STRING=boost_system-mt
+ -DEXTRA_COMPILE_FLAGS:STRING=-I/opt/local/include/minizip
+ -DBoost_CFLAGS:STRING=-I/opt/local/include
+ -DCMAKE_SHARED_LINKER_FLAGS:STRING=-L/opt/local/lib
+ -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
+ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.15
+ OUTPUT_VARIABLE colladadom_installed
+ )
+ else (DARWIN)
+ try_compile(COLLADADOM_RESULT
+ PROJECT colladadom
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+ BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+ TARGET collada14dom
+ CMAKE_FLAGS
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DOPT_COLLADA14:BOOL=ON
+ -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/colladadom
+ -DCOLLADA_DOM_SOVERSION:STRING=0
+ -DCOLLADA_DOM_VERSION:STRING=2.3-r4
+ -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
+ -DZLIB_LIBRARIES:STRING=xml2
+ OUTPUT_VARIABLE colladadom_installed
+ )
+ endif (DARWIN)
+ if (${MESHOPTIMIZER_RESULT})
+ file(
+ COPY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/dom/include
+ DESTINATION ${LIBS_PREBUILT_DIR}/include/colladadom
+ )
+ file(
+ COPY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/dom/libcollada14dom.a
+ DESTINATION ${LIBS_PREBUILT_DIR}/lib/release
+ )
+ file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "0")
+ endif (${MESHOPTIMIZER_RESULT})
+else( (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0) AND USESYSTEMLIBS )
use_system_binary( colladadom )
use_prebuilt_binary(colladadom)
use_prebuilt_binary(minizip-ng) # needed for colladadom
use_prebuilt_binary(pcre)
use_prebuilt_binary(libxml2)
+endif( (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0) AND USESYSTEMLIBS )
target_link_libraries( ll::pcre INTERFACE pcrecpp pcre )
diff --git a/indra/llprimitive/lldaeloader.cpp b/indra/llprimitive/lldaeloader.cpp
index a099a07cbd..43fb043363 100644
--- a/indra/llprimitive/lldaeloader.cpp
+++ b/indra/llprimitive/lldaeloader.cpp
@@ -941,20 +941,12 @@ bool LLDAELoader::OpenFile(const std::string& filename)
domCOLLADA* dom;
if (mPreprocessDAE)
{
-#ifdef LL_USESYSTEMLIBS
- dom = static_cast<domCOLLADA *>(dae.openFromMemory(uri_filename, preprocessDAE(filename).c_str()));
-#else
dom = dae.openFromMemory(uri_filename, preprocessDAE(filename).c_str());
-#endif
}
else
{
LL_INFOS() << "Skipping dae preprocessing" << LL_ENDL;
-#ifdef LL_USESYSTEMLIBS
- dom = static_cast<domCOLLADA *>(dae.open(uri_filename));
-#else
dom = dae.open(uri_filename);
-#endif
}
if (!dom)
diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in
index 3616d68676..0538918c9e 100644
--- a/indra/newview/FixBundle.cmake.in
+++ b/indra/newview/FixBundle.cmake.in
@@ -121,9 +121,9 @@ execute_process(
COMMAND lipo libbz2.1.0.8.dylib
-thin ${CMAKE_OSX_ARCHITECTURES}
-output libbz2.1.0.8.dylib
- COMMAND lipo libcollada-dom2.4-dp.2.4.0.dylib
+ COMMAND lipo libcollada14dom.2.3-r4.dylib
-thin ${CMAKE_OSX_ARCHITECTURES}
- -output libcollada-dom2.4-dp.2.4.0.dylib
+ -output libcollada14dom.2.3-r4.dylib
COMMAND lipo libexpat.1.9.2.dylib
-thin ${CMAKE_OSX_ARCHITECTURES}
-output libexpat.1.9.2.dylib
@@ -229,7 +229,7 @@ execute_process(
Frameworks/libbrotlicommon.1.1.0.dylib
Frameworks/libbrotlidec.1.1.0.dylib
Frameworks/libbz2.1.0.8.dylib
- Frameworks/libcollada-dom2.4-dp.2.4.0.dylib
+ Frameworks/libcollada14dom.2.3-r4.dylib
Frameworks/libexpat.1.9.2.dylib
Frameworks/libfreetype.6.dylib
Frameworks/libhunspell-1.7.0.dylib
diff --git a/indra/newview/FixPackage.cmake.in b/indra/newview/FixPackage.cmake.in
index 3ef3b5770f..9c68072b8a 100644
--- a/indra/newview/FixPackage.cmake.in
+++ b/indra/newview/FixPackage.cmake.in
@@ -121,9 +121,9 @@ execute_process(
COMMAND lipo libbz2.1.0.8.dylib
-thin ${CMAKE_OSX_ARCHITECTURES}
-output libbz2.1.0.8.dylib
- COMMAND lipo libcollada-dom2.4-dp.2.4.0.dylib
+ COMMAND lipo libcollada14dom.2.3-r4.dylib
-thin ${CMAKE_OSX_ARCHITECTURES}
- -output libcollada-dom2.4-dp.2.4.0.dylib
+ -output libcollada14dom.2.3-r4.dylib
COMMAND lipo libexpat.1.9.2.dylib
-thin ${CMAKE_OSX_ARCHITECTURES}
-output libexpat.1.9.2.dylib
@@ -229,7 +229,7 @@ execute_process(
Frameworks/libbrotlicommon.1.1.0.dylib
Frameworks/libbrotlidec.1.1.0.dylib
Frameworks/libbz2.1.0.8.dylib
- Frameworks/libcollada-dom2.4-dp.2.4.0.dylib
+ Frameworks/libcollada14dom.2.3-r4.dylib
Frameworks/libexpat.1.9.2.dylib
Frameworks/libfreetype.6.dylib
Frameworks/libhunspell-1.7.0.dylib