diff options
Diffstat (limited to 'indra/cmake')
| -rw-r--r-- | indra/cmake/Prebuilt.cmake | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index b0acae279b..2078bf29ff 100644 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -40,6 +40,37 @@ macro (use_prebuilt_binary _binary)          --install-dir=${AUTOBUILD_INSTALL_DIR}          ${_binary} ")          endif(DEBUG_PREBUILT) +        if(USESYSTEMLIBS) +            execute_process(COMMAND xmllint +                --xpath +                "//map/map/map/map/map/map/string[contains(text(),'${_binary}')][contains(text(),'common')]/text()" autobuild.xml +		WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/.. +                OUTPUT_VARIABLE package_url +                OUTPUT_STRIP_TRAILING_WHITESPACE +                ) +            if ("${package_url}" STREQUAL "") +                string(TOLOWER ${CMAKE_SYSTEM_NAME} system_name) +                execute_process(COMMAND xmllint +                    --xpath +                    "//map/map/map/map/map/map/string[contains(text(),'${_binary}')][contains(text(),'${system_name}64')]/text()" autobuild.xml +                    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/.. +                    OUTPUT_VARIABLE package_url +                    OUTPUT_STRIP_TRAILING_WHITESPACE +                    ) +            endif ("${package_url}" STREQUAL "") +            execute_process(COMMAND curl +                -L +                ${package_url} +                -o ${_binary}.tar.zst +                WORKING_DIRECTORY /tmp +                ) +            execute_process(COMMAND tar +                xf +                /tmp/${_binary}.tar.zst +                WORKING_DIRECTORY ${AUTOBUILD_INSTALL_DIR} +                RESULT_VARIABLE ${_binary}_installed +                ) +        else(USESYSTEMLIBS)          execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}"                  install                  --install-dir=${AUTOBUILD_INSTALL_DIR} @@ -47,6 +78,7 @@ macro (use_prebuilt_binary _binary)                  WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"                  RESULT_VARIABLE ${_binary}_installed                  ) +        endif(USESYSTEMLIBS)          file(WRITE ${PREBUILD_TRACKING_DIR}/${_binary}_installed "${${_binary}_installed}")      endif(${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0)  | 
