summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorHiroo Ono <hiroo.ono@gmail.com>2024-09-01 21:17:05 +0900
committerHiroo Ono <hiroo.ono@gmail.com>2024-09-01 21:17:05 +0900
commitea9ff01bbc249751f7366607d796353784daaf69 (patch)
tree3051e8c5fe54404e26f9b1e683a68661a76bcbc0 /indra
parent08113620404175754e5154c90c743f3c9b1330b8 (diff)
Build and link collada-dom v2.3-r7 taken from Linden Lab's 3rd party software
repository.
Diffstat (limited to 'indra')
-rw-r--r--indra/cmake/DepsBuild.cmake17
-rw-r--r--indra/cmake/LLPrimitive.cmake8
-rw-r--r--indra/cmake/Prebuilt.cmake11
-rw-r--r--indra/llprimitive/CMakeLists.txt14
4 files changed, 20 insertions, 30 deletions
diff --git a/indra/cmake/DepsBuild.cmake b/indra/cmake/DepsBuild.cmake
deleted file mode 100644
index f4d80e9a67..0000000000
--- a/indra/cmake/DepsBuild.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-# -*- cmake -*-
-find_program(GIT git)
-
-macro( checkout_deps_repository DEPSREPO DEPSDIR DEPSTAG)
- execute_process(
- COMMAND ${GIT} "clone" ${DEPSREPO} ${DEPSDIR}
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../..
- )
- execute_process(
- COMMAND ${GIT} "checkout" ${DEPSTAG}
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../${DEPSDIR}
- )
- execute_process(
- COMMAND ${GIT} "pull"
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../${DEPSDIR}
- )
-endmacro( checkout_deps_repository )
diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index 6f14c04efc..a649765720 100644
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -19,15 +19,7 @@ if( USE_CONAN )
endif()
if(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
-if(FALSE)
- 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(FALSE)
endif(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
if( USESYSTEMLIBS )
diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake
index 8d911b339c..4034599fde 100644
--- a/indra/cmake/Prebuilt.cmake
+++ b/indra/cmake/Prebuilt.cmake
@@ -119,3 +119,14 @@ macro ( use_system_binary package )
endif()
endmacro()
+find_package(Patch)
+
+# Download the third party software archive and patch it.
+macro(prepare_thirdparty url filename dirname patch hash)
+ file(DOWNLOAD ${url} ${filename} EXPECTED_HASH SHA512=${hash})
+ file(ARCHIVE_EXTRACT INPUT ${filename}
+ DESTINATION ${CMAKE_SOURCE_DIR}/../..)
+ execute_process(COMMAND ${Patch_EXECUTABLE} "-p1" "-i"
+ ${CMAKE_SOURCE_DIR}/../patches/${patch}
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../${dirname})
+endmacro()
diff --git a/indra/llprimitive/CMakeLists.txt b/indra/llprimitive/CMakeLists.txt
index 985c15b99f..19bae2112b 100644
--- a/indra/llprimitive/CMakeLists.txt
+++ b/indra/llprimitive/CMakeLists.txt
@@ -3,7 +3,7 @@
project(llprimitive)
include(00-Common)
-include(DepsBuild)
+include(Prebuilt)
include(LLCommon)
include(LLCoreHttp)
include(LLPhysicsExtensions)
@@ -13,12 +13,16 @@ include(GLM)
include(TinyGLTF)
if(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
- checkout_deps_repository(
- "https://github.com/oikumene/3p-colladadom-test.git"
- "collada-dom" "v2.3-r7-megapahit"
+ prepare_thirdparty(
+ "https://github.com/secondlife/3p-colladadom/archive/refs/tags/v2.3-r7.tar.gz"
+ "colladadom-v2.3-r7.tar.gz"
+ "3p-colladadom-2.3-r7"
+ "collada-dom-v2.3-r7.patch"
+ "0d7a13531eb0de8c617b48af90c3b5b22c2a0b566069d1a0c36f9602dbfeb9ebab1516556e6dda34645d63354c3c6539375d7e5b8c0b36baba11312d18a3c705"
)
set(OPT_COLLADA14 TRUE)
- add_subdirectory(${CMAKE_SOURCE_DIR}/../../collada-dom "collada-dom")
+ add_subdirectory(
+ "${CMAKE_SOURCE_DIR}/../../3p-colladadom-2.3-r7" "colladadom")
target_include_directories(
ll::colladadom INTERFACE
${colladadom_SOURCE_DIR}/include