diff options
Diffstat (limited to 'indra/cmake')
-rw-r--r-- | indra/cmake/LLPrimitive.cmake | 18 | ||||
-rw-r--r-- | indra/cmake/Prebuilt.cmake | 11 |
2 files changed, 15 insertions, 14 deletions
diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 4aa46a5cf8..1e77ec3346 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -19,15 +19,11 @@ if( USE_CONAN ) endif() if( USESYSTEMLIBS ) - if( LINUX ) - 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} ) + if( LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) + # Build of the collada-dom for Linux and FreeBSD is done in + # indra/llprimitive/CMakeLists.txt return () - endif( LINUX ) + endif( LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) if ( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 ) if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4.tar.gz) file(DOWNLOAD @@ -79,12 +75,6 @@ if( USESYSTEMLIBS ) ) endif (${COLLADADOM_RESULT}) else( DARWIN ) - if( CMAKE_SYSTEM_NAME MATCHES FreeBSD ) - execute_process( - COMMAND sed -i "" -e "s/linux/FreeBSD/g" dae/daeUtils.cpp - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/src - ) - endif( CMAKE_SYSTEM_NAME MATCHES FreeBSD ) execute_process( COMMAND sed -i "" -e "s/SHARED/STATIC/g" 1.4/CMakeLists.txt WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/src 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() |