diff options
| -rw-r--r-- | autobuild.xml | 40 | ||||
| -rw-r--r-- | indra/cmake/APR.cmake | 12 | ||||
| -rw-r--r-- | indra/cmake/Copy3rdPartyLibs.cmake | 9 | ||||
| -rw-r--r-- | indra/cmake/DBusGlib.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/FindAutobuild.cmake | 41 | ||||
| -rw-r--r-- | indra/cmake/FreeType.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/GStreamer010Plugin.cmake | 6 | ||||
| -rw-r--r-- | indra/cmake/GooglePerfTools.cmake | 6 | ||||
| -rw-r--r-- | indra/cmake/Linking.cmake | 51 | ||||
| -rw-r--r-- | indra/cmake/MonoEmbed.cmake | 4 | ||||
| -rw-r--r-- | indra/cmake/MySQL.cmake | 6 | ||||
| -rw-r--r-- | indra/cmake/OpenGL.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/OpenSSL.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/Prebuilt.cmake | 42 | ||||
| -rw-r--r-- | indra/cmake/QuickTimePlugin.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/UI.cmake | 4 | ||||
| -rw-r--r-- | indra/cmake/Variables.cmake | 68 | ||||
| -rw-r--r-- | indra/media_plugins/webkit/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | indra/newview/viewer_manifest.py | 6 | ||||
| -rw-r--r-- | indra/test_apps/llplugintest/CMakeLists.txt | 4 | 
20 files changed, 206 insertions, 107 deletions
| diff --git a/autobuild.xml b/autobuild.xml index 24ac4b2c3a..ff56e7559a 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -853,6 +853,18 @@          <string>kdu</string>          <key>platforms</key>          <map> +          <key>darwin</key> +          <map> +            <key>archive</key> +            <map> +              <key>hash</key> +              <string>408f1375f5a4d864cfb47b36c8ab6052</string> +              <key>url</key> +              <string>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/kdu-6.4.1-darwin-20110112.tar.bz2</string> +            </map> +            <key>name</key> +            <string>darwin</string> +          </map>            <key>windows</key>            <map>              <key>archive</key> @@ -970,9 +982,9 @@              <key>archive</key>              <map>                <key>hash</key> -              <string>54e179ff85bce44b65f4f186bf4c14b1</string> +              <string>d3890220418a66607569fe406ebe24c7</string>                <key>url</key> -              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-4.6%2bcookies-darwin-20101013.tar.bz2</string> +              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-4.7.1-darwin-20110113.tar.bz2</string>              </map>              <key>name</key>              <string>darwin</string> @@ -1265,7 +1277,7 @@            </map>          </map>        </map> -      <key>vivox</key> +      <key>slvoice</key>        <map>          <key>license_file</key>          <string>LICENSES/apr_suite.txt</string> @@ -1299,6 +1311,28 @@            </map>          </map>        </map> +      <key>tut</key> +      <map> +        <key>license_file</key> +        <string>LICENSES/tut.txt</string> +        <key>name</key> +        <string>tut</string> +        <key>platforms</key> +        <map> +          <key>common</key> +          <map> +            <key>archive</key> +            <map> +              <key>hash</key> +              <string>5c6d3e606f027e78f056cb77b20f228e</string> +              <key>url</key> +              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/tut-2008-11-30-common-20101001.tar.bz2</string> +            </map> +            <key>name</key> +            <string>common</string> +          </map> +        </map> +      </map>        <key>xmlrpc-epi</key>        <map>          <key>license_file</key> diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index 180504d286..5b31b0d237 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -38,21 +38,15 @@ else (STANDALONE)        set(APR_selector     "a")        set(APRUTIL_selector "a")      endif (LLCOMMON_LINK_SHARED) -    set(APR_LIBRARIES  -      debug ${ARCH_PREBUILT_DIRS_DEBUG}/libapr-1.${APR_selector} -      optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libapr-1.${APR_selector} -      ) -    set(APRUTIL_LIBRARIES  -      debug ${ARCH_PREBUILT_DIRS_DEBUG}/libaprutil-1.${APRUTIL_selector} -      optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libaprutil-1.${APRUTIL_selector} -      ) +    set(APR_LIBRARIES libapr-1.${APR_selector}) +    set(APRUTIL_LIBRARIES libaprutil-1.${APRUTIL_selector})      set(APRICONV_LIBRARIES iconv)    else (WINDOWS)      set(APR_LIBRARIES apr-1)      set(APRUTIL_LIBRARIES aprutil-1)      set(APRICONV_LIBRARIES iconv)    endif (WINDOWS) -  set(APR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/apr-1) +  set(APR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/apr-1)    if (LINUX)      if (VIEWER) diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 176ae9787e..55a26cf9ef 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -5,6 +5,7 @@  # VisualStudio.  include(CMakeCopyIfDifferent) +include(Linking)  ###################################################################  # set up platform specific lists of files that need to be copied @@ -135,14 +136,10 @@ elseif(DARWIN)          libvivoxplatform.dylib          libvivoxsdk.dylib         ) -    # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables -    # or ARCH_PREBUILT_DIRS -    set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_debug") +    set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}")      set(debug_files         ) -    # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables -    # or ARCH_PREBUILT_DIRS -    set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release") +    set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")      set(release_files          libapr-1.0.3.7.dylib          libapr-1.dylib diff --git a/indra/cmake/DBusGlib.cmake b/indra/cmake/DBusGlib.cmake index cfc4ccd404..33c6343a93 100644 --- a/indra/cmake/DBusGlib.cmake +++ b/indra/cmake/DBusGlib.cmake @@ -10,7 +10,7 @@ elseif (LINUX)    use_prebuilt_binary(dbusglib)    set(DBUSGLIB_FOUND ON FORCE BOOL)    set(DBUSGLIB_INCLUDE_DIRS -      ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0 +      ${LIBS_PREBUILT_DIR}/include/glib-2.0        )    # We don't need to explicitly link against dbus-glib itself, because    # the viewer probes for the system's copy at runtime. diff --git a/indra/cmake/FindAutobuild.cmake b/indra/cmake/FindAutobuild.cmake new file mode 100644 index 0000000000..45db2b6ed0 --- /dev/null +++ b/indra/cmake/FindAutobuild.cmake @@ -0,0 +1,41 @@ +# -*- cmake -*- +# +# Find the autobuild tool +# +# Output variables: +# +#   AUTOBUILD_EXECUTABLE - path to autobuild or pautobuild executable + +# *TODO - if cmake was executed by autobuild, autobuild will have set the AUTOBUILD env var +# update this to check for that case + +IF (NOT AUTOBUILD_EXECUTABLE) +    IF(WIN32) +      SET(AUTOBUILD_EXE_NAMES autobuild.cmd autobuild.exe) +    ELSE(WIN32) +      SET(AUTOBUILD_EXE_NAMES autobuild) +    ENDIF(WIN32) + +    SET(AUTOBUILD_EXECUTABLE) +    FIND_PROGRAM( +      AUTOBUILD_EXECUTABLE  +      NAMES ${AUTOBUILD_EXE_NAMES} +      PATHS  +	ENV PATH +	${CMAKE_SOURCE_DIR}/..  +	${CMAKE_SOURCE_DIR}/../.. +	${CMAKE_SOURCE_DIR}/../../.. +      PATH_SUFFIXES "/autobuild/bin/" +    ) + +    IF (AUTOBUILD_EXECUTABLE) +      GET_FILENAME_COMPONENT(_autobuild_name ${AUTOBUILD_EXECUTABLE} NAME_WE) +      MESSAGE(STATUS "Using autobuild at: ${AUTOBUILD_EXECUTABLE}") +    ELSE (AUTOBUILD_EXECUTABLE) +      IF (AUTOBUILD_FIND_REQUIRED) +	MESSAGE(FATAL_ERROR "Could not find autobuild executable") +      ENDIF (AUTOBUILD_FIND_REQUIRED) +    ENDIF (AUTOBUILD_EXECUTABLE) + +    MARK_AS_ADVANCED(AUTOBUILD_EXECUTABLE) +ENDIF (NOT AUTOBUILD_EXECUTABLE) diff --git a/indra/cmake/FreeType.cmake b/indra/cmake/FreeType.cmake index 5f1aa26e89..43a9d282d0 100644 --- a/indra/cmake/FreeType.cmake +++ b/indra/cmake/FreeType.cmake @@ -9,7 +9,7 @@ else (STANDALONE)    use_prebuilt_binary(freetype)    if (LINUX)      set(FREETYPE_INCLUDE_DIRS -        ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) +        ${LIBS_PREBUILT_DIR}/include)    else (LINUX)      set(FREETYPE_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)    endif (LINUX) diff --git a/indra/cmake/GStreamer010Plugin.cmake b/indra/cmake/GStreamer010Plugin.cmake index 0ca432da18..d2d0699bcd 100644 --- a/indra/cmake/GStreamer010Plugin.cmake +++ b/indra/cmake/GStreamer010Plugin.cmake @@ -13,9 +13,9 @@ elseif (LINUX)    set(GSTREAMER010_FOUND ON FORCE BOOL)    set(GSTREAMER010_PLUGINS_BASE_FOUND ON FORCE BOOL)    set(GSTREAMER010_INCLUDE_DIRS -      ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gstreamer-0.10 -      ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0 -      ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2 +      ${LIBS_PREBUILT_DIR}/include/gstreamer-0.10 +      ${LIBS_PREBUILT_DIR}/include/glib-2.0 +      ${LIBS_PREBUILT_DIR}/include/libxml2        )    # We don't need to explicitly link against gstreamer itself, because    # LLMediaImplGStreamer probes for the system's copy at runtime. diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake index 946fc6b375..0ac67fe595 100644 --- a/indra/cmake/GooglePerfTools.cmake +++ b/indra/cmake/GooglePerfTools.cmake @@ -4,7 +4,9 @@ include(Prebuilt)  if (STANDALONE)    include(FindGooglePerfTools)  else (STANDALONE) -  use_prebuilt_binary(google) +  if(NOT DARWIN) +    use_prebuilt_binary(google) +  endif()    if (WINDOWS)      use_prebuilt_binary(google-perftools)      set(TCMALLOC_LIBRARIES  @@ -17,7 +19,7 @@ else (STANDALONE)      set(STACKTRACE_LIBRARIES stacktrace)      set(PROFILER_LIBRARIES profiler)      set(GOOGLE_PERFTOOLS_INCLUDE_DIR -        ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) +        ${LIBS_PREBUILT_DIR}/include)      set(GOOGLE_PERFTOOLS_FOUND "YES")    endif (LINUX)  endif (STANDALONE) diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index bca99caf2a..07db6ab257 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -1,32 +1,43 @@  # -*- cmake -*- +include(Variables) + +  if (NOT STANDALONE) +  set(ARCH_PREBUILT_DIRS ${AUTOBUILD_INSTALL_DIR}/lib) +  set(ARCH_PREBUILT_DIRS_RELEASE ${AUTOBUILD_INSTALL_DIR}/lib/release) +  set(ARCH_PREBUILT_DIRS_DEBUG ${AUTOBUILD_INSTALL_DIR}/lib/debug)    if (WINDOWS) -    set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib) -    set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/release) -    set(ARCH_PREBUILT_DIRS_DEBUG ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/debug) -    set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs CACHE FILEPATH "Location of staged DLLs") -    set(EXE_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs CACHE FILEPATH "Location of staged executables") +    set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs) +    set(EXE_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs)    elseif (LINUX) -    if (VIEWER) -      set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release_client) -    else (VIEWER) -      set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release) -    endif (VIEWER) -    set(ARCH_PREBUILT_DIRS_RELEASE ${ARCH_PREBUILT_DIRS}) -    set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS}) -    set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/lib CACHE FILEPATH "Location of staged .sos") -    set(EXE_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/bin CACHE FILEPATH "Location of staged executables") +    set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/lib) +    set(EXE_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/bin)    elseif (DARWIN) -    set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release) -    set(ARCH_PREBUILT_DIRS ${ARCH_PREBUILT_DIRS_RELEASE}) -    set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS_RELEASE}) -    set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs CACHE FILEPATH "Location of staged DLLs") -    set(EXE_STAGING_DIR "${CMAKE_BINARY_DIR}/sharedlibs/\$(CONFIGURATION)" CACHE FILEPATH "Location of staged executables") +    set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs) +    set(EXE_STAGING_DIR "${CMAKE_BINARY_DIR}/sharedlibs/\$(CONFIGURATION)")    endif (WINDOWS)  endif (NOT STANDALONE) -link_directories(${ARCH_PREBUILT_DIRS}) +# Autobuild packages must provide 'release' versions of libraries, but may provide versions for +# specific build types.  AUTOBUILD_LIBS_INSTALL_DIRS lists first the build type directory and then +# the 'release' directory (as a default fallback). +# *NOTE - we have to take special care to use CMAKE_CFG_INTDIR on IDE generators (like mac and +# windows) and CMAKE_BUILD_TYPE on Makefile based generators (like linux).  The reason for this is +# that CMAKE_BUILD_TYPE is essentially meaningless at configuration time for IDE generators and +# CMAKE_CFG_INTDIR is meaningless at build time for Makefile generators +if(WINDOWS OR DARWIN) +  # the cmake xcode and VS generators implicitly append ${CMAKE_CFG_INTDIR} to the library paths for us +  # fortunately both windows and darwin are case insensitive filesystems so this works. +  set(AUTOBUILD_LIBS_INSTALL_DIRS "${AUTOBUILD_INSTALL_DIR}/lib/") +else(WINDOWS OR DARWIN) +  # else block is for linux and any other makefile based generators +  string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER) +  set(AUTOBUILD_LIBS_INSTALL_DIRS ${AUTOBUILD_INSTALL_DIR}/lib/${CMAKE_BUILD_TYPE_LOWER}) +endif(WINDOWS OR DARWIN) + +list(APPEND AUTOBUILD_LIBS_INSTALL_DIRS ${ARCH_PREBUILT_DIRS_RELEASE}) +link_directories(${AUTOBUILD_LIBS_INSTALL_DIRS})  if (LINUX)    set(DL_LIBRARY dl) diff --git a/indra/cmake/MonoEmbed.cmake b/indra/cmake/MonoEmbed.cmake index 0f1f23309c..30890aed21 100644 --- a/indra/cmake/MonoEmbed.cmake +++ b/indra/cmake/MonoEmbed.cmake @@ -37,9 +37,9 @@ IF (DARWIN)  ELSE (DARWIN) -  SET(MONO_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include)   +  SET(MONO_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)      SET(GLIB_2_0_PLATFORM_INCLUDE_DIR -    ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0) +    ${LIBS_PREBUILT_DIR}/include/glib-2.0)    SET(GLIB_2_0_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/glib-2.0)    INCLUDE_DIRECTORIES( diff --git a/indra/cmake/MySQL.cmake b/indra/cmake/MySQL.cmake index e591fbc3d8..218482449d 100644 --- a/indra/cmake/MySQL.cmake +++ b/indra/cmake/MySQL.cmake @@ -7,7 +7,7 @@ use_prebuilt_binary(mysql)  if (LINUX)    if (WORD_SIZE EQUAL 32 OR DEBIAN_VERSION STREQUAL "3.1")      set(MYSQL_LIBRARIES mysqlclient) -    set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) +    set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)    else (WORD_SIZE EQUAL 32 OR DEBIAN_VERSION STREQUAL "3.1")      # Use the native MySQL library on a 64-bit system.      set(MYSQL_FIND_QUIETLY ON) @@ -16,9 +16,9 @@ if (LINUX)    endif (WORD_SIZE EQUAL 32 OR DEBIAN_VERSION STREQUAL "3.1")  elseif (WINDOWS)    set(MYSQL_LIBRARIES mysqlclient) -  set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) +  set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)  elseif (DARWIN) -  set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) +  set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)    set(MYSQL_LIBRARIES      optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libmysqlclient.a      debug ${ARCH_PREBUILT_DIRS_DEBUG}/libmysqlclient.a diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake index 6a2b6811af..661666f00d 100644 --- a/indra/cmake/OpenGL.cmake +++ b/indra/cmake/OpenGL.cmake @@ -5,5 +5,5 @@ if (NOT STANDALONE)    use_prebuilt_binary(GL)    # possible glh_linear should have its own .cmake file instead    use_prebuilt_binary(glh_linear) -  set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) +  set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)  endif (NOT STANDALONE) diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake index 81584c09ea..c692b67b49 100644 --- a/indra/cmake/OpenSSL.cmake +++ b/indra/cmake/OpenSSL.cmake @@ -13,7 +13,7 @@ else (STANDALONE)    else (WINDOWS)      set(OPENSSL_LIBRARIES ssl)    endif (WINDOWS) -  set(OPENSSL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) +  set(OPENSSL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)  endif (STANDALONE)  if (LINUX) diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index a91519278c..9b758b03f0 100644 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -1,33 +1,45 @@  # -*- cmake -*- -include(Python) -include(FindSCP) +include(FindAutobuild)  macro (use_prebuilt_binary _binary) -  if (NOT STANDALONE) +  if (NOT DEFINED STANDALONE_${_binary}) +    set(STANDALONE_${_binary} ${STANDALONE}) +  endif (NOT DEFINED STANDALONE_${_binary}) + +  if (NOT STANDALONE_${_binary})      if(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed)        if(INSTALL_PROPRIETARY)          include(FindSCP)          if(DEBUG_PREBUILT) -          message("cd ${SCRIPTS_DIR} && ${PYTHON_EXECUTABLE} install.py --install-dir=${CMAKE_SOURCE_DIR}/.. --scp=${SCP_EXECUTABLE} ${_binary}") +          message("cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install +          --install-dir=${AUTOBUILD_INSTALL_DIR} +          #--scp="${SCP_EXECUTABLE}" +          --skip-license-check +          ${_binary} ")          endif(DEBUG_PREBUILT) -        execute_process(COMMAND ${PYTHON_EXECUTABLE} -          install.py  -          --install-dir=${CMAKE_SOURCE_DIR}/.. -          --scp=${SCP_EXECUTABLE} +        execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}" +          install +          --install-dir=${AUTOBUILD_INSTALL_DIR} +          #--scp="${SCP_EXECUTABLE}" +          --skip-license-check            ${_binary} -          WORKING_DIRECTORY ${SCRIPTS_DIR} +          WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"            RESULT_VARIABLE ${_binary}_installed            )        else(INSTALL_PROPRIETARY)          if(DEBUG_PREBUILT) -          message("cd ${SCRIPTS_DIR} && ${PYTHON_EXECUTABLE} install.py --install-dir=${CMAKE_SOURCE_DIR}/.. ${_binary}") +          message("cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install +          --install-dir=${AUTOBUILD_INSTALL_DIR} +          --skip-license-check +          ${_binary} ")          endif(DEBUG_PREBUILT) -        execute_process(COMMAND ${PYTHON_EXECUTABLE} -          install.py  -          --install-dir=${CMAKE_SOURCE_DIR}/.. +        execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}" +          install +          --install-dir=${AUTOBUILD_INSTALL_DIR} +          --skip-license-check            ${_binary} -          WORKING_DIRECTORY ${SCRIPTS_DIR} +          WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"            RESULT_VARIABLE ${_binary}_installed            )        endif(INSTALL_PROPRIETARY) @@ -40,5 +52,5 @@ macro (use_prebuilt_binary _binary)                "Failed to download or unpack prebuilt '${_binary}'."                " Process returned ${${_binary}_installed}.")      endif (NOT ${_binary}_installed EQUAL 0) -  endif (NOT STANDALONE) +  endif (NOT STANDALONE_${_binary})  endmacro (use_prebuilt_binary _binary) diff --git a/indra/cmake/QuickTimePlugin.cmake b/indra/cmake/QuickTimePlugin.cmake index 02f432e3c1..012f4e20d8 100644 --- a/indra/cmake/QuickTimePlugin.cmake +++ b/indra/cmake/QuickTimePlugin.cmake @@ -33,7 +33,7 @@ elseif (WINDOWS)    endif (DEBUG_QUICKTIME_LIBRARY AND RELEASE_QUICKTIME_LIBRARY)    include_directories( -    ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/quicktime +    ${LIBS_PREBUILT_DIR}/include/quicktime      "${QUICKTIME_SDK_DIR}\\CIncludes"      )  endif (DARWIN) diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index f529f5b644..91e5258fb7 100644 --- a/indra/cmake/UI.cmake +++ b/indra/cmake/UI.cmake @@ -51,11 +51,11 @@ else (STANDALONE)    endif (LINUX)    include_directories ( -      ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include +      ${LIBS_PREBUILT_DIR}/include        ${LIBS_PREBUILT_DIR}/include        )    foreach(include ${${LL_ARCH}_INCLUDES}) -      include_directories(${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/${include}) +      include_directories(${LIBS_PREBUILT_DIR}/include/${include})    endforeach(include)  endif (STANDALONE) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 5dc0cabf03..88cfdfc0b9 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -17,6 +17,10 @@  # Relative and absolute paths to subtrees. +if(NOT DEFINED COMMON_CMAKE_DIR) +    set(COMMON_CMAKE_DIR "${CMAKE_SOURCE_DIR}/cmake") +endif(NOT DEFINED COMMON_CMAKE_DIR) +  set(LIBS_CLOSED_PREFIX)  set(LIBS_OPEN_PREFIX)  set(LIBS_SERVER_PREFIX) @@ -26,14 +30,26 @@ set(VIEWER_PREFIX)  set(INTEGRATION_TESTS_PREFIX)  set(LL_TESTS ON CACHE BOOL "Build and run unit and integration tests (disable for build timing runs to reduce variation") -set(LIBS_CLOSED_DIR ${CMAKE_SOURCE_DIR}/${LIBS_CLOSED_PREFIX}) -set(LIBS_OPEN_DIR ${CMAKE_SOURCE_DIR}/${LIBS_OPEN_PREFIX}) +if(LIBS_CLOSED_DIR) +  file(TO_CMAKE_PATH "${LIBS_CLOSED_DIR}" LIBS_CLOSED_DIR) +else(LIBS_CLOSED_DIR) +  set(LIBS_CLOSED_DIR ${CMAKE_SOURCE_DIR}/${LIBS_CLOSED_PREFIX}) +endif(LIBS_CLOSED_DIR) +if(LIBS_COMMON_DIR) +  file(TO_CMAKE_PATH "${LIBS_COMMON_DIR}" LIBS_COMMON_DIR) +else(LIBS_COMMON_DIR) +  set(LIBS_COMMON_DIR ${CMAKE_SOURCE_DIR}/${LIBS_OPEN_PREFIX}) +endif(LIBS_COMMON_DIR) +set(LIBS_OPEN_DIR ${LIBS_COMMON_DIR}) +  set(LIBS_SERVER_DIR ${CMAKE_SOURCE_DIR}/${LIBS_SERVER_PREFIX})  set(SCRIPTS_DIR ${CMAKE_SOURCE_DIR}/${SCRIPTS_PREFIX})  set(SERVER_DIR ${CMAKE_SOURCE_DIR}/${SERVER_PREFIX})  set(VIEWER_DIR ${CMAKE_SOURCE_DIR}/${VIEWER_PREFIX}) -set(LIBS_PREBUILT_DIR ${CMAKE_SOURCE_DIR}/../libraries CACHE PATH +set(AUTOBUILD_INSTALL_DIR ${CMAKE_BINARY_DIR}/packages) + +set(LIBS_PREBUILT_DIR ${AUTOBUILD_INSTALL_DIR} CACHE PATH      "Location of prebuilt libraries.")  if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) @@ -41,6 +57,10 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake)    set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries")  endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) +if (NOT CMAKE_BUILD_TYPE) +  set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING +      "Build type.  One of: Debug Release RelWithDebInfo" FORCE) +endif (NOT CMAKE_BUILD_TYPE)  if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")    set(WINDOWS ON BOOL FORCE) @@ -54,20 +74,19 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")    set(LINUX ON BOOl FORCE)    # If someone has specified a word size, use that to determine the -  # architecture.  Otherwise, let the compiler specify the word size. -  # Using uname will break under chroots and other cross arch compiles. RC +  # architecture.  Otherwise, let the architecture specify the word size.    if (WORD_SIZE EQUAL 32)      set(ARCH i686)    elseif (WORD_SIZE EQUAL 64)      set(ARCH x86_64)    else (WORD_SIZE EQUAL 32) -    if(CMAKE_SIZEOF_VOID_P MATCHES 4) -      set(ARCH i686) -      set(WORD_SIZE 32) -    else(CMAKE_SIZEOF_VOID_P MATCHES 4) -      set(ARCH x86_64) +    execute_process(COMMAND uname -m COMMAND sed s/i.86/i686/ +                    OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) +    if (ARCH STREQUAL x86_64)        set(WORD_SIZE 64) -    endif(CMAKE_SIZEOF_VOID_P MATCHES 4) +    else (ARCH STREQUAL x86_64) +      set(WORD_SIZE 32) +    endif (ARCH STREQUAL x86_64)    endif (WORD_SIZE EQUAL 32)    set(LL_ARCH ${ARCH}_linux) @@ -76,25 +95,12 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")  if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")    set(DARWIN 1) - -  # NOTE: If specifying a different SDK with CMAKE_OSX_SYSROOT at configure -  # time you should also specify CMAKE_OSX_DEPLOYMENT_TARGET explicitly, -  # otherwise CMAKE_OSX_SYSROOT will be overridden here. We can't just check -  # for it being unset, as it gets set to the system default :( - -  # Default to building against the 10.4 SDK if no deployment target is -  # specified. -  if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) -    # NOTE: setting -isysroot is NOT adequate: http://lists.apple.com/archives/Xcode-users/2007/Oct/msg00696.html -    # see http://public.kitware.com/Bug/view.php?id=9959 + poppy -    set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk) -    set(CMAKE_OSX_DEPLOYMENT_TARGET 10.4) -  endif (NOT CMAKE_OSX_DEPLOYMENT_TARGET) - -  # GCC 4.2 is incompatible with the MacOSX 10.4 SDK -  if (${CMAKE_OSX_SYSROOT} MATCHES "10.4u") -    set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "4.0") -  endif (${CMAKE_OSX_SYSROOT} MATCHES "10.4u") +   +  # To support a different SDK update these Xcode settings: +  set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5) +  set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk) +  set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "4.2") +  set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "DWARF with dSYM File")    # NOTE: To attempt an i386/PPC Universal build, add this on the configure line:    # -DCMAKE_OSX_ARCHITECTURES:STRING='i386;ppc' @@ -125,6 +131,7 @@ set(VIEWER ON CACHE BOOL "Build Second Life viewer.")  set(VIEWER_CHANNEL "LindenDeveloper" CACHE STRING "Viewer Channel Name")  set(VIEWER_LOGIN_CHANNEL ${VIEWER_CHANNEL} CACHE STRING "Fake login channel for A/B Testing") +set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside")  set(STANDALONE OFF CACHE BOOL "Do not use Linden-supplied prebuilt libraries.")  if (NOT STANDALONE AND EXISTS ${CMAKE_SOURCE_DIR}/llphysics) @@ -144,3 +151,4 @@ endif (LINUX AND SERVER AND VIEWER)  set(USE_PRECOMPILED_HEADERS ON CACHE BOOL "Enable use of precompiled header directives where supported.")  source_group("CMake Rules" FILES CMakeLists.txt) + diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt index 3b1f679540..b36291f0e8 100644 --- a/indra/media_plugins/webkit/CMakeLists.txt +++ b/indra/media_plugins/webkit/CMakeLists.txt @@ -121,8 +121,8 @@ if (DARWIN)    add_custom_command(      TARGET media_plugin_webkit POST_BUILD  #    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllqtwebkit.dylib -    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ -    DEPENDS media_plugin_webkit ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib +    COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ +    DEPENDS media_plugin_webkit ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib      )  endif (DARWIN) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 338c62b9fb..2500ae2b37 100644 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -566,7 +566,7 @@ class DarwinManifest(ViewerManifest):              self.path("Info-SecondLife.plist", dst="Info.plist")              # copy additional libs in <bundle>/Contents/MacOS/ -            self.path("../../libraries/universal-darwin/lib_release/libndofdev.dylib", dst="MacOS/libndofdev.dylib") +            self.path("../packages/lib/release/libndofdev.dylib", dst="MacOS/libndofdev.dylib")              self.path("../viewer_components/updater/scripts/darwin/update_install", "MacOS/update_install") @@ -616,7 +616,7 @@ class DarwinManifest(ViewerManifest):                  self.path("vivox-runtime/universal-darwin/libvivoxplatform.dylib", "libvivoxplatform.dylib")                  self.path("vivox-runtime/universal-darwin/SLVoice", "SLVoice") -                libdir = "../../libraries/universal-darwin/lib_release" +                libdir = "../packages/lib/release"                  dylibs = {}                  # Need to get the llcommon dll from any of the build directories as well @@ -685,7 +685,7 @@ class DarwinManifest(ViewerManifest):                  if self.prefix(src="", dst="llplugin"):                      self.path("../media_plugins/quicktime/" + self.args['configuration'] + "/media_plugin_quicktime.dylib", "media_plugin_quicktime.dylib")                      self.path("../media_plugins/webkit/" + self.args['configuration'] + "/media_plugin_webkit.dylib", "media_plugin_webkit.dylib") -                    self.path("../../libraries/universal-darwin/lib_release/libllqtwebkit.dylib", "libllqtwebkit.dylib") +                    self.path("../packages/lib/release/libllqtwebkit.dylib", "libllqtwebkit.dylib")                      self.end_prefix("llplugin") diff --git a/indra/test_apps/llplugintest/CMakeLists.txt b/indra/test_apps/llplugintest/CMakeLists.txt index b4043b0fd9..77789230aa 100644 --- a/indra/test_apps/llplugintest/CMakeLists.txt +++ b/indra/test_apps/llplugintest/CMakeLists.txt @@ -379,8 +379,8 @@ endif (DARWIN OR WINDOWS)  if (DARWIN)    add_custom_command(TARGET llmediaplugintest POST_BUILD -    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${PLUGINS_DESTINATION_DIR} -    DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib +    COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${PLUGINS_DESTINATION_DIR} +    DEPENDS ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib    )  endif (DARWIN) | 
