Skip to content
Snippets Groups Projects
Commit ebda8f88 authored by brad kittenbrink's avatar brad kittenbrink
Browse files

Work in progress on CHOP-609. Added checking in indra/cmake/Prebuilt.cmake to...

Work in progress on CHOP-609.  Added checking in indra/cmake/Prebuilt.cmake to skip unnecessary unpacking of already installed packages.
parent a8ba89eb
No related branches found
No related tags found
No related merge requests found
...@@ -35,8 +35,10 @@ endif (NOT CMAKE_BUILD_TYPE) ...@@ -35,8 +35,10 @@ endif (NOT CMAKE_BUILD_TYPE)
# For the library installation process; # For the library installation process;
# see cmake/Prebuild.cmake for the counterpart code. # see cmake/Prebuild.cmake for the counterpart code.
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/temp) if ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${CMAKE_BINARY_DIR}/temp/sentinel_installed")
file(WRITE ${CMAKE_BINARY_DIR}/temp/sentinel_installed "0") file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/temp)
file(WRITE ${CMAKE_BINARY_DIR}/temp/sentinel_installed "0")
endif ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${CMAKE_BINARY_DIR}/temp/sentinel_installed")
add_subdirectory(cmake) add_subdirectory(cmake)
add_subdirectory(${LIBS_OPEN_PREFIX}llaudio) add_subdirectory(${LIBS_OPEN_PREFIX}llaudio)
......
# -*- cmake -*- # -*- cmake -*-
include(FindAutobuild) include(FindAutobuild)
if(INSTALL_PROPRIETARY)
include(FindSCP)
endif(INSTALL_PROPRIETARY)
# The use_prebuilt_binary macro handles automated installation of package
# dependencies using autobuild. The goal is that 'autobuild install' should
# only be run when we know we need to install a new package. This should be
# the case in a clean checkout, or if autobuild.xml has been updated since the
# last run (encapsulated by the file ${CMAKE_BINARY_DIR}/temp/sentinel_installed),
# or if a previous attempt to install the package has failed (the exit status
# of previous attempts is serialized in the file
# ${CMAKE_BINARY_DIR}/temp/${_binary}_installed)
macro (use_prebuilt_binary _binary) macro (use_prebuilt_binary _binary)
if (NOT DEFINED STANDALONE_${_binary}) if (NOT DEFINED STANDALONE_${_binary})
set(STANDALONE_${_binary} ${STANDALONE}) set(STANDALONE_${_binary} ${STANDALONE})
endif (NOT DEFINED STANDALONE_${_binary}) endif (NOT DEFINED STANDALONE_${_binary})
if (NOT STANDALONE_${_binary}) if (NOT STANDALONE_${_binary})
if(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed) if("${${_binary}_installed}" STREQUAL "" AND EXISTS "${CMAKE_BINARY_DIR}/temp/${_binary}_installed")
if(INSTALL_PROPRIETARY) file(READ ${CMAKE_BINARY_DIR}/temp/${_binary}_installed "${_binary}_installed")
include(FindSCP) if(DEBUG_PREBUILT)
endif(INSTALL_PROPRIETARY) message(STATUS "${_binary}_installed: \"${${_binary}_installed}\"")
if(DEBUG_PREBUILT) endif(DEBUG_PREBUILT)
message("cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install endif("${${_binary}_installed}" STREQUAL "" AND EXISTS "${CMAKE_BINARY_DIR}/temp/${_binary}_installed")
--install-dir=${AUTOBUILD_INSTALL_DIR}
--skip-license-check if(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0)
${_binary} ") if(DEBUG_PREBUILT)
endif(DEBUG_PREBUILT) message("cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install
execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}" --install-dir=${AUTOBUILD_INSTALL_DIR}
install --skip-license-check
--install-dir=${AUTOBUILD_INSTALL_DIR} ${_binary} ")
--skip-license-check endif(DEBUG_PREBUILT)
${_binary} execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" install
RESULT_VARIABLE ${_binary}_installed --install-dir=${AUTOBUILD_INSTALL_DIR}
) --skip-license-check
${_binary}
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
RESULT_VARIABLE ${_binary}_installed
)
file(WRITE ${CMAKE_BINARY_DIR}/temp/${_binary}_installed "${${_binary}_installed}") file(WRITE ${CMAKE_BINARY_DIR}/temp/${_binary}_installed "${${_binary}_installed}")
else(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed) endif(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0)
set(${_binary}_installed 0)
endif(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed)
if(NOT ${_binary}_installed EQUAL 0) if(NOT ${_binary}_installed EQUAL 0)
message(FATAL_ERROR message(FATAL_ERROR
"Failed to download or unpack prebuilt '${_binary}'." "Failed to download or unpack prebuilt '${_binary}'."
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment