summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorJennifer Leech <jenn@lindenlab.com>2008-06-26 19:08:51 +0000
committerJennifer Leech <jenn@lindenlab.com>2008-06-26 19:08:51 +0000
commitd32c8825b63ca8dc9f1571aefea01cc89eba36e6 (patch)
tree6f888fc1110cc63b7ba46a5823eb8befd9419964 /indra
parent68edae3f801f633037cf5cee063f65abe081c912 (diff)
svn merge -r89701:90677 svn+ssh://svn/svn/linden/branches/install-dev-binaries/s3-build -> release
Diffstat (limited to 'indra')
-rw-r--r--indra/cmake/FMOD.cmake6
-rw-r--r--indra/cmake/FindSCP.cmake38
-rw-r--r--indra/cmake/Prebuilt.cmake27
-rw-r--r--indra/cmake/Variables.cmake5
-rw-r--r--indra/cmake/ViewerMiscLibs.cmake4
5 files changed, 70 insertions, 10 deletions
diff --git a/indra/cmake/FMOD.cmake b/indra/cmake/FMOD.cmake
index 258fd6bf66..fddf6447ea 100644
--- a/indra/cmake/FMOD.cmake
+++ b/indra/cmake/FMOD.cmake
@@ -1,7 +1,9 @@
# -*- cmake -*-
-include(Prebuilt)
-use_prebuilt_binary(fmod)
+if(INSTALL_PROPRIETARY)
+ include(Prebuilt)
+ use_prebuilt_binary(fmod)
+endif(INSTALL_PROPRIETARY)
find_library(FMOD_LIBRARY
NAMES fmod fmodvc fmod-3.75
diff --git a/indra/cmake/FindSCP.cmake b/indra/cmake/FindSCP.cmake
new file mode 100644
index 0000000000..ee7e487663
--- /dev/null
+++ b/indra/cmake/FindSCP.cmake
@@ -0,0 +1,38 @@
+# -*- cmake -*-
+#
+# Find the OpenSSH scp ("secure copy") or Putty pscp command.
+#
+# Input variables:
+# SCP_FIND_REQUIRED - set this if configuration should fail without scp
+#
+# Output variables:
+#
+# SCP_FOUND - set if scp was found
+# SCP_EXECUTABLE - path to scp or pscp executable
+# SCP_BATCH_FLAG - how to put scp/pscp into batch mode
+
+SET(SCP_EXECUTABLE)
+FIND_PROGRAM(SCP_EXECUTABLE NAMES scp scp.exe pscp pscp.exe)
+
+IF (SCP_EXECUTABLE)
+ SET(SCP_FOUND ON)
+ELSE (SCP_EXECUTABLE)
+ SET(SCP_FOUND OFF)
+ENDIF (SCP_EXECUTABLE)
+
+IF (SCP_FOUND)
+ GET_FILENAME_COMPONENT(_scp_name ${SCP_EXECUTABLE} NAME_WE)
+ IF (_scp_name STREQUAL scp)
+ SET(SCP_BATCH_FLAG -B)
+ ELSE (_scp_name STREQUAL scp)
+ SET(SCP_BATCH_FLAG -batch)
+ ENDIF (_scp_name STREQUAL scp)
+ELSE (SCP_FOUND)
+ IF (SCP_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find scp or pscp executable")
+ ELSE (SCP_FIND_REQUIRED)
+ MESSAGE(STATUS "Could not find scp or pscp executable")
+ ENDIF (SCP_FIND_REQUIRED)
+ENDIF (SCP_FOUND)
+
+MARK_AS_ADVANCED(SCP_EXECUTABLE SCP_FOUND SCP_BATCH_FLAG)
diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake
index 5eba28b66b..a314d05327 100644
--- a/indra/cmake/Prebuilt.cmake
+++ b/indra/cmake/Prebuilt.cmake
@@ -1,17 +1,30 @@
# -*- cmake -*-
include(Python)
+include(FindSCP)
macro (use_prebuilt_binary _binary)
if (NOT STANDALONE)
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
- )
+ if(INSTALL_PROPRIETARY)
+ include(FindSCP)
+ execute_process(COMMAND ${PYTHON_EXECUTABLE}
+ install.py
+ --install-dir=${CMAKE_SOURCE_DIR}/..
+ --scp=${SCP_EXECUTABLE}
+ ${_binary}
+ WORKING_DIRECTORY ${SCRIPTS_DIR}
+ RESULT_VARIABLE ${_binary}_installed
+ )
+ else(INSTALL_PROPRIETARY)
+ execute_process(COMMAND ${PYTHON_EXECUTABLE}
+ install.py
+ --install-dir=${CMAKE_SOURCE_DIR}/..
+ ${_binary}
+ WORKING_DIRECTORY ${SCRIPTS_DIR}
+ RESULT_VARIABLE ${_binary}_installed
+ )
+ endif(INSTALL_PROPRIETARY)
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)
diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake
index d06080c7c5..004985d603 100644
--- a/indra/cmake/Variables.cmake
+++ b/indra/cmake/Variables.cmake
@@ -34,6 +34,11 @@ set(VIEWER_DIR ${CMAKE_SOURCE_DIR}/${VIEWER_PREFIX})
set(LIBS_PREBUILT_DIR ${CMAKE_SOURCE_DIR}/../libraries CACHE PATH
"Location of prebuilt libraries.")
+if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake)
+ # We use this as a marker that you can try to use the proprietary libraries.
+ set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries")
+endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake)
+
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(WINDOWS ON BOOL FORCE)
diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake
index 7329972596..1665dd50f1 100644
--- a/indra/cmake/ViewerMiscLibs.cmake
+++ b/indra/cmake/ViewerMiscLibs.cmake
@@ -4,6 +4,8 @@ include(Prebuilt)
if (NOT STANDALONE)
use_prebuilt_binary(libstdc++)
use_prebuilt_binary(libuuid)
- use_prebuilt_binary(vivox)
+ if(INSTALL_PROPRIETARY)
+ use_prebuilt_binary(vivox)
+ endif(INSTALL_PROPRIETARY)
endif(NOT STANDALONE)