summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/CMakeLists.txt4
-rw-r--r--indra/cmake/Prebuilt.cmake25
2 files changed, 19 insertions, 10 deletions
diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt
index 5c2657ccbf..dbc9436dcf 100644
--- a/indra/CMakeLists.txt
+++ b/indra/CMakeLists.txt
@@ -14,6 +14,10 @@ if (NOT CMAKE_BUILD_TYPE)
"Build type. One of: Debug Release RelWithDebInfo" FORCE)
endif (NOT CMAKE_BUILD_TYPE)
+# For the library installation process;
+# see cmake/Prebuild.cmake for the counterpart code.
+file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/temp)
+file(WRITE ${CMAKE_BINARY_DIR}/temp/sentinel_installed "0")
add_subdirectory(cmake)
add_subdirectory(${LIBS_OPEN_PREFIX}llaudio)
diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake
index 33cdeeeed5..5eba28b66b 100644
--- a/indra/cmake/Prebuilt.cmake
+++ b/indra/cmake/Prebuilt.cmake
@@ -4,17 +4,22 @@ include(Python)
macro (use_prebuilt_binary _binary)
if (NOT STANDALONE)
- execute_process(COMMAND ${PYTHON_EXECUTABLE}
- install.py
- --install-dir=${CMAKE_SOURCE_DIR}/..
- ${_binary}
- WORKING_DIRECTORY ${SCRIPTS_DIR}
- RESULT_VARIABLE _installed
- )
- if (NOT _installed EQUAL 0)
+ if(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed)
+ execute_process(COMMAND ${PYTHON_EXECUTABLE}
+ install.py
+ --install-dir=${CMAKE_SOURCE_DIR}/..
+ ${_binary}
+ WORKING_DIRECTORY ${SCRIPTS_DIR}
+ RESULT_VARIABLE ${_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)
+ 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)
message(FATAL_ERROR
"Failed to download or unpack prebuilt '${_binary}'."
- " Process returned ${_installed}.")
- endif (NOT _installed EQUAL 0)
+ " Process returned ${${_binary}_installed}.")
+ endif (NOT ${_binary}_installed EQUAL 0)
endif (NOT STANDALONE)
endmacro (use_prebuilt_binary _binary)