diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/cmake/FMOD.cmake | 6 | ||||
| -rw-r--r-- | indra/cmake/FindSCP.cmake | 38 | ||||
| -rw-r--r-- | indra/cmake/Prebuilt.cmake | 27 | ||||
| -rw-r--r-- | indra/cmake/Variables.cmake | 5 | ||||
| -rw-r--r-- | indra/cmake/ViewerMiscLibs.cmake | 4 | 
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) | 
