summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorPaul Oppenheim <poppy@lindenlab.com>2008-06-16 18:51:52 +0000
committerPaul Oppenheim <poppy@lindenlab.com>2008-06-16 18:51:52 +0000
commitcd21004bdae8c6e361e2d88404200ee2ae86e083 (patch)
treea7be4513eba76c6d302c7057562d209824626d9b /indra
parent916f9af25cee5d10aa5d4d432f939ebb826a6773 (diff)
for "new lib install step is too slow!" problem mailed to cmake@. Reviewed by bos and cg.
Diffstat (limited to 'indra')
-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)