diff options
Diffstat (limited to 'indra/cmake')
| -rw-r--r-- | indra/cmake/00-Common.cmake | 5 | ||||
| -rw-r--r-- | indra/cmake/Boost.cmake | 110 | ||||
| -rw-r--r-- | indra/cmake/BuildPackagesInfo.cmake | 3 | ||||
| -rw-r--r-- | indra/cmake/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | indra/cmake/Copy3rdPartyLibs.cmake | 171 | ||||
| -rw-r--r-- | indra/cmake/DirectX.cmake | 48 | ||||
| -rw-r--r-- | indra/cmake/LLAddBuildTest.cmake | 5 | ||||
| -rw-r--r-- | indra/cmake/LLAppearance.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/LLCommon.cmake | 4 | ||||
| -rw-r--r-- | indra/cmake/LLCoreHttp.cmake | 2 | ||||
| -rwxr-xr-x | indra/cmake/run_build_test.py | 19 | 
11 files changed, 144 insertions, 226 deletions
| diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 03da30649a..865c057e33 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -60,7 +60,10 @@ if (WINDOWS)    # http://www.cmake.org/pipermail/cmake/2009-September/032143.html    string(REPLACE "/Zm1000" " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) -  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") +  # Without PreferredToolArchitecture=x64, as of 2020-06-26 the 32-bit +  # compiler on our TeamCity build hosts has started running out of virtual +  # memory for the precompiled header file. +  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /p:PreferredToolArchitecture=x64")    set(CMAKE_CXX_FLAGS_RELWITHDEBINFO         "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Zo" diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 180a84dbcf..06a7ab6d75 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -8,7 +8,7 @@ if (USESYSTEMLIBS)    include(FindBoost)    set(BOOST_CONTEXT_LIBRARY boost_context-mt) -  set(BOOST_COROUTINE_LIBRARY boost_coroutine-mt) +  set(BOOST_FIBER_LIBRARY boost_fiber-mt)    set(BOOST_FILESYSTEM_LIBRARY boost_filesystem-mt)    set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt)    set(BOOST_REGEX_LIBRARY boost_regex-mt) @@ -18,11 +18,15 @@ if (USESYSTEMLIBS)  else (USESYSTEMLIBS)    use_prebuilt_binary(boost)    set(Boost_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) -  set(BOOST_VERSION "1.55") + +  # As of sometime between Boost 1.67 and 1.72, Boost libraries are suffixed +  # with the address size. +  set(addrsfx "-x${ADDRESS_SIZE}")    if (WINDOWS)      if(MSVC80)        # This should be obsolete at this point +      set(BOOST_VERSION "1.55")        set(BOOST_CONTEXT_LIBRARY             optimized libboost_context-vc80-mt-${BOOST_VERSION}            debug libboost_context-vc80-mt-gd-${BOOST_VERSION}) @@ -47,80 +51,80 @@ else (USESYSTEMLIBS)      else(MSVC80)        # MSVC 10.0 config        set(BOOST_CONTEXT_LIBRARY  -          optimized libboost_context-mt -          debug libboost_context-mt-gd) -      set(BOOST_COROUTINE_LIBRARY  -          optimized libboost_coroutine-mt -          debug libboost_coroutine-mt-gd) +          optimized libboost_context-mt${addrsfx} +          debug libboost_context-mt${addrsfx}-gd) +      set(BOOST_FIBER_LIBRARY  +          optimized libboost_fiber-mt${addrsfx} +          debug libboost_fiber-mt${addrsfx}-gd)        set(BOOST_FILESYSTEM_LIBRARY  -          optimized libboost_filesystem-mt -          debug libboost_filesystem-mt-gd) +          optimized libboost_filesystem-mt${addrsfx} +          debug libboost_filesystem-mt${addrsfx}-gd)        set(BOOST_PROGRAM_OPTIONS_LIBRARY  -          optimized libboost_program_options-mt -          debug libboost_program_options-mt-gd) +          optimized libboost_program_options-mt${addrsfx} +          debug libboost_program_options-mt${addrsfx}-gd)        set(BOOST_REGEX_LIBRARY -          optimized libboost_regex-mt -          debug libboost_regex-mt-gd) +          optimized libboost_regex-mt${addrsfx} +          debug libboost_regex-mt${addrsfx}-gd)        set(BOOST_SIGNALS_LIBRARY  -          optimized libboost_signals-mt -          debug libboost_signals-mt-gd) +          optimized libboost_signals-mt${addrsfx} +          debug libboost_signals-mt${addrsfx}-gd)        set(BOOST_SYSTEM_LIBRARY  -          optimized libboost_system-mt -          debug libboost_system-mt-gd) +          optimized libboost_system-mt${addrsfx} +          debug libboost_system-mt${addrsfx}-gd)        set(BOOST_THREAD_LIBRARY  -          optimized libboost_thread-mt -          debug libboost_thread-mt-gd) +          optimized libboost_thread-mt${addrsfx} +          debug libboost_thread-mt${addrsfx}-gd)      endif (MSVC80)    elseif (LINUX)      set(BOOST_CONTEXT_LIBRARY -        optimized boost_context-mt -        debug boost_context-mt-d) -    set(BOOST_COROUTINE_LIBRARY -        optimized boost_coroutine-mt -        debug boost_coroutine-mt-d) +        optimized boost_context-mt${addrsfx} +        debug boost_context-mt${addrsfx}-d) +    set(BOOST_FIBER_LIBRARY +        optimized boost_fiber-mt${addrsfx} +        debug boost_fiber-mt${addrsfx}-d)      set(BOOST_FILESYSTEM_LIBRARY -        optimized boost_filesystem-mt -        debug boost_filesystem-mt-d) +        optimized boost_filesystem-mt${addrsfx} +        debug boost_filesystem-mt${addrsfx}-d)      set(BOOST_PROGRAM_OPTIONS_LIBRARY -        optimized boost_program_options-mt -        debug boost_program_options-mt-d) +        optimized boost_program_options-mt${addrsfx} +        debug boost_program_options-mt${addrsfx}-d)      set(BOOST_REGEX_LIBRARY -        optimized boost_regex-mt -        debug boost_regex-mt-d) +        optimized boost_regex-mt${addrsfx} +        debug boost_regex-mt${addrsfx}-d)      set(BOOST_SIGNALS_LIBRARY -        optimized boost_signals-mt -        debug boost_signals-mt-d) +        optimized boost_signals-mt${addrsfx} +        debug boost_signals-mt${addrsfx}-d)      set(BOOST_SYSTEM_LIBRARY -        optimized boost_system-mt -        debug boost_system-mt-d) +        optimized boost_system-mt${addrsfx} +        debug boost_system-mt${addrsfx}-d)      set(BOOST_THREAD_LIBRARY -        optimized boost_thread-mt -        debug boost_thread-mt-d) +        optimized boost_thread-mt${addrsfx} +        debug boost_thread-mt${addrsfx}-d)    elseif (DARWIN)      set(BOOST_CONTEXT_LIBRARY -        optimized boost_context-mt -        debug boost_context-mt-d) -    set(BOOST_COROUTINE_LIBRARY -        optimized boost_coroutine-mt -        debug boost_coroutine-mt-d) +        optimized boost_context-mt${addrsfx} +        debug boost_context-mt${addrsfx}-d) +    set(BOOST_FIBER_LIBRARY +        optimized boost_fiber-mt${addrsfx} +        debug boost_fiber-mt${addrsfx}-d)      set(BOOST_FILESYSTEM_LIBRARY -        optimized boost_filesystem-mt -        debug boost_filesystem-mt-d) +        optimized boost_filesystem-mt${addrsfx} +        debug boost_filesystem-mt${addrsfx}-d)      set(BOOST_PROGRAM_OPTIONS_LIBRARY -        optimized boost_program_options-mt -        debug boost_program_options-mt-d) +        optimized boost_program_options-mt${addrsfx} +        debug boost_program_options-mt${addrsfx}-d)      set(BOOST_REGEX_LIBRARY -        optimized boost_regex-mt -        debug boost_regex-mt-d) +        optimized boost_regex-mt${addrsfx} +        debug boost_regex-mt${addrsfx}-d)      set(BOOST_SIGNALS_LIBRARY -        optimized boost_signals-mt -        debug boost_signals-mt-d) +        optimized boost_signals-mt${addrsfx} +        debug boost_signals-mt${addrsfx}-d)      set(BOOST_SYSTEM_LIBRARY -        optimized boost_system-mt -        debug boost_system-mt-d) +        optimized boost_system-mt${addrsfx} +        debug boost_system-mt${addrsfx}-d)      set(BOOST_THREAD_LIBRARY -        optimized boost_thread-mt -        debug boost_thread-mt-d) +        optimized boost_thread-mt${addrsfx} +        debug boost_thread-mt${addrsfx}-d)    endif (WINDOWS)  endif (USESYSTEMLIBS) diff --git a/indra/cmake/BuildPackagesInfo.cmake b/indra/cmake/BuildPackagesInfo.cmake index 4314cca33d..8f8b6b2330 100644 --- a/indra/cmake/BuildPackagesInfo.cmake +++ b/indra/cmake/BuildPackagesInfo.cmake @@ -1,6 +1,7 @@  # -*- cmake -*-  # Construct the version and copyright information based on package data.  include(Python) +include(FindAutobuild)  # packages-formatter.py runs autobuild install --versions, which needs to know  # the build_directory, which (on Windows) depends on AUTOBUILD_ADDRSIZE. @@ -13,7 +14,7 @@ add_custom_command(OUTPUT packages-info.txt    DEPENDS ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py            ${CMAKE_SOURCE_DIR}/../autobuild.xml    COMMAND ${PYTHON_EXECUTABLE} -          ${CMAKE_SOURCE_DIR}/cmake/run_build_test.py -DAUTOBUILD_ADDRSIZE=${ADDRESS_SIZE} +          ${CMAKE_SOURCE_DIR}/cmake/run_build_test.py -DAUTOBUILD_ADDRSIZE=${ADDRESS_SIZE} -DAUTOBUILD=${AUTOBUILD_EXECUTABLE}            ${PYTHON_EXECUTABLE}            ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py "${VIEWER_CHANNEL}" "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}" > packages-info.txt    ) diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 3a14bf522f..a17e37cd32 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -22,7 +22,6 @@ set(cmake_SOURCE_FILES      Copy3rdPartyLibs.cmake      DBusGlib.cmake      DeploySharedLibs.cmake -    DirectX.cmake      DragDrop.cmake      EXPAT.cmake      FindAPR.cmake diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 82cd5d62e8..7f84ec146a 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -7,6 +7,21 @@  include(CMakeCopyIfDifferent)  include(Linking) +# When we copy our dependent libraries, we almost always want to copy them to +# both the Release and the RelWithDebInfo staging directories. This has +# resulted in duplicate (or worse, erroneous attempted duplicate) +# copy_if_different commands. Encapsulate that usage. +# Pass FROM_DIR, TARGETS and the files to copy. TO_DIR is implicit. +# to_staging_dirs diverges from copy_if_different in that it appends to TARGETS. +MACRO(to_staging_dirs from_dir targets) +  foreach(staging_dir +          "${SHARED_LIB_STAGING_DIR_RELEASE}" +          "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}") +    copy_if_different("${from_dir}" "${staging_dir}" out_targets ${ARGN}) +    list(APPEND "${targets}" "${out_targets}") +  endforeach() +ENDMACRO(to_staging_dirs from_dir to_dir targets) +  ###################################################################  # set up platform specific lists of files that need to be copied  ################################################################### @@ -69,95 +84,54 @@ if(WINDOWS)      #*******************************      # Copy MS C runtime dlls, required for packaging. -    # *TODO - Adapt this to support VC9      if (MSVC80) -        list(APPEND LMSVC_VER 80) -        list(APPEND LMSVC_VERDOT 8.0) +        set(MSVC_VER 80)      elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010          MESSAGE(STATUS "MSVC_VERSION ${MSVC_VERSION}")      elseif (MSVC_VERSION EQUAL 1800) # VisualStudio 2013, which is (sigh) VS 12 -        list(APPEND LMSVC_VER 120) -        list(APPEND LMSVC_VERDOT 12.0) +        set(MSVC_VER 120) +    elseif (MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920) # Visual Studio 2017 +        set(MSVC_VER 140)      else (MSVC80)          MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake")      endif (MSVC80) -    # try to copy VS2010 redist independently of system version -    # maint-7360 CP -    # list(APPEND LMSVC_VER 100) -    # list(APPEND LMSVC_VERDOT 10.0) -     -    list(LENGTH LMSVC_VER count) -    math(EXPR count "${count}-1") -    foreach(i RANGE ${count}) -        list(GET LMSVC_VER ${i} MSVC_VER) -        list(GET LMSVC_VERDOT ${i} MSVC_VERDOT) -        MESSAGE(STATUS "Copying redist libs for VC ${MSVC_VERDOT}") -        FIND_PATH(debug_msvc_redist_path NAME msvcr${MSVC_VER}d.dll -            PATHS             -            [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${MSVC_VERDOT}\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC${MSVC_VER}.DebugCRT -            [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 -            [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 -            ${MSVC_DEBUG_REDIST_PATH} -            NO_DEFAULT_PATH +    if(ADDRESS_SIZE EQUAL 32) +        # this folder contains the 32bit DLLs.. (yes really!) +        set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64") +    else(ADDRESS_SIZE EQUAL 32) +        # this folder contains the 64bit DLLs.. (yes really!) +        set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32") +    endif(ADDRESS_SIZE EQUAL 32) + +    # Having a string containing the system registry path is a start, but to +    # get CMake to actually read the registry, we must engage some other +    # operation. +    get_filename_component(registry_path "${registry_find_path}" ABSOLUTE) + +    # These are candidate DLL names. Empirically, VS versions before 2015 have +    # msvcp*.dll and msvcr*.dll. VS 2017 has msvcp*.dll and vcruntime*.dll. +    # Check each of them. +    foreach(release_msvc_file +            msvcp${MSVC_VER}.dll +            msvcr${MSVC_VER}.dll +            vcruntime${MSVC_VER}.dll              ) - -        if(EXISTS ${debug_msvc_redist_path}) -            set(debug_msvc_files -                msvcr${MSVC_VER}d.dll -                msvcp${MSVC_VER}d.dll -                ) - -            copy_if_different( -                ${debug_msvc_redist_path} -                "${SHARED_LIB_STAGING_DIR_DEBUG}" -                out_targets -                ${debug_msvc_files} -                ) -            set(third_party_targets ${third_party_targets} ${out_targets}) - -            unset(debug_msvc_redist_path CACHE) -        endif() - -        if(ADDRESS_SIZE EQUAL 32) -            # this folder contains the 32bit DLLs.. (yes really!) -            set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64") -        else(ADDRESS_SIZE EQUAL 32) -            # this folder contains the 64bit DLLs.. (yes really!) -            set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32") -        endif(ADDRESS_SIZE EQUAL 32) - -        FIND_PATH(release_msvc_redist_path NAME msvcr${MSVC_VER}.dll -            PATHS             -            ${registry_find_path} -            NO_DEFAULT_PATH -            ) - -        if(EXISTS ${release_msvc_redist_path}) -            set(release_msvc_files -                msvcr${MSVC_VER}.dll -                msvcp${MSVC_VER}.dll -                ) - -            copy_if_different( -                ${release_msvc_redist_path} -                "${SHARED_LIB_STAGING_DIR_RELEASE}" -                out_targets -                ${release_msvc_files} -                ) -            set(third_party_targets ${third_party_targets} ${out_targets}) - -            copy_if_different( -                ${release_msvc_redist_path} -                "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" -                out_targets -                ${release_msvc_files} -                ) -            set(third_party_targets ${third_party_targets} ${out_targets}) - -            unset(release_msvc_redist_path CACHE) +        if(EXISTS "${registry_path}/${release_msvc_file}") +            to_staging_dirs( +                ${registry_path} +                third_party_targets +                ${release_msvc_file}) +        else() +            # This isn't a WARNING because, as noted above, every VS version +            # we've observed has only a subset of the specified DLL names. +            MESSAGE(STATUS "Redist lib ${release_msvc_file} not found")          endif()      endforeach() +    MESSAGE(STATUS "Will copy redist files for MSVC ${MSVC_VER}:") +    foreach(target ${third_party_targets}) +        MESSAGE(STATUS "${target}") +    endforeach()  elseif(DARWIN)      set(SHARED_LIB_STAGING_DIR_DEBUG            "${SHARED_LIB_STAGING_DIR}/Debug/Resources") @@ -182,6 +156,7 @@ elseif(DARWIN)          libexception_handler.dylib          ${EXPAT_COPY}          libGLOD.dylib +        libhunspell-1.3.0.dylib          libndofdev.dylib          libnghttp2.dylib          libnghttp2.14.dylib @@ -268,52 +243,28 @@ endif(WINDOWS)  # Done building the file lists, now set up the copy commands.  ################################################################ -copy_if_different( -    ${vivox_lib_dir} -    "${SHARED_LIB_STAGING_DIR_DEBUG}" -    out_targets  -    ${vivox_libs} -    ) -set(third_party_targets ${third_party_targets} ${out_targets}) - +# Curiously, slvoice_files are only copied to SHARED_LIB_STAGING_DIR_RELEASE. +# It's unclear whether this is oversight or intentional, but anyway leave the +# single copy_if_different command rather than using to_staging_dirs.  copy_if_different(      ${slvoice_src_dir}      "${SHARED_LIB_STAGING_DIR_RELEASE}"      out_targets      ${slvoice_files}      ) -copy_if_different( -    ${vivox_lib_dir} -    "${SHARED_LIB_STAGING_DIR_RELEASE}" -    out_targets -    ${vivox_libs} -    ) - -set(third_party_targets ${third_party_targets} ${out_targets}) +list(APPEND third_party_targets ${out_targets}) -copy_if_different( +to_staging_dirs(      ${vivox_lib_dir} -    "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" -    out_targets +    third_party_targets      ${vivox_libs}      ) -set(third_party_targets ${third_party_targets} ${out_targets}) -copy_if_different( +to_staging_dirs(      ${release_src_dir} -    "${SHARED_LIB_STAGING_DIR_RELEASE}" -    out_targets -    ${release_files} -    ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -copy_if_different( -    ${release_src_dir} -    "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" -    out_targets +    third_party_targets      ${release_files}      ) -set(third_party_targets ${third_party_targets} ${out_targets})  if(NOT USESYSTEMLIBS)    add_custom_target( diff --git a/indra/cmake/DirectX.cmake b/indra/cmake/DirectX.cmake deleted file mode 100644 index 25163d0322..0000000000 --- a/indra/cmake/DirectX.cmake +++ /dev/null @@ -1,48 +0,0 @@ -# -*- cmake -*- - -if (WINDOWS) -  find_path(DIRECTX_INCLUDE_DIR dxdiag.h -            "$ENV{DXSDK_DIR}/Include" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Include" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Include" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Include" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Include" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2008)/Include" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2008)/Include" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (November 2007)/Include" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2007)/Include" -            "C:/DX90SDK/Include" -            "$ENV{PROGRAMFILES}/DX90SDK/Include" -            ) -  if (DIRECTX_INCLUDE_DIR) -    include_directories(${DIRECTX_INCLUDE_DIR}) -    if (DIRECTX_FIND_QUIETLY) -      message(STATUS "Found DirectX include: ${DIRECTX_INCLUDE_DIR}") -    endif (DIRECTX_FIND_QUIETLY) -  else (DIRECTX_INCLUDE_DIR) -    message(FATAL_ERROR "Could not find DirectX SDK Include") -  endif (DIRECTX_INCLUDE_DIR) - - -  find_path(DIRECTX_LIBRARY_DIR dxguid.lib -            "$ENV{DXSDK_DIR}/Lib/x86" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Lib/x86" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Lib/x86" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Lib/x86" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Lib/x86" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2008)/Lib/x86" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2008)/Lib/x86" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (November 2007)/Lib/x86" -            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2007)/Lib/x86" -            "C:/DX90SDK/Lib" -            "$ENV{PROGRAMFILES}/DX90SDK/Lib" -            ) -  if (DIRECTX_LIBRARY_DIR) -    if (DIRECTX_FIND_QUIETLY) -      message(STATUS "Found DirectX include: ${DIRECTX_LIBRARY_DIR}") -    endif (DIRECTX_FIND_QUIETLY) -  else (DIRECTX_LIBRARY_DIR) -    message(FATAL_ERROR "Could not find DirectX SDK Libraries") -  endif (DIRECTX_LIBRARY_DIR) - -endif (WINDOWS) diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake index b3f42c1a5e..4932e9044f 100644 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -53,7 +53,7 @@ INCLUDE(GoogleMock)      ${GOOGLEMOCK_INCLUDE_DIRS}      )    SET(alltest_LIBRARIES -    ${BOOST_COROUTINE_LIBRARY} +    ${BOOST_FIBER_LIBRARY}      ${BOOST_CONTEXT_LIBRARY}      ${BOOST_SYSTEM_LIBRARY}      ${GOOGLEMOCK_LIBRARIES} @@ -200,8 +200,9 @@ FUNCTION(LL_ADD_INTEGRATION_TEST      )    SET(libraries +    ${LEGACY_STDIO_LIBS}      ${library_dependencies} -    ${BOOST_COROUTINE_LIBRARY} +    ${BOOST_FIBER_LIBRARY}      ${BOOST_CONTEXT_LIBRARY}      ${BOOST_SYSTEM_LIBRARY}      ${GOOGLEMOCK_LIBRARIES} diff --git a/indra/cmake/LLAppearance.cmake b/indra/cmake/LLAppearance.cmake index ae265d07e3..675330ec72 100644 --- a/indra/cmake/LLAppearance.cmake +++ b/indra/cmake/LLAppearance.cmake @@ -18,7 +18,7 @@ endif (BUILD_HEADLESS)  set(LLAPPEARANCE_LIBRARIES llappearance      llmessage      llcorehttp -    ${BOOST_COROUTINE_LIBRARY} +    ${BOOST_FIBER_LIBRARY}      ${BOOST_CONTEXT_LIBRARY}      ${BOOST_SYSTEM_LIBRARY}      ) diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake index 3e29297c58..8900419f9b 100644 --- a/indra/cmake/LLCommon.cmake +++ b/indra/cmake/LLCommon.cmake @@ -19,7 +19,7 @@ if (LINUX)      # specify all libraries that llcommon uses.      # llcommon uses `clock_gettime' which is provided by librt on linux.      set(LLCOMMON_LIBRARIES llcommon  -        ${BOOST_COROUTINE_LIBRARY}  +        ${BOOST_FIBER_LIBRARY}           ${BOOST_CONTEXT_LIBRARY}           ${BOOST_THREAD_LIBRARY}           ${BOOST_SYSTEM_LIBRARY}  @@ -27,7 +27,7 @@ if (LINUX)          )  else (LINUX)      set(LLCOMMON_LIBRARIES llcommon -        ${BOOST_COROUTINE_LIBRARY}  +        ${BOOST_FIBER_LIBRARY}           ${BOOST_CONTEXT_LIBRARY}           ${BOOST_THREAD_LIBRARY}           ${BOOST_SYSTEM_LIBRARY} ) diff --git a/indra/cmake/LLCoreHttp.cmake b/indra/cmake/LLCoreHttp.cmake index 379ae207de..613453ab5d 100644 --- a/indra/cmake/LLCoreHttp.cmake +++ b/indra/cmake/LLCoreHttp.cmake @@ -12,6 +12,6 @@ set(LLCOREHTTP_INCLUDE_DIRS      )  set(LLCOREHTTP_LIBRARIES llcorehttp -    ${BOOST_COROUTINE_LIBRARY} +    ${BOOST_FIBER_LIBRARY}      ${BOOST_CONTEXT_LIBRARY}      ${BOOST_SYSTEM_LIBRARY}) diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py index 210e43b232..ec5d33f902 100755 --- a/indra/cmake/run_build_test.py +++ b/indra/cmake/run_build_test.py @@ -87,7 +87,6 @@ def main(command, arguments=[], libpath=[], vars={}):          # might not exist; instead of KeyError, just use an empty string.          dirs = os.environ.get(var, "").split(os.pathsep)          # Append the sequence in libpath -        log.info("%s += %r" % (var, libpath))          for dir in libpath:              # append system paths at the end              if dir in ('/lib', '/usr/lib'): @@ -105,16 +104,21 @@ def main(command, arguments=[], libpath=[], vars={}):          # Now rebuild the path string. This way we use a minimum of separators          # -- and we avoid adding a pointless separator when libpath is empty.          os.environ[var] = os.pathsep.join(clean_dirs) -        log.info("%s = %r" % (var, os.environ[var])) +        # This output format is intended to make it straightforward to copy +        # the variable settings and the command itself from the build output +        # and paste the whole thing at a command prompt to rerun it manually. +        log.info("%s='%s' \\" % (var, os.environ[var]))      # Now handle arbitrary environment variables. The tricky part is ensuring      # that all the keys and values we try to pass are actually strings.      if vars: -         log.info("Setting: %s" % ("\n".join(["%s=%s" % (key, value) for key, value in vars.iteritems()]))) +        for key, value in vars.items(): +            # As noted a few lines above, facilitate copy-paste rerunning. +            log.info("%s='%s' \\" % (key, value))      os.environ.update(dict([(str(key), str(value)) for key, value in vars.iteritems()]))      # Run the child process.      command_list = [command]      command_list.extend(arguments) -    log.info("Running: %s" % " ".join(command_list)) +    log.info(" ".join((("'%s'" % w) if ' ' in w else w) for w in command_list))      # Make sure we see all relevant output *before* child-process output.      sys.stdout.flush()      try: @@ -305,8 +309,11 @@ def get_windows_table():      return _windows_table -log=logging.getLogger(__name__) -logging.basicConfig() +# Use this instead of logging.basicConfig() because the latter prefixes +# every line of output with INFO:__main__:... +log=logging.getLogger() +log.setLevel(logging.INFO) +log.addHandler(logging.StreamHandler())  if __name__ == "__main__":      import argparse | 
